diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f85dc3db..00000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.circleci/config.yml b/.circleci/config.yml index 2be54620..6b73fc14 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ version: 2.1 executors: node: docker: - - image: circleci/node:8.12.0 + - image: cimg/node:16.2.0 - image: trufflesuite/ganache-cli # environment: # FOOD: $BAR @@ -30,9 +30,6 @@ commands: - run: name: install truffle@5.1.7 globally command: sudo npm install -g --unsafe-perm=true truffle@5.1.7 - - run: - name: install repo's node modules - command: npm install - save_cache: key: *node_cache_key paths: @@ -44,16 +41,6 @@ jobs: steps: - prepare_code - run: mkdir ~/reports - - run: - name: tests - command: npm run test - environment: - MOCHA_FILE: ~/reports/results.xml - when: always - - store_test_results: - path: ~/reports - - store_artifacts: - path: ~/reports workflows: code-checks: diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 762ee251..00000000 --- a/.eslintrc +++ /dev/null @@ -1,17 +0,0 @@ -{ - "parser": "babel-eslint", - "extends": [ - "airbnb-base" - ], - "rules": { - "no-return-await": 1, - "camelcase": 1, - "no-underscore-dangle": 1, - "class-methods-use-this": 1, - "no-unused-vars": 1, - "max-len": 1, - "no-undef": 1, - "eqeqeq": 1, - "no-unused-expressions" : 0 - } -} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..4473e19e --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,26 @@ +{ + "extends": [ + "airbnb-base" + ], + + "globals": { + "window": true + }, + + "parser": "@babel/eslint-parser", + + "root": true, + + "rules": { + "camelcase": 0, + "max-len": ["warn", 120, 2, { + "ignoreUrls": true, + "ignoreComments": false, + "ignoreRegExpLiterals": true, + "ignoreStrings": true, + "ignoreTemplateLiterals": true + }], + "no-prototype-builtins": 0, + "no-underscore-dangle": 0 + } +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b5b64b3..3949a9b2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [8.12.0] + node-version: [14.17.0] steps: - uses: actions/checkout@v1 - name: Install Node.js ${{ matrix.node-version }} diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..73f28a9b --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,30 @@ +name: GitHub pages + +on: + push: + branches: + - master + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Fool GH Pages? + run: mkdir docs + + - name: Build + uses: andstor/jsdoc-action@v1 + with: + source_dir: ./src + recurse: true + config_file: docs-src/jsdoc.json + template: better-docs + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} + publish_dir: ./docs diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml new file mode 100644 index 00000000..9bede9ca --- /dev/null +++ b/.github/workflows/publish-package.yml @@ -0,0 +1,24 @@ +name: Publish Package + +on: + release: + types: + - created + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - uses: actions/setup-node@v1 + with: + node-version: 8 + + - name: build + run: npm run build + + - uses: JS-DevTools/npm-publish@v1 + with: + token: ${{ secrets.NPM_TOKEN }} + diff --git a/.gitignore b/.gitignore index 7ad1e80e..612d3b3c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,10 @@ -node_modules -/node_modules +node_modules/ .env package-lock.json .idea +xunit.xml +build/ +/docs +.DS_Store + +/built diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..e4743093 --- /dev/null +++ b/.npmignore @@ -0,0 +1,9 @@ +node_modules +/node_modules +.env +.circleci/ +.github/ +_book/ +docs/ +.idea + diff --git a/.nvmrc b/.nvmrc index 368fe859..cab13a79 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v8.12.0 +v14.17.0 diff --git a/Dockerfile b/Dockerfile index 751a49dc..26be0cea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,7 +17,7 @@ RUN apt-get update && apt-get install -y -q --no-install-recommends \ && rm -rf /var/lib/apt/lists/* ENV NVM_DIR /usr/local/nvm -ENV NODE_VERSION 8.12.0 +ENV NODE_VERSION 14.17.0 # Install nvm with node and npm RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.24.1/install.sh | bash \ diff --git a/README.md b/README.md index 450fe011..896ce2aa 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,14 @@ - - -![alt tag](https://uploads-ssl.webflow.com/5fc917a7914bf7aa30cae033/5ff4e84c73f45881c8b9cd85_Logo-purple-dark-background-p-500.png) -========= +# ![alt tag](https://uploads-ssl.webflow.com/5fc917a7914bf7aa30cae033/5ff4e84c73f45881c8b9cd85_Logo-purple-dark-background-p-500.png) ![Python](https://img.shields.io/badge/python-v2.7+-blue.svg) -![Build Status](https://github.com/bepronetwork/bepro-js/actions/workflows/build.yml/badge.svg -) +![Build Status](https://github.com/bepronetwork/bepro-js/actions/workflows/build.yml/badge.svg) ![Dependencies](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg) [![GitHub issues](https://img.shields.io/github/issues/bepronetwork/bepro-js.svg)](https://GitHub.com/bepronetwork/bepro-js/issues/) ![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) - ## Introductions + Build the future of DeFi Gaming ## Installation @@ -27,6 +23,7 @@ $ npm i bepro-js Before try to install, make sure your working directory has `Python 2` and the recommended `NVM` version setted on. To do, so: 1. Setting of Python 2: + ```bash // Install it via bash terminal globally $ sudo apt install python2 @@ -53,12 +50,13 @@ $ npm config set python python ``` 2. Setting of Node: + ```bash // Install NVM recommended version for bepro-js -$ nvm install 8.12.0 +$ nvm install 14.17.0 // Set it on the working directory -$ nvm alias default v8.12.0 +$ nvm alias default v14.17.0 // Use the settled as default $ nvm use default @@ -81,20 +79,21 @@ Now, your work directory is able to install and run bepro-js. sudo curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh ``` -**Notice**:If you already have Docker installed, this script can cause trouble. If you installed the current Docker package using this script and are using it again to update Docker. Or use official installation instructions: [Mac](https://docs.docker.com/docker-for-mac/install/), [Windows](https://docs.docker.com/docker-for-windows/install/), [Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/), [Other](https://docs.docker.com/install/#supported-platforms). +**Notice**: If you already have Docker installed, this script can cause trouble. If you installed the current Docker package using this script and are using it again to update Docker. Or use official installation instructions: [Mac](https://docs.docker.com/docker-for-mac/install/), [Windows](https://docs.docker.com/docker-for-windows/install/), [Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/), [Other](https://docs.docker.com/install/#supported-platforms). ##### Docker Compose: For linux: + ```shell script sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose ``` + For Mac or Windows take a look on: [official guides](https://docs.docker.com/compose/install/#install-compose). ### Running containers -You can use docker-compose directly, or the nifty ``make`` that comes bundled. - +You can use docker-compose directly, or the nifty `make` that comes bundled. #### Build images @@ -102,7 +101,7 @@ You can use docker-compose directly, or the nifty ``make`` that comes bundled. make build ``` -#### Starting containers in background: +#### Starting containers in background: ```shell script make up @@ -132,39 +131,123 @@ make down docker-compose up ``` +## Documentation + +Full API docs can be found at https://bepronetwork.github.io/bepro-js/ ## Usage -https://bepronetwork.github.io/bepro-js/ +### Initialization -```javascript +#### Via WEB3_LINK from any Web3 Provider -/* Note : WEB3_LINK should be get from Infura/Quicknode or any other Web3 Provider - ETH, BSC, Moonbeam and others are supported */ +Note: `WEB3_LINK` should be get from Infura/Quicknode or any other Web3 Provider - ETH, BSC, Moonbeam and others are supported + +```javascript +import { + Application, DexStorage, ERC20Contract, StakingContract, + ERC20TokenLock, ERC721Collectibles, ERC721Standard +} from 'bepro-js'; + +/* 1.1 - Instantiate the App for Metamask functionality (MAINNET) */ +let app = new Application({ + opt: { web3Connection: 'WEB3_LINK' }, +}); + +/* 1.2 - Instantiate StakingContract Object or any other in a similar way (Staking, ERC20 etc..) */ +// - MAINNET +let staking = new StakingContract({ + contractAddress: null, /* Contract Address (optional) */ + opt: { web3Connection: 'WEB3_LINK' }, +}); + +// - TEST net e.g. Rinkeby +let stakingTest = new StakingContract({ + test: true, + contractAddress: null, /* Contract Address (optional) */ +}); + +/* 2 - Connect the App/Contract to the Metamask Web3 Injected wallet*/ +await app.login(); +await staking.login(); +/* or instantiate with the provided web3Connection, for tests it was already done at object creation */ +await app.start(); +await staking.start(); +``` -import moment from 'moment'; -import { Application } from 'bepro-js'; +#### Via leveraged Web3 Provider -/* 1 - Instantiate the App with the Infura/Web3 Connection */ -let app = new Application({opt : {web3Connection : 'WEB3_LINK'}}); +Application can be initialized with a web3 provider directly, but all connection login is assumed to be on the consumer side in this case; i.e. no need to call start() or login(), that logic should be handled separately within the provider itself or by the consumer. -/* 2 - Connect the App to the Metamask Web3 Injected wallet*/ -await app.login(); -/* or instantiate with the provided web3Connection */ -await app.start() +```javascript +// Use Metamask's provider, could be any other compatible Web3 Provider object from any other lib +let app = new Application({ opt: { provider: window.ethereum } }); +``` -/* 3 - Generate a Object (Staking, ERC20 etc..) */ -let staking = app.getStakingContract({contractAddress : /* Contract Address (optional) */}); +### Asserting and Deploying contracts +```javascript /* 4 - Assert all object data */ await staking.__assert(); +await stakingTest.__assert(); /* or deploy the contract*/ await staking.deploy(); +await stakingTest.deploy(); +``` +### Accessing methods + +```javascript /* 5 - Access other Methods */ await staking.availableTokens(); +await stakingTest.availableTokens(); +``` + +### Gas Fees + +Transaction fees are automatically calculated via web3's own estimation methods. + +In order to overestimate and avoid out-of-gas transaction errors if necessary, we can pass a second argument with certain parameters to most Contract methods that involve `send` transactions (those requiring gas): +```javascript +staking.subscribeProduct( + { address, product_id, amount }, + { + gasAmount: 201654, // override the estimated gas fee for this method + gasFactor: 1.2, // applied to every calculated or given gas amount, including the gasAmount from this object if passed + gasPrice: '5000000000', // override the network's default gas price + }, +); +``` + +In particular, `gasFactor` is a parameter that can be passed when instantiating the contract, so that gas estimations for every method called on that contract instance will have that factor applied: + +```javascript +let staking = new StakingContract({ + contractAddress, + gasFactor: 1.25 // default 1 + opt: { provider }, +}); + +// The following will have a gasFactor of 1.25 +staking.subscribeProduct({ address, product_id, amount }); + +// We can still override it per-method, and pass other parameters as well. +staking.subscribeProduct( + { address, product_id, amount }, + { + gasAmount: 201654, + gasFactor: 1.2, + }, +); ``` + +Estimated gas fees leverage the following web3 functionalities: +- [chain's getGasPrice()](https://web3js.readthedocs.io/en/v1.2.11/web3-eth.html#getgasprice) +- [contract method's estimateGas()](https://web3js.readthedocs.io/en/v1.2.11/web3-eth-contract.html?highlight=estimateGas#methods-mymethod-estimategas) + ## Contribution + Contributions are welcomed but we ask to red existing code guidelines, specially the code format. Please review [Contributor guidelines][1] ## License diff --git a/babel.config.json b/babel.config.json new file mode 100644 index 00000000..1d677473 --- /dev/null +++ b/babel.config.json @@ -0,0 +1,30 @@ +{ + "presets": [ + "@babel/preset-env" + ], + "plugins": [ + [ + "@babel/plugin-transform-runtime", + { + "corejs": 3 + } + ], + "transform-remove-console", + "@babel/plugin-syntax-dynamic-import", + "@babel/plugin-syntax-import-meta", + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-json-strings", + [ + "@babel/plugin-proposal-decorators", + { + "legacy": true + } + ], + "@babel/plugin-proposal-function-sent", + "@babel/plugin-proposal-export-namespace-from", + "@babel/plugin-proposal-numeric-separator", + "@babel/plugin-proposal-throw-expressions" + ], + "sourceMaps": true, + "retainLines": true +} diff --git a/build/Application.js b/build/Application.js deleted file mode 100644 index 0920d77d..00000000 --- a/build/Application.js +++ /dev/null @@ -1,423 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _freeze = require('babel-runtime/core-js/object/freeze');var _freeze2 = _interopRequireDefault(_freeze); - -var _web = require('web3');var _web2 = _interopRequireDefault(_web); -var _index = require('./models/index'); - - - - - - - - - - -var _Account = require('./utils/Account');var _Account2 = _interopRequireDefault(_Account);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b'; -// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too -/* global window */ /* eslint-disable max-len */var ETH_URL_LOCAL_TEST = 'http://localhost:8545'; -var TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; -// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7'; - -var networksEnum = (0, _freeze2.default)({ - 1: 'Ethereum Main', - 2: 'Morden', - 3: 'Ropsten', - 4: 'Rinkeby', - 56: 'BSC Main', - 97: 'BSC Test', - 42: 'Kovan' }); - - -/** - * Application Object - * @class Application - * @param {Object} params Parameters - * @param {Bool} params.test Automated Tests / Default : False - * @param {Bool} params.localtest Ganache Local Blockchain / Default : False - * @param {Object} params.opt Optional Chain Connection Object (Default ETH) - * @param {String} params.opt.web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545) - * @param {String} params.opt.privateKey Private key (0x....) used for server side use - */var -Application = -function Application(_ref) - - - - - - -{var _this = this;var _ref$test = _ref.test,test = _ref$test === undefined ? false : _ref$test,_ref$localtest = _ref.localtest,localtest = _ref$localtest === undefined ? false : _ref$localtest,_ref$opt = _ref.opt,opt = _ref$opt === undefined ? { web3Connection: ETH_URL_TESTNET, privateKey: TEST_PRIVATE_KEY } : _ref$opt;(0, _classCallCheck3.default)(this, Application);this. - - - - - - - - - - - - - - - - - - - - - - start = function () { - if (_this.localtest) { - _this.web3 = new _web2.default( - new _web2.default.providers.HttpProvider(ETH_URL_LOCAL_TEST), - // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks - null, - { transactionConfirmationBlocks: 1 }); - - } else if (_this.opt.web3Connection.toLowerCase().includes('http')) { - _this.web3 = new _web2.default(new _web2.default.providers.HttpProvider(_this.opt.web3Connection)); - } else { - _this.web3 = new _web2.default(new _web2.default.providers.WebsocketProvider(_this.opt.web3Connection)); - } - - - if (typeof window !== 'undefined') { - window.web3 = _this.web3; - } else if (!_this.test) { - throw new Error( - 'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet'); - - } - };this. - - - - - - login = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.prev = 0;if (!( - - typeof window === 'undefined')) {_context.next = 3;break;}return _context.abrupt('return', - false);case 3:if (! - - window.ethereum) {_context.next = 9;break;} - window.web3 = new _web2.default(window.ethereum); - _this.web3 = window.web3;_context.next = 8;return ( - window.ethereum.enable());case 8:return _context.abrupt('return', - true);case 9:return _context.abrupt('return', - - false);case 12:_context.prev = 12;_context.t0 = _context['catch'](0);throw _context.t0;case 15:case 'end':return _context.stop();}}}, _callee, _this, [[0, 12]]);}));this. - - - - - - - - - - - - - getExchangeContract = function () {var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref3$contractAddress = _ref3.contractAddress,contractAddress = _ref3$contractAddress === undefined ? null : _ref3$contractAddress; - try { - return new _index.ExchangeContract({ - web3: _this.web3, - contractAddress: contractAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - - getOpenRealFvrContract = function () - - - {var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref4$contractAddress = _ref4.contractAddress,contractAddress = _ref4$contractAddress === undefined ? null : _ref4$contractAddress,_ref4$tokenAddress = _ref4.tokenAddress,tokenAddress = _ref4$tokenAddress === undefined ? null : _ref4$tokenAddress; - try { - return new _index.OpenerRealFvr({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - - getMarketplaceRealFvrContract = function () - - {var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref5$contractAddress = _ref5.contractAddress,contractAddress = _ref5$contractAddress === undefined ? null : _ref5$contractAddress; - try { - return new _index.MarketplaceRealFvr({ - web3: _this.web3, - contractAddress: contractAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - - getStakingContract = function () - - - {var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref6$contractAddress = _ref6.contractAddress,contractAddress = _ref6$contractAddress === undefined ? null : _ref6$contractAddress,_ref6$tokenAddress = _ref6.tokenAddress,tokenAddress = _ref6$tokenAddress === undefined ? null : _ref6$tokenAddress; - try { - return new _index.StakingContract({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - - getERC20TokenLock = function () - - - {var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref7$contractAddress = _ref7.contractAddress,contractAddress = _ref7$contractAddress === undefined ? null : _ref7$contractAddress,_ref7$tokenAddress = _ref7.tokenAddress,tokenAddress = _ref7$tokenAddress === undefined ? null : _ref7$tokenAddress; - try { - return new _index.ERC20TokenLock({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getBEPRONetwork = function () - - - {var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref8$contractAddress = _ref8.contractAddress,contractAddress = _ref8$contractAddress === undefined ? null : _ref8$contractAddress,_ref8$tokenAddress = _ref8.tokenAddress,tokenAddress = _ref8$tokenAddress === undefined ? null : _ref8$tokenAddress; - try { - return new _index.BEPRONetwork({ - web3: _this.web3, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getERC721Collectibles = function () {var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},_ref9$contractAddress = _ref9.contractAddress,contractAddress = _ref9$contractAddress === undefined ? null : _ref9$contractAddress; - try { - return new _index.ERC721Collectibles({ - web3: _this.web3, - contractAddress: contractAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getERC20Contract = function (_ref10) {var _ref10$contractAddres = _ref10.contractAddress,contractAddress = _ref10$contractAddres === undefined ? null : _ref10$contractAddres; - try { - return new _index.ERC20Contract({ - web3: _this.web3, - contractAddress: contractAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - getERC721Contract = function (_ref11) {var _ref11$contractAddres = _ref11.contractAddress,contractAddress = _ref11$contractAddres === undefined ? null : _ref11$contractAddres; - try { - return new _index.ERC721Contract({ - web3: _this.web3, - contractAddress: contractAddress, - acc: _this.test && !_this.localtest ? _this.account : null }); - - } catch (err) { - throw err; - } - };this. - - - - - - - - - - - getETHNetwork = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {var netId, networkName;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - _this.web3.eth.net.getId());case 2:netId = _context2.sent; - // eslint-disable-next-line no-prototype-builtins - networkName = networksEnum.hasOwnProperty(netId) ? - networksEnum[netId] : - 'Unknown';return _context2.abrupt('return', - networkName);case 5:case 'end':return _context2.stop();}}}, _callee2, _this);}));this. - - - - - - - - getAddress = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {var accounts;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - _this.web3.eth.getAccounts());case 2:accounts = _context3.sent;return _context3.abrupt('return', - accounts[0]);case 4:case 'end':return _context3.stop();}}}, _callee3, _this);}));this. - - - - - - - - getETHBalance = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {var wei;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.t0 = - _this.web3.eth;_context4.next = 3;return _this.getAddress();case 3:_context4.t1 = _context4.sent;_context4.next = 6;return _context4.t0.getBalance.call(_context4.t0, _context4.t1);case 6:wei = _context4.sent;return _context4.abrupt('return', - _this.web3.utils.fromWei(wei, 'ether'));case 8:case 'end':return _context4.stop();}}}, _callee4, _this);}));this.test = test;this.localtest = localtest;this.opt = opt;if (this.test) {this.start();this.login();if (!this.localtest) {this.account = new _Account2.default(this.web3, this.web3.eth.accounts.privateKeyToAccount(opt.privateKey));console.log('My address: ' + this.account.getAddress());} // /this.account = new Account(this.web3, this.web3.eth.accounts.privateKeyToAccount(LOCAL_TEST_PRIVATE_KEY)); - }} /** - * @function - * @description Connect to Web3 injected in the constructor - */ /** - * @function - * @description Login with Metamask/Web3 Wallet - substitutes start() - */ /** - * @function - * @description Create a Exchange Contract - * @param {Object} params - * @param {Address} params.ContractAddress (Opt) If it is deployed - * @return {ExchangeContract} ExchangeContract - */ /** - * @function - * @description Create a OpenerRealFvr Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {OpenerRealFvr} OpenerRealFvr - */ /** - * @function - * @description Create a MarketplaceRealFvr Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {MarketplaceRealFvr} MarketplaceRealFvr - */ /** - * @function - * @description Create a StakingContract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {StakingContract} StakingContract - */ /** - * @function - * @description Create a ERC20TokenLock Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {ERC20TokenLock} ERC20TokenLock - */ /** - * @function - * @description Create a BEPRONetwork Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {BEPRONetwork} BEPRONetwork - */ /** - * @function - * @description Create a ERC721Collectibles Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC721Collectibles} ERC721Collectibles - */ /** - * @function - * @description Create a ERC20Contract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC20Contract} ERC20Contract - */ /** - * @function - * @description Create a ERC721Contract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC721Contract} ERC721Contract - */ /** ***** */ /** UTILS */ /** ***** */ /** - * @function - * @description Get ETH Network - * @return {String} Network Name (Ex : Kovan) - */ /** - * @function - * @description Get Address connected via login() - * @return {Address} Address in Use - */ /** - * @function - * @description Get ETH Balance of Address connected via login() - * @return {Integer} ETH Balance - */;exports.default = Application; \ No newline at end of file diff --git a/build/Web3Connection.js b/build/Web3Connection.js deleted file mode 100644 index 68260a03..00000000 --- a/build/Web3Connection.js +++ /dev/null @@ -1,162 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _freeze = require('babel-runtime/core-js/object/freeze');var _freeze2 = _interopRequireDefault(_freeze);var _web = require('web3');var _web2 = _interopRequireDefault(_web); -var _Account = require('./utils/Account');var _Account2 = _interopRequireDefault(_Account);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b'; -// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too -var ETH_URL_LOCAL_TEST = 'http://localhost:8545'; -var TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; -// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7'; - -var networksEnum = (0, _freeze2.default)({ - 1: 'Ethereum Main', - 2: 'Morden', - 3: 'Ropsten', - 4: 'Rinkeby', - 56: 'BSC Main', - 97: 'BSC Test', - 42: 'Kovan' }); - - -/** - * @typedef {Object} Web3Connection~Optional - * @property {string} web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545) - * @property {string} privateKey Private key (0x....) used for server side use - */ - -/** - * @typedef {Object} Web3Connection~Options - * @property {boolean} [test=false] Automated Tests - * @property {boolean} [localtest=false] Ganache Local Blockchain - * @property {Web3Connection~Optional} [opt] Optional Chain Connection Object (Default ETH) - */ - -/** - * Web3Connection Object - * @class Web3Connection - * @param {Web3Connection~Options} options - */var -Web3Connection = function () { - function Web3Connection(_ref) - - - - {var _ref$test = _ref.test,test = _ref$test === undefined ? false : _ref$test,_ref$localtest = _ref.localtest,localtest = _ref$localtest === undefined ? false : _ref$localtest,_ref$opt = _ref.opt,opt = _ref$opt === undefined ? { web3Connection: ETH_URL_TESTNET, privateKey: TEST_PRIVATE_KEY } : _ref$opt;(0, _classCallCheck3.default)(this, Web3Connection); - this.test = test; - this.localtest = localtest; - this.opt = opt; - if (this.test) { - this.start(); - this.login(); - if (!this.localtest) { - this.account = new _Account2.default( - this.web3, - this.web3.eth.accounts.privateKeyToAccount(opt.privateKey)); - - } - } - } - - /** **** */ - /** * CORE */ - /** **** */ - - /** - * Connect to Web3 injected in the constructor - * @function - * @throws {Error} Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet - * @void - */(0, _createClass3.default)(Web3Connection, [{ key: 'start', value: function start() - { - if (this.localtest) { - this.web3 = new _web2.default( - new _web2.default.providers.HttpProvider(ETH_URL_LOCAL_TEST), - // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks - null, - { transactionConfirmationBlocks: 1 }); - - } else if (this.opt.web3Connection.toLowerCase().includes('http')) { - this.web3 = new _web2.default(new _web2.default.providers.HttpProvider(this.opt.web3Connection)); - } else { - this.web3 = new _web2.default(new _web2.default.providers.WebsocketProvider(this.opt.web3Connection)); - } - - if (!this.localtest && this.test) { - this.account = new _Account2.default( - this.web3, - this.web3.eth.accounts.privateKeyToAccount(this.opt.privateKey)); - - } - - if (typeof window !== 'undefined') { - window.web3 = this.web3; - } else if (!this.test) { - throw new Error( - 'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet'); - - } - } - - /** - * Login with Metamask/Web3 Wallet - substitutes start() - * @function - * @return {Promise} - */ }, { key: 'login', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.prev = 0;if (!( - - - typeof window === 'undefined')) {_context.next = 3;break;}return _context.abrupt('return', - false);case 3:if (! - - window.ethereum) {_context.next = 9;break;} - window.web3 = new _web2.default(window.ethereum); - this.web3 = window.web3;_context.next = 8;return ( - window.ethereum.enable());case 8:return _context.abrupt('return', - true);case 9:return _context.abrupt('return', - - false);case 12:_context.prev = 12;_context.t0 = _context['catch'](0);throw _context.t0;case 15:case 'end':return _context.stop();}}}, _callee, this, [[0, 12]]);}));function login() {return _ref2.apply(this, arguments);}return login;}() - - - - - - /** ***** */ - /** UTILS */ - /** ***** */ - - /** - * Get ETH Network - * @function - * @return {Promise} Network Name (Ex : Kovan) - */ }, { key: 'getETHNetwork', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {var netId, networkName;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.web3.eth.net.getId());case 2:netId = _context2.sent;if (! - - networksEnum.hasOwnProperty(netId)) {_context2.next = 7;break;}_context2.t0 = - networksEnum[netId];_context2.next = 10;break;case 7:_context2.next = 9;return ( - this.web3.currentProvider.host);case 9:_context2.t0 = _context2.sent;case 10:networkName = _context2.t0;return _context2.abrupt('return', - networkName);case 12:case 'end':return _context2.stop();}}}, _callee2, this);}));function getETHNetwork() {return _ref3.apply(this, arguments);}return getETHNetwork;}() - - - /** - * Get Address connected via login() - * @function - * @return {Promise} Address in Use - */ }, { key: 'getAddress', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {var accounts;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:if (! - - this.account) {_context3.next = 2;break;}return _context3.abrupt('return', this.account.getAddress());case 2:_context3.next = 4;return ( - - this.web3.eth.getAccounts());case 4:accounts = _context3.sent;return _context3.abrupt('return', - accounts[0]);case 6:case 'end':return _context3.stop();}}}, _callee3, this);}));function getAddress() {return _ref4.apply(this, arguments);}return getAddress;}() - - - /** - * Get ETH Balance of Address connected via login() - * @function - * @return {Promise} ETH Balance - */ }, { key: 'getETHBalance', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {var wei;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.t0 = - - this.web3.eth;_context4.next = 3;return this.getAddress();case 3:_context4.t1 = _context4.sent;_context4.next = 6;return _context4.t0.getBalance.call(_context4.t0, _context4.t1);case 6:wei = _context4.sent;return _context4.abrupt('return', - this.web3.utils.fromWei(wei, 'ether'));case 8:case 'end':return _context4.stop();}}}, _callee4, this);}));function getETHBalance() {return _ref5.apply(this, arguments);}return getETHBalance;}() }]);return Web3Connection;}();exports.default = - - - -Web3Connection; \ No newline at end of file diff --git a/build/contracts/Address.json b/build/contracts/Address.json deleted file mode 100644 index 99d187a5..00000000 --- a/build/contracts/Address.json +++ /dev/null @@ -1,8149 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acbab479882ecfbf29662a06533469b3dbce668ddae24a7ac963992400f2687e64736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220acbab479882ecfbf29662a06533469b3dbce668ddae24a7ac963992400f2687e64736f6c63430006020033", - "sourceMap": "134:7684:21:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "134:7684:21:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev Returns true if `account` is a contract.\n *\n * [IMPORTANT]\n * ====\n * It is unsafe to assume that an address for which this function returns\n * false is an externally-owned account (EOA) and not a contract.\n *\n * Among others, `isContract` will return false for the following\n * types of addresses:\n *\n * - an externally-owned account\n * - a contract in construction\n * - an address where a contract will be created\n * - an address where a contract lived, but was destroyed\n * ====\n */\n function isContract(address account) internal view returns (bool) {\n // This method relies on extcodesize, which returns 0 for contracts in\n // construction, since the code is only stored at the end of the\n // constructor execution.\n\n uint256 size;\n // solhint-disable-next-line no-inline-assembly\n assembly { size := extcodesize(account) }\n return size > 0;\n }\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n require(address(this).balance >= amount, \"Address: insufficient balance\");\n\n // solhint-disable-next-line avoid-low-level-calls, avoid-call-value\n (bool success, ) = recipient.call{ value: amount }(\"\");\n require(success, \"Address: unable to send value, recipient may have reverted\");\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain`call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason, it is bubbled up by this\n * function (like regular Solidity function calls).\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCall(target, data, \"Address: low-level call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n * `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n return functionCallWithValue(target, data, value, \"Address: low-level call with value failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\n * with `errorMessage` as a fallback revert reason when `target` reverts.\n *\n * _Available since v3.1._\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {\n require(address(this).balance >= value, \"Address: insufficient balance for call\");\n require(isContract(target), \"Address: call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.call{ value: value }(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n return functionStaticCall(target, data, \"Address: low-level static call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a static call.\n *\n * _Available since v3.3._\n */\n function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {\n require(isContract(target), \"Address: static call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.staticcall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionDelegateCall(target, data, \"Address: low-level delegate call failed\");\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\n * but performing a delegate call.\n *\n * _Available since v3.4._\n */\n function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {\n require(isContract(target), \"Address: delegate call to non-contract\");\n\n // solhint-disable-next-line avoid-low-level-calls\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return _verifyCallResult(success, returndata, errorMessage);\n }\n\n function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {\n if (success) {\n return returndata;\n } else {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n\n // solhint-disable-next-line no-inline-assembly\n assembly {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert(errorMessage);\n }\n }\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Address.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 9708 - ] - }, - "id": 9709, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9425, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 9708, - "linearizedBaseContracts": [ - 9708 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9440, - "nodeType": "Block", - "src": "792:347:21", - "statements": [ - { - "assignments": [ - 9433 - ], - "declarations": [ - { - "constant": false, - "id": 9433, - "name": "size", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "989:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "989:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9434, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "989:12:21" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1076:32:21", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1078:28:21", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1098:7:21" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1086:11:21" - }, - "nodeType": "YulFunctionCall", - "src": "1086:20:21" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1078:4:21" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9427, - "isOffset": false, - "isSlot": false, - "src": "1098:7:21", - "valueSize": 1 - }, - { - "declaration": 9433, - "isOffset": false, - "isSlot": false, - "src": "1078:4:21", - "valueSize": 1 - } - ], - "id": 9435, - "nodeType": "InlineAssembly", - "src": "1067:41:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9436, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1124:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1124:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9431, - "id": 9439, - "nodeType": "Return", - "src": "1117:15:21" - } - ] - }, - "documentation": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following\ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====", - "id": 9441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9427, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9441, - "src": "746:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:17:21" - }, - "returnParameters": { - "id": 9431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9430, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9441, - "src": "786:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9429, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "786:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "785:6:21" - }, - "scope": 9708, - "src": "726:413:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9473, - "nodeType": "Block", - "src": "2127:320:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9451, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2153:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - ], - "id": 9450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2145:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9449, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2145:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2145:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2145:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9454, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2170:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2145:31:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 9456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:31:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 9448, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2137:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2137:73:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9458, - "nodeType": "ExpressionStatement", - "src": "2137:73:21" - }, - { - "assignments": [ - 9460, - null - ], - "declarations": [ - { - "constant": false, - "id": 9460, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "2299:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9459, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2299:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 9467, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 9465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9461, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2317:9:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 9462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2317:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9463, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2340:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2317:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2298:54:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9469, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2370:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 9470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2379:60:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 9468, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2362:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2362:78:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9472, - "nodeType": "ExpressionStatement", - "src": "2362:78:21" - } - ] - }, - "documentation": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].", - "id": 9474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9443, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "2075:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2075:15:21", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9445, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "2102:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2102:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:43:21" - }, - "returnParameters": { - "id": 9447, - "nodeType": "ParameterList", - "parameters": [], - "src": "2127:0:21" - }, - "scope": 9708, - "src": "2056:391:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9489, - "nodeType": "Block", - "src": "3277:82:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9484, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9476, - "src": "3305:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9485, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "3313:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 9486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3319:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 9483, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9490, - 9509 - ], - "referencedDeclaration": 9509, - "src": "3292:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3292:60:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9482, - "id": 9488, - "nodeType": "Return", - "src": "3285:67:21" - } - ] - }, - "documentation": "@dev Performs a Solidity function call using a low level `call`. A\nplain`call` is an unsafe replacement for a function call: use this\nfunction instead.\n * If `target` reverts with a revert reason, it is bubbled up by this\nfunction (like regular Solidity function calls).\n * Returns the raw returned data. To convert to the expected return value,\nuse https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n * Requirements:\n * - `target` must be a contract.\n- calling `target` with `data` must not revert.\n * _Available since v3.1._", - "id": 9490, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9476, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3210:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9478, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3226:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9477, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3209:35:21" - }, - "returnParameters": { - "id": 9482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9481, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3263:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9480, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3263:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3262:14:21" - }, - "scope": 9708, - "src": "3188:171:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9508, - "nodeType": "Block", - "src": "3698:76:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9502, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9492, - "src": "3737:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9503, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9494, - "src": "3745:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3751:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 9505, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "3754:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9501, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9528, - 9577 - ], - "referencedDeclaration": 9577, - "src": "3715:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 9506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3715:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9500, - "id": 9507, - "nodeType": "Return", - "src": "3708:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n`errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 9509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9492, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3603:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3603:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9494, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3619:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9493, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3619:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9496, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3638:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3638:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3602:63:21" - }, - "returnParameters": { - "id": 9500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9499, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3684:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9498, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3683:14:21" - }, - "scope": 9708, - "src": "3581:193:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9527, - "nodeType": "Block", - "src": "4249:111:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9521, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "4288:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9522, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "4296:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9523, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9515, - "src": "4302:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:43:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 9520, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9528, - 9577 - ], - "referencedDeclaration": 9577, - "src": "4266:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 9525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:87:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9519, - "id": 9526, - "nodeType": "Return", - "src": "4259:94:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut also transferring `value` wei to `target`.\n * Requirements:\n * - the calling contract must have an ETH balance of at least `value`.\n- the called Solidity function must be `payable`.\n * _Available since v3.1._", - "id": 9528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9511, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4167:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9513, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4183:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9512, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4183:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9515, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4202:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4202:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4166:50:21" - }, - "returnParameters": { - "id": 9519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9518, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4235:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9517, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4235:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4234:14:21" - }, - "scope": 9708, - "src": "4136:224:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9576, - "nodeType": "Block", - "src": "4749:382:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9544, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4775:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - ], - "id": 9543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4767:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4767:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4767:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9547, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9534, - "src": "4792:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4767:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 9549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:40:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 9541, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4759:81:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9551, - "nodeType": "ExpressionStatement", - "src": "4759:81:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9554, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9530, - "src": "4869:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9553, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "4858:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4858:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4878:31:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 9552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4850:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:60:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9558, - "nodeType": "ExpressionStatement", - "src": "4850:60:21" - }, - { - "assignments": [ - 9560, - 9562 - ], - "declarations": [ - { - "constant": false, - "id": 9560, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9576, - "src": "4981:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9559, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4981:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9562, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9576, - "src": "4995:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9561, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9569, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9567, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9532, - "src": "5050:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9563, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9530, - "src": "5022:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5022:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9565, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9534, - "src": "5042:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5022:27:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5022:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4980:75:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9571, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9560, - "src": "5090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9572, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9562, - "src": "5099:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9573, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9536, - "src": "5111:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9570, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "5072:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5072:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9540, - "id": 9575, - "nodeType": "Return", - "src": "5065:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\nwith `errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 9577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9530, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4639:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4639:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9532, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4655:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4655:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9534, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4674:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9536, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4689:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9535, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4689:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4638:78:21" - }, - "returnParameters": { - "id": 9540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9539, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4735:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9538, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4735:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:14:21" - }, - "scope": 9708, - "src": "4608:523:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9592, - "nodeType": "Block", - "src": "5408:97:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9587, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "5444:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9588, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9581, - "src": "5452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 9589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5458:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - }, - "value": "Address: low-level static call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - } - ], - "id": 9586, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9593, - 9627 - ], - "referencedDeclaration": 9627, - "src": "5425:18:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 9590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5425:73:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9585, - "id": 9591, - "nodeType": "Return", - "src": "5418:80:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9593, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9579, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5336:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5336:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9581, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5352:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9580, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5352:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5335:35:21" - }, - "returnParameters": { - "id": 9585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9584, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5394:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9583, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5394:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5393:14:21" - }, - "scope": 9708, - "src": "5308:197:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9626, - "nodeType": "Block", - "src": "5817:288:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9606, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9595, - "src": "5846:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9605, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "5835:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5835:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - }, - "value": "Address: static call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - } - ], - "id": 9604, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:67:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9610, - "nodeType": "ExpressionStatement", - "src": "5827:67:21" - }, - { - "assignments": [ - 9612, - 9614 - ], - "declarations": [ - { - "constant": false, - "id": 9612, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9626, - "src": "5965:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9611, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5965:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9614, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9626, - "src": "5979:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9619, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9617, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9597, - "src": "6024:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9615, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9595, - "src": "6006:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6006:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 9618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6006:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5964:65:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9621, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9612, - "src": "6064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9622, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "6073:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9623, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9599, - "src": "6085:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9620, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "6046:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9603, - "id": 9625, - "nodeType": "Return", - "src": "6039:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9595, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5717:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5717:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9597, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5733:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9596, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5733:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9599, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5752:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5752:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5716:63:21" - }, - "returnParameters": { - "id": 9603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9602, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5803:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9601, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5803:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:14:21" - }, - "scope": 9708, - "src": "5689:416:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9642, - "nodeType": "Block", - "src": "6381:101:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9637, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9629, - "src": "6419:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9638, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9631, - "src": "6427:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 9639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6433:41:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - }, - "value": "Address: low-level delegate call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - } - ], - "id": 9636, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9643, - 9677 - ], - "referencedDeclaration": 9677, - "src": "6398:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6398:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9635, - "id": 9641, - "nodeType": "Return", - "src": "6391:84:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9629, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6314:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9628, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9631, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6330:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6330:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6313:35:21" - }, - "returnParameters": { - "id": 9635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6367:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9633, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6367:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6366:14:21" - }, - "scope": 9708, - "src": "6284:198:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9676, - "nodeType": "Block", - "src": "6793:292:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9656, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9645, - "src": "6822:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9655, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "6811:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6811:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6831:40:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - }, - "value": "Address: delegate call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - } - ], - "id": 9654, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:69:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9660, - "nodeType": "ExpressionStatement", - "src": "6803:69:21" - }, - { - "assignments": [ - 9662, - 9664 - ], - "declarations": [ - { - "constant": false, - "id": 9662, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9676, - "src": "6943:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9661, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6943:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9664, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9676, - "src": "6957:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9663, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6957:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9669, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9667, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9647, - "src": "7004:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9665, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9645, - "src": "6984:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6984:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6984:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9671, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9662, - "src": "7044:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9672, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "7053:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9673, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9649, - "src": "7065:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9670, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "7026:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9653, - "id": 9675, - "nodeType": "Return", - "src": "7019:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9645, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6698:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6698:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9647, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6714:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6714:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9649, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6733:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9648, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6733:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6697:63:21" - }, - "returnParameters": { - "id": 9653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6779:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9651, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6779:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6778:14:21" - }, - "scope": 9708, - "src": "6668:417:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9706, - "nodeType": "Block", - "src": "7220:596:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9688, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9679, - "src": "7234:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9704, - "nodeType": "Block", - "src": "7291:519:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9692, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9681, - "src": "7375:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 9693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7375:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7375:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9702, - "nodeType": "Block", - "src": "7747:53:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9699, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9683, - "src": "7772:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9698, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "7765:6:21", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 9700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9701, - "nodeType": "ExpressionStatement", - "src": "7765:20:21" - } - ] - }, - "id": 9703, - "nodeType": "IfStatement", - "src": "7371:429:21", - "trueBody": { - "id": 9697, - "nodeType": "Block", - "src": "7398:343:21", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7582:145:21", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7604:40:21", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7633:10:21" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7627:5:21" - }, - "nodeType": "YulFunctionCall", - "src": "7627:17:21" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7608:15:21", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7676:2:21", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7680:10:21" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7672:3:21" - }, - "nodeType": "YulFunctionCall", - "src": "7672:19:21" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7693:15:21" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7665:6:21" - }, - "nodeType": "YulFunctionCall", - "src": "7665:44:21" - }, - "nodeType": "YulExpressionStatement", - "src": "7665:44:21" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9681, - "isOffset": false, - "isSlot": false, - "src": "7633:10:21", - "valueSize": 1 - }, - { - "declaration": 9681, - "isOffset": false, - "isSlot": false, - "src": "7680:10:21", - "valueSize": 1 - } - ], - "id": 9696, - "nodeType": "InlineAssembly", - "src": "7573:154:21" - } - ] - } - } - ] - }, - "id": 9705, - "nodeType": "IfStatement", - "src": "7230:580:21", - "trueBody": { - "id": 9691, - "nodeType": "Block", - "src": "7243:42:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9689, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9681, - "src": "7264:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9687, - "id": 9690, - "nodeType": "Return", - "src": "7257:17:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9707, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_verifyCallResult", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9679, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7118:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9678, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9681, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7132:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9680, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7132:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9683, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7157:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9682, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7157:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7117:67:21" - }, - "returnParameters": { - "id": 9687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9686, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7206:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9685, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7206:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7205:14:21" - }, - "scope": 9708, - "src": "7091:725:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 9709, - "src": "134:7684:21" - } - ], - "src": "33:7786:21" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 9708 - ] - }, - "id": 9709, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9425, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:21" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Collection of functions related to the address type", - "fullyImplemented": true, - "id": 9708, - "linearizedBaseContracts": [ - 9708 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9440, - "nodeType": "Block", - "src": "792:347:21", - "statements": [ - { - "assignments": [ - 9433 - ], - "declarations": [ - { - "constant": false, - "id": 9433, - "name": "size", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9440, - "src": "989:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9432, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "989:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9434, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "989:12:21" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1076:32:21", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "1078:28:21", - "value": { - "arguments": [ - { - "name": "account", - "nodeType": "YulIdentifier", - "src": "1098:7:21" - } - ], - "functionName": { - "name": "extcodesize", - "nodeType": "YulIdentifier", - "src": "1086:11:21" - }, - "nodeType": "YulFunctionCall", - "src": "1086:20:21" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "1078:4:21" - } - ] - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9427, - "isOffset": false, - "isSlot": false, - "src": "1098:7:21", - "valueSize": 1 - }, - { - "declaration": 9433, - "isOffset": false, - "isSlot": false, - "src": "1078:4:21", - "valueSize": 1 - } - ], - "id": 9435, - "nodeType": "InlineAssembly", - "src": "1067:41:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9436, - "name": "size", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9433, - "src": "1124:4:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1131:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1124:8:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9431, - "id": 9439, - "nodeType": "Return", - "src": "1117:15:21" - } - ] - }, - "documentation": "@dev Returns true if `account` is a contract.\n * [IMPORTANT]\n====\nIt is unsafe to assume that an address for which this function returns\nfalse is an externally-owned account (EOA) and not a contract.\n * Among others, `isContract` will return false for the following\ntypes of addresses:\n * - an externally-owned account\n - a contract in construction\n - an address where a contract will be created\n - an address where a contract lived, but was destroyed\n====", - "id": 9441, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9428, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9427, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9441, - "src": "746:15:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9426, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "746:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "745:17:21" - }, - "returnParameters": { - "id": 9431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9430, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9441, - "src": "786:4:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9429, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "786:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "785:6:21" - }, - "scope": 9708, - "src": "726:413:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9473, - "nodeType": "Block", - "src": "2127:320:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9451, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2153:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - ], - "id": 9450, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2145:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9449, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2145:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9452, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2145:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2145:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9454, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2170:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2145:31:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e6365", - "id": 9456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:31:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - }, - "value": "Address: insufficient balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5597a22abd0ef5332f8053862eb236db7590f17e2b93a53f63a103becfb561f9", - "typeString": "literal_string \"Address: insufficient balance\"" - } - ], - "id": 9448, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2137:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2137:73:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9458, - "nodeType": "ExpressionStatement", - "src": "2137:73:21" - }, - { - "assignments": [ - 9460, - null - ], - "declarations": [ - { - "constant": false, - "id": 9460, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9473, - "src": "2299:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9459, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2299:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 9467, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "", - "id": 9465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2349:2:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9461, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9443, - "src": "2317:9:21", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 9462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2317:14:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9463, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9445, - "src": "2340:6:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "2317:31:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:35:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2298:54:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9469, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9460, - "src": "2370:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564", - "id": 9470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2379:60:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - }, - "value": "Address: unable to send value, recipient may have reverted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51ddaa38748c0a1144620fb5bfe8edab31ea437571ad591a7734bbfd0429aeae", - "typeString": "literal_string \"Address: unable to send value, recipient may have reverted\"" - } - ], - "id": 9468, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2362:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2362:78:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9472, - "nodeType": "ExpressionStatement", - "src": "2362:78:21" - } - ] - }, - "documentation": "@dev Replacement for Solidity's `transfer`: sends `amount` wei to\n`recipient`, forwarding all available gas and reverting on errors.\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\nof certain opcodes, possibly making contracts go over the 2300 gas limit\nimposed by `transfer`, making them unable to receive funds via\n`transfer`. {sendValue} removes this limitation.\n * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n * IMPORTANT: because control is transferred to `recipient`, care must be\ntaken to not create reentrancy vulnerabilities. Consider using\n{ReentrancyGuard} or the\nhttps://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].", - "id": 9474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9446, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9443, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "2075:25:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9442, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2075:15:21", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9445, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9474, - "src": "2102:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2102:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2074:43:21" - }, - "returnParameters": { - "id": 9447, - "nodeType": "ParameterList", - "parameters": [], - "src": "2127:0:21" - }, - "scope": 9708, - "src": "2056:391:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9489, - "nodeType": "Block", - "src": "3277:82:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9484, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9476, - "src": "3305:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9485, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9478, - "src": "3313:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564", - "id": 9486, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3319:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - }, - "value": "Address: low-level call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_24d7ab5d382116e64324f19950ca9340b8af1ddeb09a8d026e0a3c6a01dcc9df", - "typeString": "literal_string \"Address: low-level call failed\"" - } - ], - "id": 9483, - "name": "functionCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9490, - 9509 - ], - "referencedDeclaration": 9509, - "src": "3292:12:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3292:60:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9482, - "id": 9488, - "nodeType": "Return", - "src": "3285:67:21" - } - ] - }, - "documentation": "@dev Performs a Solidity function call using a low level `call`. A\nplain`call` is an unsafe replacement for a function call: use this\nfunction instead.\n * If `target` reverts with a revert reason, it is bubbled up by this\nfunction (like regular Solidity function calls).\n * Returns the raw returned data. To convert to the expected return value,\nuse https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n * Requirements:\n * - `target` must be a contract.\n- calling `target` with `data` must not revert.\n * _Available since v3.1._", - "id": 9490, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9476, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3210:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3210:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9478, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3226:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9477, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3226:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3209:35:21" - }, - "returnParameters": { - "id": 9482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9481, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9490, - "src": "3263:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9480, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3263:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3262:14:21" - }, - "scope": 9708, - "src": "3188:171:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9508, - "nodeType": "Block", - "src": "3698:76:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9502, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9492, - "src": "3737:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9503, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9494, - "src": "3745:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3751:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 9505, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9496, - "src": "3754:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9501, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9528, - 9577 - ], - "referencedDeclaration": 9577, - "src": "3715:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 9506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3715:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9500, - "id": 9507, - "nodeType": "Return", - "src": "3708:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with\n`errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 9509, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9492, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3603:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9491, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3603:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9494, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3619:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9493, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3619:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9496, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3638:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9495, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3638:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3602:63:21" - }, - "returnParameters": { - "id": 9500, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9499, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9509, - "src": "3684:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9498, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3684:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3683:14:21" - }, - "scope": 9708, - "src": "3581:193:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9527, - "nodeType": "Block", - "src": "4249:111:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9521, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9511, - "src": "4288:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9522, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9513, - "src": "4296:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9523, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9515, - "src": "4302:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564", - "id": 9524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:43:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - }, - "value": "Address: low-level call with value failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_88a4a0b5e975840320a0475d4027005235904fdb5ece94df156f3d717cb2dbfc", - "typeString": "literal_string \"Address: low-level call with value failed\"" - } - ], - "id": 9520, - "name": "functionCallWithValue", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9528, - 9577 - ], - "referencedDeclaration": 9577, - "src": "4266:21:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,uint256,string memory) returns (bytes memory)" - } - }, - "id": 9525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:87:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9519, - "id": 9526, - "nodeType": "Return", - "src": "4259:94:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut also transferring `value` wei to `target`.\n * Requirements:\n * - the calling contract must have an ETH balance of at least `value`.\n- the called Solidity function must be `payable`.\n * _Available since v3.1._", - "id": 9528, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9511, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4167:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9510, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4167:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9513, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4183:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9512, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4183:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9515, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4202:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4202:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4166:50:21" - }, - "returnParameters": { - "id": 9519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9518, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9528, - "src": "4235:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9517, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4235:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4234:14:21" - }, - "scope": 9708, - "src": "4136:224:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9576, - "nodeType": "Block", - "src": "4749:382:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9544, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4775:4:21", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - ], - "id": 9543, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4767:7:21", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4767:7:21", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4767:13:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balance", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4767:21:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 9547, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9534, - "src": "4792:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4767:30:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c", - "id": 9549, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:40:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - }, - "value": "Address: insufficient balance for call" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_565f1a77334fc4792800921178c71e4521acffab18ff9e7885b49377ee80ab4c", - "typeString": "literal_string \"Address: insufficient balance for call\"" - } - ], - "id": 9541, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4759:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4759:81:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9551, - "nodeType": "ExpressionStatement", - "src": "4759:81:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9554, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9530, - "src": "4869:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9553, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "4858:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4858:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4878:31:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - }, - "value": "Address: call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cc2e4e38850b7c0a3e942cfed89b71c77302df25bcb2ec297a0c4ff9ff6b90ad", - "typeString": "literal_string \"Address: call to non-contract\"" - } - ], - "id": 9552, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4850:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4850:60:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9558, - "nodeType": "ExpressionStatement", - "src": "4850:60:21" - }, - { - "assignments": [ - 9560, - 9562 - ], - "declarations": [ - { - "constant": false, - "id": 9560, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9576, - "src": "4981:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9559, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4981:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9562, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9576, - "src": "4995:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9561, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4995:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9569, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9567, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9532, - "src": "5050:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9563, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9530, - "src": "5022:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5022:11:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "names": [ - "value" - ], - "nodeType": "FunctionCallOptions", - "options": [ - { - "argumentTypes": null, - "id": 9565, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9534, - "src": "5042:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "src": "5022:27:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", - "typeString": "function (bytes memory) payable returns (bool,bytes memory)" - } - }, - "id": 9568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5022:33:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4980:75:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9571, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9560, - "src": "5090:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9572, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9562, - "src": "5099:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9573, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9536, - "src": "5111:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9570, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "5072:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5072:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9540, - "id": 9575, - "nodeType": "Return", - "src": "5065:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but\nwith `errorMessage` as a fallback revert reason when `target` reverts.\n * _Available since v3.1._", - "id": 9577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionCallWithValue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9530, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4639:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9529, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4639:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9532, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4655:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9531, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4655:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9534, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4674:13:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9536, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4689:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9535, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4689:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4638:78:21" - }, - "returnParameters": { - "id": 9540, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9539, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9577, - "src": "4735:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9538, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4735:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:14:21" - }, - "scope": 9708, - "src": "4608:523:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9592, - "nodeType": "Block", - "src": "5408:97:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9587, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9579, - "src": "5444:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9588, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9581, - "src": "5452:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c207374617469632063616c6c206661696c6564", - "id": 9589, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5458:39:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - }, - "value": "Address: low-level static call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_90ec82aa826a536a4cbfae44ecfa384680faa9a4b77344bce96aa761ad904df0", - "typeString": "literal_string \"Address: low-level static call failed\"" - } - ], - "id": 9586, - "name": "functionStaticCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9593, - 9627 - ], - "referencedDeclaration": 9627, - "src": "5425:18:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) view returns (bytes memory)" - } - }, - "id": 9590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5425:73:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9585, - "id": 9591, - "nodeType": "Return", - "src": "5418:80:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9593, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9582, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9579, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5336:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5336:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9581, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5352:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9580, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5352:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5335:35:21" - }, - "returnParameters": { - "id": 9585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9584, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9593, - "src": "5394:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9583, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5394:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5393:14:21" - }, - "scope": 9708, - "src": "5308:197:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9626, - "nodeType": "Block", - "src": "5817:288:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9606, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9595, - "src": "5846:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9605, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "5835:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5835:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a207374617469632063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:38:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - }, - "value": "Address: static call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79cc78e4f16ce3933a42b84c73868f93bb4a59c031a0acf576679de98c608a9", - "typeString": "literal_string \"Address: static call to non-contract\"" - } - ], - "id": 9604, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5827:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5827:67:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9610, - "nodeType": "ExpressionStatement", - "src": "5827:67:21" - }, - { - "assignments": [ - 9612, - 9614 - ], - "declarations": [ - { - "constant": false, - "id": 9612, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9626, - "src": "5965:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9611, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5965:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9614, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9626, - "src": "5979:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9613, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5979:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9619, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9617, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9597, - "src": "6024:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9615, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9595, - "src": "6006:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "staticcall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6006:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) view returns (bool,bytes memory)" - } - }, - "id": 9618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6006:23:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5964:65:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9621, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9612, - "src": "6064:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9622, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9614, - "src": "6073:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9623, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9599, - "src": "6085:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9620, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "6046:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6046:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9603, - "id": 9625, - "nodeType": "Return", - "src": "6039:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a static call.\n * _Available since v3.3._", - "id": 9627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionStaticCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9595, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5717:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5717:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9597, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5733:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9596, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5733:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9599, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5752:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9598, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5752:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5716:63:21" - }, - "returnParameters": { - "id": 9603, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9602, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9627, - "src": "5803:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9601, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5803:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5802:14:21" - }, - "scope": 9708, - "src": "5689:416:21", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9642, - "nodeType": "Block", - "src": "6381:101:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9637, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9629, - "src": "6419:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9638, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9631, - "src": "6427:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564", - "id": 9639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6433:41:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - }, - "value": "Address: low-level delegate call failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_9fdcd12e4b726339b32a442b0a448365d5d85c96b2d2cff917b4f66c63110398", - "typeString": "literal_string \"Address: low-level delegate call failed\"" - } - ], - "id": 9636, - "name": "functionDelegateCall", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9643, - 9677 - ], - "referencedDeclaration": 9677, - "src": "6398:20:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6398:77:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9635, - "id": 9641, - "nodeType": "Return", - "src": "6391:84:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9629, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6314:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9628, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6314:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9631, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6330:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6330:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6313:35:21" - }, - "returnParameters": { - "id": 9635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9643, - "src": "6367:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9633, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6367:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6366:14:21" - }, - "scope": 9708, - "src": "6284:198:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9676, - "nodeType": "Block", - "src": "6793:292:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9656, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9645, - "src": "6822:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9655, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9441, - "src": "6811:10:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6811:18:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374", - "id": 9658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6831:40:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - }, - "value": "Address: delegate call to non-contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b94ded0918034cf8f896e19fa3cfdef1188cd569c577264a3622e49152f88520", - "typeString": "literal_string \"Address: delegate call to non-contract\"" - } - ], - "id": 9654, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6803:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6803:69:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9660, - "nodeType": "ExpressionStatement", - "src": "6803:69:21" - }, - { - "assignments": [ - 9662, - 9664 - ], - "declarations": [ - { - "constant": false, - "id": 9662, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9676, - "src": "6943:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9661, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6943:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9664, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9676, - "src": "6957:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9663, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6957:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9669, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9667, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9647, - "src": "7004:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9665, - "name": "target", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9645, - "src": "6984:6:21", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6984:19:21", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 9668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6984:25:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:67:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9671, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9662, - "src": "7044:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 9672, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9664, - "src": "7053:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 9673, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9649, - "src": "7065:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9670, - "name": "_verifyCallResult", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9707, - "src": "7026:17:21", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bool_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bool,bytes memory,string memory) pure returns (bytes memory)" - } - }, - "id": 9674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7026:52:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9653, - "id": 9675, - "nodeType": "Return", - "src": "7019:59:21" - } - ] - }, - "documentation": "@dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],\nbut performing a delegate call.\n * _Available since v3.4._", - "id": 9677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "functionDelegateCall", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9650, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9645, - "name": "target", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6698:14:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9644, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6698:7:21", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9647, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6714:17:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6714:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9649, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6733:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9648, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6733:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6697:63:21" - }, - "returnParameters": { - "id": 9653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9677, - "src": "6779:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9651, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6779:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6778:14:21" - }, - "scope": 9708, - "src": "6668:417:21", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 9706, - "nodeType": "Block", - "src": "7220:596:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9688, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9679, - "src": "7234:7:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9704, - "nodeType": "Block", - "src": "7291:519:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9695, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9692, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9681, - "src": "7375:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 9693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7375:17:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9694, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7395:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7375:21:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9702, - "nodeType": "Block", - "src": "7747:53:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9699, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9683, - "src": "7772:12:21", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 9698, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "7765:6:21", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 9700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7765:20:21", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9701, - "nodeType": "ExpressionStatement", - "src": "7765:20:21" - } - ] - }, - "id": 9703, - "nodeType": "IfStatement", - "src": "7371:429:21", - "trueBody": { - "id": 9697, - "nodeType": "Block", - "src": "7398:343:21", - "statements": [ - { - "AST": { - "nodeType": "YulBlock", - "src": "7582:145:21", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "7604:40:21", - "value": { - "arguments": [ - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7633:10:21" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "7627:5:21" - }, - "nodeType": "YulFunctionCall", - "src": "7627:17:21" - }, - "variables": [ - { - "name": "returndata_size", - "nodeType": "YulTypedName", - "src": "7608:15:21", - "type": "" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7676:2:21", - "type": "", - "value": "32" - }, - { - "name": "returndata", - "nodeType": "YulIdentifier", - "src": "7680:10:21" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "7672:3:21" - }, - "nodeType": "YulFunctionCall", - "src": "7672:19:21" - }, - { - "name": "returndata_size", - "nodeType": "YulIdentifier", - "src": "7693:15:21" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7665:6:21" - }, - "nodeType": "YulFunctionCall", - "src": "7665:44:21" - }, - "nodeType": "YulExpressionStatement", - "src": "7665:44:21" - } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 9681, - "isOffset": false, - "isSlot": false, - "src": "7633:10:21", - "valueSize": 1 - }, - { - "declaration": 9681, - "isOffset": false, - "isSlot": false, - "src": "7680:10:21", - "valueSize": 1 - } - ], - "id": 9696, - "nodeType": "InlineAssembly", - "src": "7573:154:21" - } - ] - } - } - ] - }, - "id": 9705, - "nodeType": "IfStatement", - "src": "7230:580:21", - "trueBody": { - "id": 9691, - "nodeType": "Block", - "src": "7243:42:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9689, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9681, - "src": "7264:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "functionReturnParameters": 9687, - "id": 9690, - "nodeType": "Return", - "src": "7257:17:21" - } - ] - } - } - ] - }, - "documentation": null, - "id": 9707, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_verifyCallResult", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9679, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7118:12:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9678, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7118:4:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9681, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7132:23:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9680, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7132:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9683, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7157:26:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9682, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7157:6:21", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7117:67:21" - }, - "returnParameters": { - "id": 9687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9686, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9707, - "src": "7206:12:21", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9685, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "7206:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7205:14:21" - }, - "scope": 9708, - "src": "7091:725:21", - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "scope": 9709, - "src": "134:7684:21" - } - ], - "src": "33:7786:21" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.644Z", - "devdoc": { - "details": "Collection of functions related to the address type", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/BEPRONetwork.json b/build/contracts/BEPRONetwork.json deleted file mode 100644 index a97711d3..00000000 --- a/build/contracts/BEPRONetwork.json +++ /dev/null @@ -1,50878 +0,0 @@ -{ - "contractName": "BEPRONetwork", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "approver", - "type": "address" - } - ], - "name": "ApproveIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "approver", - "type": "address" - } - ], - "name": "ApproveMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "CloseIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "disputer", - "type": "address" - } - ], - "name": "DisputeMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "MergeProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "opener", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "OpenIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "COUNCIL_BEPRO_AMOUNT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "DEVELOPER_BEPRO_AMOUNT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "OPERATOR_BEPRO_AMOUNT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "beproToken", - "outputs": [ - { - "internalType": "contract _IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "beproVotesStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "closedIdsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "incrementIssueID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "issues", - "outputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "creationDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "beproStaked", - "type": "uint256" - }, - { - "internalType": "address", - "name": "issueGenerator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "votesForApprove", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mergeIDIncrement", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "finalized", - "type": "bool" - }, - { - "internalType": "bool", - "name": "canceled", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "mergeCreatorFeeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "myIssues", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForApprove", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForDispute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForMerge", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeOpenForIssueApprove", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "voters", - "outputs": [ - { - "internalType": "uint256", - "name": "votesDelegatedByOthers", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "beproLocked", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_beproAmount", - "type": "uint256" - } - ], - "name": "lockBepro", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_beproAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - } - ], - "name": "unlockBepro", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "approveIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "approveMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "disputeMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "isIssueApprovable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "isIssueApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeDisputed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeTheOneWithMoreVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_beproAmount", - "type": "uint256" - } - ], - "name": "openIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueId", - "type": "uint256" - } - ], - "name": "redeemIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_newbeproAmount", - "type": "uint256" - } - ], - "name": "updateIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_prAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_prAmounts", - "type": "uint256[]" - } - ], - "name": "proposeIssueMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "closeIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getIssuesByAddress", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getVotesByAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "getIssueById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeId", - "type": "uint256" - } - ], - "name": "getMergeById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newAddress", - "type": "address" - } - ], - "name": "changeBEPROAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newAddress", - "type": "address" - } - ], - "name": "editFeeAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_feeShare", - "type": "uint256" - } - ], - "name": "editFeeShare", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newContract", - "type": "address" - } - ], - "name": "upgradeContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ApproveIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ApproveMerge\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"CloseIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"name\":\"DisputeMerge\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"MergeProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"opener\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"OpenIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_BEPRO_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEVELOPER_BEPRO_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OPERATOR_BEPRO_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"approveIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"approveMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"beproToken\",\"outputs\":[{\"internalType\":\"contract _IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"beproVotesStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"changeBEPROAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"closeIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"closedIdsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"disputeMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newAddress\",\"type\":\"address\"}],\"name\":\"editFeeAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_feeShare\",\"type\":\"uint256\"}],\"name\":\"editFeeShare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"getIssueById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getIssuesByAddress\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeId\",\"type\":\"uint256\"}],\"name\":\"getMergeById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getVotesByAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"incrementIssueID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"isIssueApprovable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"isIssueApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeDisputed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeTheOneWithMoreVotes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"creationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"beproStaked\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"issueGenerator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votesForApprove\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mergeIDIncrement\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_beproAmount\",\"type\":\"uint256\"}],\"name\":\"lockBepro\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mergeCreatorFeeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"myIssues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_beproAmount\",\"type\":\"uint256\"}],\"name\":\"openIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForMerge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_prAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_prAmounts\",\"type\":\"uint256[]\"}],\"name\":\"proposeIssueMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueId\",\"type\":\"uint256\"}],\"name\":\"redeemIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timeOpenForIssueApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_beproAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"unlockBepro\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_newbeproAmount\",\"type\":\"uint256\"}],\"name\":\"updateIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newContract\",\"type\":\"address\"}],\"name\":\"upgradeContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"voters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"votesDelegatedByOthers\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"beproLocked\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"votersArray\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeBEPROAddress(address)\":{\"details\":\"Change BEPRO Token Address (Upgrade)\"},\"closeIssue(uint256,uint256)\":{\"details\":\"Owner finalizes the issue and distributes the bepro or rejects the PR\",\"params\":{\"_issueID\":\"issue id (mapping with github)\",\"_mergeID\":\"merge id \"}},\"editFeeAddress(address)\":{\"details\":\"Change Fee Address\"},\"editFeeShare(uint256)\":{\"details\":\"Change Share Fee Amount\"},\"openIssue(uint256)\":{\"details\":\"open an Issue with bepro owned 1st step\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"proposeIssueMerge(uint256,address[],uint256[])\":{\"details\":\"Owner finalizes the issue and distributes the bepro or rejects the PR\",\"params\":{\"_issueID\":\"issue id (mapping with github)\",\"_prAddresses\":\"PR Address\",\"_prAmounts\":\"PR Amounts\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}},\"updateIssue(uint256,uint256)\":{\"details\":\"update an Issue with bepro owned 2nd step (optional)\"},\"upgradeContract(address)\":{\"details\":\"Upgrade Contract Version\"}},\"title\":\"BEPRO Network Contract\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":\"BEPRONetwork\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":{\"keccak256\":\"0xb09adde2809232da296346642c064fb6f3b89296ffc46850e217f0001c963c94\",\"urls\":[\"bzz-raw://a737e5eade1b2ae10989fc5aa27ceed93fb0bc7d41a565e02549f4aefd74d1ee\",\"dweb:/ipfs/QmampEb1f3BKRgqHZDyqZ2TKKKcu6ETYtyU9SVxfW247zZ\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x608060405260016002556000600355600060045573cf3c8be2e2c42331da80ef210e9b1b307c03d36a600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060026006556001600755600a60085560036009556014600a556000600b5562989680600c55620f4240600d55612710600e5534801561008c57600080fd5b50604051613806380380613806833981810160405260208110156100af57600080fd5b5051600080546001600160a81b0319166101003302178155600180546001600160a01b0319166001600160a01b039093169290921790915561370f9081906100f790396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806388632e281161015c578063c98244d0116100ce578063eb2c022311610087578063eb2c0223146108d1578063f29b4250146108f7578063f2fde38b1461091a578063f38b79b714610940578063f78480491461096c578063f87be2d4146109745761027f565b8063c98244d014610871578063ce13eae61461088e578063e113e452146108b1578063e2b6b3d9146108b9578063e38ebcf9146108c1578063e9ade90e146108c95761027f565b80639816c170116101205780639816c170146106ba578063a3ec138d146106d7578063b2bb95f514610716578063bdfd452414610733578063c57631551461073b578063c881bbe8146108695761027f565b806388632e281461064d5780638ccaf9681461066a5780638da5cb5b14610672578063953030c51461067a578063969838221461069d5761027f565b80635ac203cf116101f55780636931e725116101b95780636931e725146105c95780636ba7fa82146105ec57806370c9c791146105f4578063729911a81461061a578063817b1cd214610622578063839408a51461062a5761027f565b80635ac203cf146104335780635c975abb146104595780635d795bd2146104615780636106e4eb146104d75780636253faf8146105c15761027f565b80632307debc116102475780632307debc146103945780633d7349481461039c57806341275358146103cd5780634ca8b9eb146103f157806353da4247146103f957806356036543146104165761027f565b806304e15de51461028457806305563309146102ee5780631ac63d92146103135780631e63c0a514610351578063202996fb14610377575b600080fd5b6102a16004803603602081101561029a57600080fd5b5035610997565b604080519889526020890197909752878701959095526001600160a01b039093166060870152608086019190915260a0850152151560c0840152151560e083015251908190036101000190f35b6103116004803603604081101561030457600080fd5b50803590602001356109ea565b005b61033f6004803603604081101561032957600080fd5b506001600160a01b038135169060200135610dad565b60408051918252519081900360200190f35b61033f6004803603602081101561036757600080fd5b50356001600160a01b0316610ddb565b6103116004803603602081101561038d57600080fd5b5035610e18565b61033f61106e565b6103b9600480360360208110156103b257600080fd5b5035611075565b604080519115158252519081900360200190f35b6103d56110ba565b604080516001600160a01b039092168252519081900360200190f35b61033f6110c9565b6103d56004803603602081101561040f57600080fd5b50356110cf565b6103116004803603602081101561042c57600080fd5b50356110f6565b6103116004803603602081101561044957600080fd5b50356001600160a01b0316611359565b6103b9611397565b6104876004803603602081101561047757600080fd5b50356001600160a01b03166113a1565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c35781810151838201526020016104ab565b505050509050019250505060405180910390f35b6104fa600480360360408110156104ed57600080fd5b508035906020013561140d565b604051808781526020018681526020018581526020018060200180602001846001600160a01b03166001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015610568578181015183820152602001610550565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156105a757818101518382015260200161058f565b505050509050019850505050505050505060405180910390f35b61033f61155a565b610311600480360360408110156105df57600080fd5b5080359060200135611560565b61033f611d2f565b6103116004803603602081101561060a57600080fd5b50356001600160a01b0316611d35565b61033f611d73565b61033f611d79565b6103b96004803603604081101561064057600080fd5b5080359060200135611d7f565b6103116004803603602081101561066357600080fd5b5035611e07565b61033f611e28565b6103d5611e2e565b6103116004803603604081101561069057600080fd5b5080359060200135611e42565b6103b9600480360360208110156106b357600080fd5b50356120f0565b610311600480360360208110156106d057600080fd5b503561211e565b6106fd600480360360208110156106ed57600080fd5b50356001600160a01b0316612344565b6040805192835260208301919091528051918290030190f35b6103116004803603602081101561072c57600080fd5b503561235d565b61033f61258f565b6103116004803603606081101561075157600080fd5b8135919081019060408101602082013564010000000081111561077357600080fd5b82018360208201111561078557600080fd5b803590602001918460208302840111640100000000831117156107a757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156107f757600080fd5b82018360208201111561080957600080fd5b8035906020019184602083028401116401000000008311171561082b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612595945050505050565b61033f612acb565b6102a16004803603602081101561088757600080fd5b5035612ad1565b6103b9600480360360408110156108a457600080fd5b5080359060200135612b81565b6103d5612bc9565b61033f612bd8565b61033f612bde565b61033f612be4565b610311600480360360208110156108e757600080fd5b50356001600160a01b0316612bea565b6103b96004803603604081101561090d57600080fd5b5080359060200135612c56565b6103116004803603602081101561093057600080fd5b50356001600160a01b0316612c9e565b6103116004803603604081101561095657600080fd5b50803590602001356001600160a01b0316612d33565b61033f612fb2565b6103116004803603604081101561098a57600080fd5b5080359060200135612fb8565b600f6020526000908152604090208054600182015460028301546003840154600585015460078601546008909601549495939492936001600160a01b039092169290919060ff8082169161010090041688565b6109f2611397565b15610a37576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600f6020526040902060020154610a8f576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b6000828152600f60205260409020600301546001600160a01b03163314610afd576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610b0682611075565b15610b58576040805162461bcd60e51b815260206004820152601960248201527f497373756520697320616c726561647920417070726f76656400000000000000604482015290519081900360640190fd5b6000828152600f6020526040902060020180549082905580821115610c9b576001546001600160a01b03166323b872dd3330610b9a868663ffffffff61326616565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610c0257600080fd5b505af1158015610c16573d6000803e3d6000fd5b505050506040513d6020811015610c2c57600080fd5b5051610c71576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b610c93610c84838363ffffffff61326616565b6004549063ffffffff6132c316565b600455610da8565b6001546001600160a01b031663a9059cbb33610cbd848663ffffffff61326616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b5051610d82576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b610da4610d95828463ffffffff61326616565b6004549063ffffffff61326616565b6004555b505050565b60106020528160005260406000208181548110610dc657fe5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601160209081526040808320600181019092528220548154610e119163ffffffff6132c316565b9392505050565b610e20611397565b15610e65576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600301546001600160a01b03163314610ed3576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610edc81611075565b15610f2e576040805162461bcd60e51b815260206004820152601c60248201527f49737375652068617320746f206e6f7420626520617070726f76656400000000604482015290519081900360640190fd5b610f37816120f0565b15610f735760405162461bcd60e51b815260040180806020018281038252602b81526020018061359d602b913960400191505060405180910390fd5b6000818152600f60209081526040808320600881018054610100600160ff19909216821761ff0019161790915554600290910154825163a9059cbb60e01b8152336004820152602481019190915291516001600160a01b039091169363a9059cbb93604480850194919392918390030190829087803b158015610ff557600080fd5b505af1158015611009573d6000803e3d6000fd5b505050506040513d602081101561101f57600080fd5b505161106b576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b50565b6203f48081565b600061109f6064611093600854600b5461331d90919063ffffffff16565b9063ffffffff61337616565b6000838152600f602052604090206005015410159050919050565b6005546001600160a01b031681565b600a5481565b601281815481106110dc57fe5b6000918252602090912001546001600160a01b0316905081565b6110fe6133dd565b336000908152601160209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561117557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611157575b5050505050815260200160038201548152505090506111926133fe565b506000828152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e083015261125a576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b611263836120f0565b61126c57600080fd5b6000838152600f60209081526040808320338452600401909152902054156112cf576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b60006112da33610ddb565b6000858152600f60205260409020600501549091506112ff908263ffffffff6132c316565b6000858152600f60209081526040808320600581019490945533808452600490940190915280822084905551839187917f874c2861194fad2379fb15b08319bf4f3ec0c9f22bfd1ed18435ac4600abb0a09190a450505050565b60005461010090046001600160a01b0316331461137557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60005460ff165b90565b6001600160a01b03811660009081526010602090815260409182902080548351818402810184019094528084526060939283018282801561140157602002820191906000526020600020905b8154815260200190600101908083116113ed575b50505050509050919050565b6000806000606080600061141f613450565b6000898152600f602090815260408083208b8452600601825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156114b357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611495575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561150b57602002820191906000526020600020905b8154815260200190600101908083116114f7575b5050509183525050600791909101546001600160a01b031660209182015281519082015160408301516060840151608085015160a090950151939e929d50909b50995091975095509350505050565b600d5481565b611568611397565b156115ad576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6115b56133fe565b506000828152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e083015261167b576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60c0810151156116cb576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b818160a0015111611723576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b61172d8383612b81565b61177e576040805162461bcd60e51b815260206004820152601f60248201527f49737375652068617320746f20686176652070617373656420766f74696e6700604482015290519081900360640190fd5b6117888383612c56565b156117da576040805162461bcd60e51b815260206004820152601760248201527f4d6572676520686173206265656e206469737075746564000000000000000000604482015290519081900360640190fd5b6117e48383611d7f565b61181f5760405162461bcd60e51b81526004018080602001828103825260298152602001806136b16029913960400191505060405180910390fd5b6000838152600f60205260409020600801805460ff19166001179055611843613450565b6000848152600f60209081526040808320868452600601825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156118d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116118b9575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561192f57602002820191906000526020600020905b81548152602001906001019080831161191b575b5050509183525050600791909101546001600160a01b0390811660209283015260015460055460065460008a8152600f8652604080822060020154815163a9059cbb60e01b81529487166004860152606493029290920460248401529051959650919092169363a9059cbb936044808501949193918390030190829087803b1580156119ba57600080fd5b505af11580156119ce573d6000803e3d6000fd5b505050506040513d60208110156119e457600080fd5b5051611a29576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b6001546005546007546000878152600f6020908152604080832060020154815163a9059cbb60e01b81526001600160a01b03968716600482015260649190950204602485015251939094169363a9059cbb93604480850194929391928390030190829087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b5051611b0a576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b60005b816060015151811015611c86576010600083606001518381518110611b2e57fe5b6020908102919091018101516001600160a01b0390811683528282019390935260409091016000908120805460018181018355918352929091209091018790555460608401518051919092169163a9059cbb9184908110611b8b57fe5b602002602001015160646007546006546064030386608001518681518110611baf57fe5b60200260200101510281611bbf57fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611c0f57600080fd5b505af1158015611c23573d6000803e3d6000fd5b505050506040513d6020811015611c3957600080fd5b5051611c7e576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b600101611b0d565b50600354611c9b90600163ffffffff6132c316565b6003556040820151600454611cb59163ffffffff61326616565b6004556060810151604051815181906020808501910280838360005b83811015611ce9578181015183820152602001611cd1565b50505050905001915050604051809103902083857f2764a4973e9de159354a809146f484fb4f13f7f8d108a4cbce66127098b8769660405160405180910390a450505050565b60035481565b60005461010090046001600160a01b03163314611d5157600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b60045481565b6000828152600f60209081526040808320848452600601909152812060030154815b6000858152600f602052604090206007015460ff82161015611dfa576000858152600f6020908152604080832060ff85168452600601909152902060030154821015611df257600092505050611e01565b600101611da1565b5060019150505b92915050565b60005461010090046001600160a01b03163314611e2357600080fd5b600655565b600c5481565b60005461010090046001600160a01b031681565b611e4a6133dd565b3360009081526011602090815260409182902082516060810184528154815260028201805485518186028101860190965280865291949293858101939290830182828015611ec157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ea3575b505050505081526020016003820154815250509050611ede6133fe565b506000838152600f60209081526040808320815161010080820184528254825260018301548286015260028301548285015260038301546001600160a01b0316606083015260058301546080830152600783015460a0830152600883015460ff808216151560c085015291900416151560e082015286855260069091019092529091208151611fab576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260a0015111612003576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526001820160205260409020541561205b576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061206633610ddb565b600383015490915061207e908263ffffffff6132c316565b6000878152600f60209081526040808320898452600601825280832060038101949094553380845260019094018252918290208490558151848152915188928a927ffd3b653bc5d01de8ac8bc3857b862274c9914a8820abb138052a747aab3d5dde92918290030190a4505050505050565b6000818152600f60205260408120600101544290612117906203f48063ffffffff6132c316565b1092915050565b6000811161215d5760405162461bcd60e51b815260040180806020018281038252602381526020018061357a6023913960400191505060405180910390fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156121b757600080fd5b505af11580156121cb573d6000803e3d6000fd5b505050506040513d60208110156121e157600080fd5b5051612226576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b33600090815260116020526040902060030154156122b657336000908152601160209081526040808320600101909152902054612269908263ffffffff6132c316565b3360009081526011602081815260408084206001810183529320939093559091526003015461229e908263ffffffff6132c316565b3360009081526011602052604090206003015561106b565b33600081815260116020908152604091829020600381018590558251918201909252918252906122ec906002830190600161348f565b50336000818152600192830160205260408120939093556012805492830181559092527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319169091179055565b6011602052600090815260409020805460039091015482565b612365611397565b156123aa576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6123b26133fe565b6002805480835260408084018581523360608601818152426020808901918252600060c08a01818152978152600f82528681208a51815592516001808501919091559551838a015592516003830180546001600160a01b0319166001600160a01b0392831617905560808a0151600584015560a08a0151600784015596516008909201805460e08b015160ff199091169315159390931761ff00191661010093151593909302929092179091558282526010815284822096548754808601895597835281832090970196909655915483516323b872dd60e01b8152600481019290925230602483015260448201889052925192909316936323b872dd936064808201949293918390030190829087803b1580156124ce57600080fd5b505af11580156124e2573d6000803e3d6000fd5b505050506040513d60208110156124f857600080fd5b505161253d576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b600454612550908363ffffffff6132c316565b6004556002805460010190819055604051839133917f6aecdf6df15bd1371e1740df5f88ad1066c22c0506751320acc231234f2c26c590600090a45050565b600b5481565b61259d611397565b156125e2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6125ea6133fe565b506000838152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e08301526126b0576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60c081015115612700576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b82518251146127405760405162461bcd60e51b815260040180806020018281038252602581526020018061368c6025913960400191505060405180910390fd5b600c54600154604080516370a0823160e01b81523360048201529051670de0b6b3a7640000909302926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561279b57600080fd5b505afa1580156127af573d6000803e3d6000fd5b505050506040513d60208110156127c557600080fd5b5051116128035760405162461bcd60e51b81526004018080602001828103825260498152602001806135c86049913960600191505060405180910390fd5b61280b613450565b60a0808301518252608082018490526060820185905233908201526007546006546000878152600f60205260408120600201549092606492010204905060005b855181101561298b57600e54670de0b6b3a764000002600160009054906101000a90046001600160a01b03166001600160a01b03166370a0823188848151811061289157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156128df57600080fd5b505afa1580156128f3573d6000803e3d6000fd5b505050506040513d602081101561290957600080fd5b5051116129475760405162461bcd60e51b815260040180806020018281038252605a815260200180613632605a913960600191505060405180910390fd5b61298160646007546006546064030387848151811061296257fe5b6020026020010151028161297257fe5b8491900463ffffffff6132c316565b915060010161284b565b506000868152600f602052604090206002015481146129e5576040805162461bcd60e51b81526020600482015260116024820152700a8dee8c2d8e640c8dedce840dac2e8c6d607b1b604482015290519081900360640190fd5b6000868152600f6020908152604080832060a087015184526006018252918290208451815581850151600382015591840151600483015560608401518051859392612a3792600585019291019061348f565b5060808201518051612a539160068401916020909101906134f4565b5060a09190910151600791820180546001600160a01b0319166001600160a01b039092169190911790556000878152600f6020526040808220909201805460010190558351915133929189917f3a9041e1cf9ad999ea58090279700f3cb926fbf3c58ecea9897a40540c02581c9190a4505050505050565b60075481565b600080600080600080600080612ae56133fe565b50505060009687525050600f6020908152604095869020865161010080820189528254808352600184015494830185905260028401549983018a905260038401546001600160a01b031660608401819052600585015460808501819052600786015460a0860181905260089096015460ff808216151560c088018190529590910416151560e0909501859052919b959950975095509193509091565b6000612b9f6064611093600a54600b5461331d90919063ffffffff16565b6000848152600f602090815260408083208684526006019091529020600301541015905092915050565b6001546001600160a01b031681565b60085481565b600e5481565b60065481565b60005461010090046001600160a01b03163314612c0657600080fd5b612c0e611397565b61106b576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6000612c746064611093600954600b5461331d90919063ffffffff16565b6000848152600f602090815260408083208684526006019091529020600401541015905092915050565b60005461010090046001600160a01b03163314612cba57600080fd5b6001600160a01b038116612ccd57600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526011602052604090206003810154831115612d9b576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206861766520626570726f20746f20756e6c6f636b0000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600182016020526040902054831115612e0a576040805162461bcd60e51b815260206004820181905260248201527f46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b604482015290519081900360640190fd5b6003810154612e1f908463ffffffff61326616565b336000908152601160209081526040808320600301939093556001600160a01b03851682526001840190522054612e5c908463ffffffff61326616565b3360008181526011602090815260408083206001600160a01b03881680855260019091019092529091209290925514612ed2576001600160a01b038216600090815260116020526040902054612eb8908463ffffffff61326616565b6001600160a01b0383166000908152601160205260409020555b6001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612f2657600080fd5b505af1158015612f3a573d6000803e3d6000fd5b505050506040513d6020811015612f5057600080fd5b5051612f99576040805162461bcd60e51b81526020600482015260136024820152725472616e73666572206469646e7420776f726b60681b604482015290519081900360640190fd5b600b54612fac908463ffffffff61326616565b50505050565b60095481565b612fc06133dd565b336000908152601160209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561303757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613019575b5050505050815260200160038201548152505090506130546133fe565b506000838152600f60209081526040808320815161010080820184528254825260018301548286015260028301548285015260038301546001600160a01b0316606083015260058301546080830152600783015460a0830152600883015460ff808216151560c085015291900416151560e082015286855260069091019092529091208151613121576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260a0015111613179576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b336000908152600282016020526040902054156131d1576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b60006131dc33610ddb565b60048301549091506131f4908263ffffffff6132c316565b6000878152600f60209081526040808320898452600601825280832060048101949094553380845260029094018252918290208490558151848152915188928a927fca6ae470609db3acf375ecc9883dfc54b3f4693d078dd882713eee7ba5d9b69392918290030190a4505050505050565b6000828211156132bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261332c57506000611e01565b8282028284828161333957fe5b0414610e115760405162461bcd60e51b81526004018080602001828103825260218152602001806136116021913960400191505060405180910390fd5b60008082116133cc576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133d557fe5b049392505050565b60405180606001604052806000815260200160608152602001600081525090565b60405180610100016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060c00160405280600081526020016000815260200160008152602001606081526020016060815260200160006001600160a01b031681525090565b8280548282559060005260206000209081019282156134e4579160200282015b828111156134e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906134af565b506134f092915061353b565b5090565b82805482825590600052602060002090810192821561352f579160200282015b8281111561352f578251825591602001919060010190613514565b506134f092915061355f565b61139e91905b808211156134f05780546001600160a01b0319168155600101613541565b61139e91905b808211156134f0576000815560010161356556fe424550524f20416d6f756e7420697320746f20626520686967686572207468616e203054696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429416d6f756e74732068617320746f20657175616c20616464726573736573206c656e67746854686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573a2646970667358221220b997ac024eb7d281c1cfd6052f8b888a1e64c61fdaee85e4c223de9c98424f9164736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061027f5760003560e01c806388632e281161015c578063c98244d0116100ce578063eb2c022311610087578063eb2c0223146108d1578063f29b4250146108f7578063f2fde38b1461091a578063f38b79b714610940578063f78480491461096c578063f87be2d4146109745761027f565b8063c98244d014610871578063ce13eae61461088e578063e113e452146108b1578063e2b6b3d9146108b9578063e38ebcf9146108c1578063e9ade90e146108c95761027f565b80639816c170116101205780639816c170146106ba578063a3ec138d146106d7578063b2bb95f514610716578063bdfd452414610733578063c57631551461073b578063c881bbe8146108695761027f565b806388632e281461064d5780638ccaf9681461066a5780638da5cb5b14610672578063953030c51461067a578063969838221461069d5761027f565b80635ac203cf116101f55780636931e725116101b95780636931e725146105c95780636ba7fa82146105ec57806370c9c791146105f4578063729911a81461061a578063817b1cd214610622578063839408a51461062a5761027f565b80635ac203cf146104335780635c975abb146104595780635d795bd2146104615780636106e4eb146104d75780636253faf8146105c15761027f565b80632307debc116102475780632307debc146103945780633d7349481461039c57806341275358146103cd5780634ca8b9eb146103f157806353da4247146103f957806356036543146104165761027f565b806304e15de51461028457806305563309146102ee5780631ac63d92146103135780631e63c0a514610351578063202996fb14610377575b600080fd5b6102a16004803603602081101561029a57600080fd5b5035610997565b604080519889526020890197909752878701959095526001600160a01b039093166060870152608086019190915260a0850152151560c0840152151560e083015251908190036101000190f35b6103116004803603604081101561030457600080fd5b50803590602001356109ea565b005b61033f6004803603604081101561032957600080fd5b506001600160a01b038135169060200135610dad565b60408051918252519081900360200190f35b61033f6004803603602081101561036757600080fd5b50356001600160a01b0316610ddb565b6103116004803603602081101561038d57600080fd5b5035610e18565b61033f61106e565b6103b9600480360360208110156103b257600080fd5b5035611075565b604080519115158252519081900360200190f35b6103d56110ba565b604080516001600160a01b039092168252519081900360200190f35b61033f6110c9565b6103d56004803603602081101561040f57600080fd5b50356110cf565b6103116004803603602081101561042c57600080fd5b50356110f6565b6103116004803603602081101561044957600080fd5b50356001600160a01b0316611359565b6103b9611397565b6104876004803603602081101561047757600080fd5b50356001600160a01b03166113a1565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c35781810151838201526020016104ab565b505050509050019250505060405180910390f35b6104fa600480360360408110156104ed57600080fd5b508035906020013561140d565b604051808781526020018681526020018581526020018060200180602001846001600160a01b03166001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015610568578181015183820152602001610550565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156105a757818101518382015260200161058f565b505050509050019850505050505050505060405180910390f35b61033f61155a565b610311600480360360408110156105df57600080fd5b5080359060200135611560565b61033f611d2f565b6103116004803603602081101561060a57600080fd5b50356001600160a01b0316611d35565b61033f611d73565b61033f611d79565b6103b96004803603604081101561064057600080fd5b5080359060200135611d7f565b6103116004803603602081101561066357600080fd5b5035611e07565b61033f611e28565b6103d5611e2e565b6103116004803603604081101561069057600080fd5b5080359060200135611e42565b6103b9600480360360208110156106b357600080fd5b50356120f0565b610311600480360360208110156106d057600080fd5b503561211e565b6106fd600480360360208110156106ed57600080fd5b50356001600160a01b0316612344565b6040805192835260208301919091528051918290030190f35b6103116004803603602081101561072c57600080fd5b503561235d565b61033f61258f565b6103116004803603606081101561075157600080fd5b8135919081019060408101602082013564010000000081111561077357600080fd5b82018360208201111561078557600080fd5b803590602001918460208302840111640100000000831117156107a757600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156107f757600080fd5b82018360208201111561080957600080fd5b8035906020019184602083028401116401000000008311171561082b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612595945050505050565b61033f612acb565b6102a16004803603602081101561088757600080fd5b5035612ad1565b6103b9600480360360408110156108a457600080fd5b5080359060200135612b81565b6103d5612bc9565b61033f612bd8565b61033f612bde565b61033f612be4565b610311600480360360208110156108e757600080fd5b50356001600160a01b0316612bea565b6103b96004803603604081101561090d57600080fd5b5080359060200135612c56565b6103116004803603602081101561093057600080fd5b50356001600160a01b0316612c9e565b6103116004803603604081101561095657600080fd5b50803590602001356001600160a01b0316612d33565b61033f612fb2565b6103116004803603604081101561098a57600080fd5b5080359060200135612fb8565b600f6020526000908152604090208054600182015460028301546003840154600585015460078601546008909601549495939492936001600160a01b039092169290919060ff8082169161010090041688565b6109f2611397565b15610a37576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600f6020526040902060020154610a8f576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b6000828152600f60205260409020600301546001600160a01b03163314610afd576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610b0682611075565b15610b58576040805162461bcd60e51b815260206004820152601960248201527f497373756520697320616c726561647920417070726f76656400000000000000604482015290519081900360640190fd5b6000828152600f6020526040902060020180549082905580821115610c9b576001546001600160a01b03166323b872dd3330610b9a868663ffffffff61326616565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610c0257600080fd5b505af1158015610c16573d6000803e3d6000fd5b505050506040513d6020811015610c2c57600080fd5b5051610c71576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b610c93610c84838363ffffffff61326616565b6004549063ffffffff6132c316565b600455610da8565b6001546001600160a01b031663a9059cbb33610cbd848663ffffffff61326616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610d0c57600080fd5b505af1158015610d20573d6000803e3d6000fd5b505050506040513d6020811015610d3657600080fd5b5051610d82576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b610da4610d95828463ffffffff61326616565b6004549063ffffffff61326616565b6004555b505050565b60106020528160005260406000208181548110610dc657fe5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152601160209081526040808320600181019092528220548154610e119163ffffffff6132c316565b9392505050565b610e20611397565b15610e65576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600301546001600160a01b03163314610ed3576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610edc81611075565b15610f2e576040805162461bcd60e51b815260206004820152601c60248201527f49737375652068617320746f206e6f7420626520617070726f76656400000000604482015290519081900360640190fd5b610f37816120f0565b15610f735760405162461bcd60e51b815260040180806020018281038252602b81526020018061359d602b913960400191505060405180910390fd5b6000818152600f60209081526040808320600881018054610100600160ff19909216821761ff0019161790915554600290910154825163a9059cbb60e01b8152336004820152602481019190915291516001600160a01b039091169363a9059cbb93604480850194919392918390030190829087803b158015610ff557600080fd5b505af1158015611009573d6000803e3d6000fd5b505050506040513d602081101561101f57600080fd5b505161106b576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b50565b6203f48081565b600061109f6064611093600854600b5461331d90919063ffffffff16565b9063ffffffff61337616565b6000838152600f602052604090206005015410159050919050565b6005546001600160a01b031681565b600a5481565b601281815481106110dc57fe5b6000918252602090912001546001600160a01b0316905081565b6110fe6133dd565b336000908152601160209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561117557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611157575b5050505050815260200160038201548152505090506111926133fe565b506000828152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e083015261125a576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b611263836120f0565b61126c57600080fd5b6000838152600f60209081526040808320338452600401909152902054156112cf576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b60006112da33610ddb565b6000858152600f60205260409020600501549091506112ff908263ffffffff6132c316565b6000858152600f60209081526040808320600581019490945533808452600490940190915280822084905551839187917f874c2861194fad2379fb15b08319bf4f3ec0c9f22bfd1ed18435ac4600abb0a09190a450505050565b60005461010090046001600160a01b0316331461137557600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60005460ff165b90565b6001600160a01b03811660009081526010602090815260409182902080548351818402810184019094528084526060939283018282801561140157602002820191906000526020600020905b8154815260200190600101908083116113ed575b50505050509050919050565b6000806000606080600061141f613450565b6000898152600f602090815260408083208b8452600601825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156114b357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611495575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561150b57602002820191906000526020600020905b8154815260200190600101908083116114f7575b5050509183525050600791909101546001600160a01b031660209182015281519082015160408301516060840151608085015160a090950151939e929d50909b50995091975095509350505050565b600d5481565b611568611397565b156115ad576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6115b56133fe565b506000828152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e083015261167b576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60c0810151156116cb576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b818160a0015111611723576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b61172d8383612b81565b61177e576040805162461bcd60e51b815260206004820152601f60248201527f49737375652068617320746f20686176652070617373656420766f74696e6700604482015290519081900360640190fd5b6117888383612c56565b156117da576040805162461bcd60e51b815260206004820152601760248201527f4d6572676520686173206265656e206469737075746564000000000000000000604482015290519081900360640190fd5b6117e48383611d7f565b61181f5760405162461bcd60e51b81526004018080602001828103825260298152602001806136b16029913960400191505060405180910390fd5b6000838152600f60205260409020600801805460ff19166001179055611843613450565b6000848152600f60209081526040808320868452600601825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156118d757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116118b9575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561192f57602002820191906000526020600020905b81548152602001906001019080831161191b575b5050509183525050600791909101546001600160a01b0390811660209283015260015460055460065460008a8152600f8652604080822060020154815163a9059cbb60e01b81529487166004860152606493029290920460248401529051959650919092169363a9059cbb936044808501949193918390030190829087803b1580156119ba57600080fd5b505af11580156119ce573d6000803e3d6000fd5b505050506040513d60208110156119e457600080fd5b5051611a29576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b6001546005546007546000878152600f6020908152604080832060020154815163a9059cbb60e01b81526001600160a01b03968716600482015260649190950204602485015251939094169363a9059cbb93604480850194929391928390030190829087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506040513d6020811015611ac557600080fd5b5051611b0a576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b60005b816060015151811015611c86576010600083606001518381518110611b2e57fe5b6020908102919091018101516001600160a01b0390811683528282019390935260409091016000908120805460018181018355918352929091209091018790555460608401518051919092169163a9059cbb9184908110611b8b57fe5b602002602001015160646007546006546064030386608001518681518110611baf57fe5b60200260200101510281611bbf57fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611c0f57600080fd5b505af1158015611c23573d6000803e3d6000fd5b505050506040513d6020811015611c3957600080fd5b5051611c7e576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b600101611b0d565b50600354611c9b90600163ffffffff6132c316565b6003556040820151600454611cb59163ffffffff61326616565b6004556060810151604051815181906020808501910280838360005b83811015611ce9578181015183820152602001611cd1565b50505050905001915050604051809103902083857f2764a4973e9de159354a809146f484fb4f13f7f8d108a4cbce66127098b8769660405160405180910390a450505050565b60035481565b60005461010090046001600160a01b03163314611d5157600080fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b60045481565b6000828152600f60209081526040808320848452600601909152812060030154815b6000858152600f602052604090206007015460ff82161015611dfa576000858152600f6020908152604080832060ff85168452600601909152902060030154821015611df257600092505050611e01565b600101611da1565b5060019150505b92915050565b60005461010090046001600160a01b03163314611e2357600080fd5b600655565b600c5481565b60005461010090046001600160a01b031681565b611e4a6133dd565b3360009081526011602090815260409182902082516060810184528154815260028201805485518186028101860190965280865291949293858101939290830182828015611ec157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611ea3575b505050505081526020016003820154815250509050611ede6133fe565b506000838152600f60209081526040808320815161010080820184528254825260018301548286015260028301548285015260038301546001600160a01b0316606083015260058301546080830152600783015460a0830152600883015460ff808216151560c085015291900416151560e082015286855260069091019092529091208151611fab576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260a0015111612003576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526001820160205260409020541561205b576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061206633610ddb565b600383015490915061207e908263ffffffff6132c316565b6000878152600f60209081526040808320898452600601825280832060038101949094553380845260019094018252918290208490558151848152915188928a927ffd3b653bc5d01de8ac8bc3857b862274c9914a8820abb138052a747aab3d5dde92918290030190a4505050505050565b6000818152600f60205260408120600101544290612117906203f48063ffffffff6132c316565b1092915050565b6000811161215d5760405162461bcd60e51b815260040180806020018281038252602381526020018061357a6023913960400191505060405180910390fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156121b757600080fd5b505af11580156121cb573d6000803e3d6000fd5b505050506040513d60208110156121e157600080fd5b5051612226576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b33600090815260116020526040902060030154156122b657336000908152601160209081526040808320600101909152902054612269908263ffffffff6132c316565b3360009081526011602081815260408084206001810183529320939093559091526003015461229e908263ffffffff6132c316565b3360009081526011602052604090206003015561106b565b33600081815260116020908152604091829020600381018590558251918201909252918252906122ec906002830190600161348f565b50336000818152600192830160205260408120939093556012805492830181559092527fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b0319169091179055565b6011602052600090815260409020805460039091015482565b612365611397565b156123aa576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6123b26133fe565b6002805480835260408084018581523360608601818152426020808901918252600060c08a01818152978152600f82528681208a51815592516001808501919091559551838a015592516003830180546001600160a01b0319166001600160a01b0392831617905560808a0151600584015560a08a0151600784015596516008909201805460e08b015160ff199091169315159390931761ff00191661010093151593909302929092179091558282526010815284822096548754808601895597835281832090970196909655915483516323b872dd60e01b8152600481019290925230602483015260448201889052925192909316936323b872dd936064808201949293918390030190829087803b1580156124ce57600080fd5b505af11580156124e2573d6000803e3d6000fd5b505050506040513d60208110156124f857600080fd5b505161253d576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b600454612550908363ffffffff6132c316565b6004556002805460010190819055604051839133917f6aecdf6df15bd1371e1740df5f88ad1066c22c0506751320acc231234f2c26c590600090a45050565b600b5481565b61259d611397565b156125e2576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6125ea6133fe565b506000838152600f602090815260409182902082516101008082018552825480835260018401549483019490945260028301549482019490945260038201546001600160a01b0316606082015260058201546080820152600782015460a082015260089091015460ff808216151560c0840152939004909216151560e08301526126b0576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60c081015115612700576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b82518251146127405760405162461bcd60e51b815260040180806020018281038252602581526020018061368c6025913960400191505060405180910390fd5b600c54600154604080516370a0823160e01b81523360048201529051670de0b6b3a7640000909302926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561279b57600080fd5b505afa1580156127af573d6000803e3d6000fd5b505050506040513d60208110156127c557600080fd5b5051116128035760405162461bcd60e51b81526004018080602001828103825260498152602001806135c86049913960600191505060405180910390fd5b61280b613450565b60a0808301518252608082018490526060820185905233908201526007546006546000878152600f60205260408120600201549092606492010204905060005b855181101561298b57600e54670de0b6b3a764000002600160009054906101000a90046001600160a01b03166001600160a01b03166370a0823188848151811061289157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156128df57600080fd5b505afa1580156128f3573d6000803e3d6000fd5b505050506040513d602081101561290957600080fd5b5051116129475760405162461bcd60e51b815260040180806020018281038252605a815260200180613632605a913960600191505060405180910390fd5b61298160646007546006546064030387848151811061296257fe5b6020026020010151028161297257fe5b8491900463ffffffff6132c316565b915060010161284b565b506000868152600f602052604090206002015481146129e5576040805162461bcd60e51b81526020600482015260116024820152700a8dee8c2d8e640c8dedce840dac2e8c6d607b1b604482015290519081900360640190fd5b6000868152600f6020908152604080832060a087015184526006018252918290208451815581850151600382015591840151600483015560608401518051859392612a3792600585019291019061348f565b5060808201518051612a539160068401916020909101906134f4565b5060a09190910151600791820180546001600160a01b0319166001600160a01b039092169190911790556000878152600f6020526040808220909201805460010190558351915133929189917f3a9041e1cf9ad999ea58090279700f3cb926fbf3c58ecea9897a40540c02581c9190a4505050505050565b60075481565b600080600080600080600080612ae56133fe565b50505060009687525050600f6020908152604095869020865161010080820189528254808352600184015494830185905260028401549983018a905260038401546001600160a01b031660608401819052600585015460808501819052600786015460a0860181905260089096015460ff808216151560c088018190529590910416151560e0909501859052919b959950975095509193509091565b6000612b9f6064611093600a54600b5461331d90919063ffffffff16565b6000848152600f602090815260408083208684526006019091529020600301541015905092915050565b6001546001600160a01b031681565b60085481565b600e5481565b60065481565b60005461010090046001600160a01b03163314612c0657600080fd5b612c0e611397565b61106b576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6000612c746064611093600954600b5461331d90919063ffffffff16565b6000848152600f602090815260408083208684526006019091529020600401541015905092915050565b60005461010090046001600160a01b03163314612cba57600080fd5b6001600160a01b038116612ccd57600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3360009081526011602052604090206003810154831115612d9b576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206861766520626570726f20746f20756e6c6f636b0000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600182016020526040902054831115612e0a576040805162461bcd60e51b815260206004820181905260248201527f46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b604482015290519081900360640190fd5b6003810154612e1f908463ffffffff61326616565b336000908152601160209081526040808320600301939093556001600160a01b03851682526001840190522054612e5c908463ffffffff61326616565b3360008181526011602090815260408083206001600160a01b03881680855260019091019092529091209290925514612ed2576001600160a01b038216600090815260116020526040902054612eb8908463ffffffff61326616565b6001600160a01b0383166000908152601160205260409020555b6001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015612f2657600080fd5b505af1158015612f3a573d6000803e3d6000fd5b505050506040513d6020811015612f5057600080fd5b5051612f99576040805162461bcd60e51b81526020600482015260136024820152725472616e73666572206469646e7420776f726b60681b604482015290519081900360640190fd5b600b54612fac908463ffffffff61326616565b50505050565b60095481565b612fc06133dd565b336000908152601160209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561303757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613019575b5050505050815260200160038201548152505090506130546133fe565b506000838152600f60209081526040808320815161010080820184528254825260018301548286015260028301548285015260038301546001600160a01b0316606083015260058301546080830152600783015460a0830152600883015460ff808216151560c085015291900416151560e082015286855260069091019092529091208151613121576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260a0015111613179576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b336000908152600282016020526040902054156131d1576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b60006131dc33610ddb565b60048301549091506131f4908263ffffffff6132c316565b6000878152600f60209081526040808320898452600601825280832060048101949094553380845260029094018252918290208490558151848152915188928a927fca6ae470609db3acf375ecc9883dfc54b3f4693d078dd882713eee7ba5d9b69392918290030190a4505050505050565b6000828211156132bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610e11576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261332c57506000611e01565b8282028284828161333957fe5b0414610e115760405162461bcd60e51b81526004018080602001828103825260218152602001806136116021913960400191505060405180910390fd5b60008082116133cc576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133d557fe5b049392505050565b60405180606001604052806000815260200160608152602001600081525090565b60405180610100016040528060008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060c00160405280600081526020016000815260200160008152602001606081526020016060815260200160006001600160a01b031681525090565b8280548282559060005260206000209081019282156134e4579160200282015b828111156134e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906134af565b506134f092915061353b565b5090565b82805482825590600052602060002090810192821561352f579160200282015b8281111561352f578251825591602001919060010190613514565b506134f092915061355f565b61139e91905b808211156134f05780546001600160a01b0319168155600101613541565b61139e91905b808211156134f0576000815560010161356556fe424550524f20416d6f756e7420697320746f20626520686967686572207468616e203054696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429416d6f756e74732068617320746f20657175616c20616464726573736573206c656e67746854686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573a2646970667358221220b997ac024eb7d281c1cfd6052f8b888a1e64c61fdaee85e4c223de9c98424f9164736f6c63430006020033", - "sourceMap": "511:16934:8:-:0;;;704:1;670:35;;743:1;711:33;;779:1;750:30;;814:42;786:70;;;;;;;-1:-1:-1;;;;;786:70:8;;;;;-1:-1:-1;;;;;786:70:8;;;;;;888:1;862:27;;977:1;939:39;;1079:2;1035:46;;1197:1;1153:45;;1374:2;1332:44;;1482:1;1448:35;;1528:8;1490:46;;1588:7;1549:46;;1647:5;1607:45;;3527:95;8:9:-1;5:2;;;30:1;27;20:12;5:2;3527:95:8;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3527:95:8;945:5:26;935:15;;-1:-1:-1;;;;;;508:18:11;935:15:26;516:10:11;508:18;;;;-1:-1:-1;3580:35:8;;-1:-1:-1;;;;;;3580:35:8;-1:-1:-1;;;;;3580:35:8;;;;;;;;;;511:16934;;;;;;;;", - "deployedSourceMap": "511:16934:8:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;511:16934:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1666:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1666:39:8;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1666:39:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11148:979;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11148:979:8;;;;;;;:::i;:::-;;1737:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1737:45:8;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;15874:205;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15874:205:8;-1:-1:-1;;;;;15874:205:8;;:::i;10527:524::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10527:524:8;;:::i;1270:56::-;;;:::i;8685:184::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8685:184:8;;:::i;:::-;;;;;;;;;;;;;;;;;;786:70;;;:::i;:::-;;;;-1:-1:-1;;;;;786:70:8;;;;;;;;;;;;;;1332:44;;;:::i;1867:28::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1867:28:8;;:::i;6174:643::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6174:643:8;;:::i;16858:116::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16858:116:8;-1:-1:-1;;;;;16858:116:8;;:::i;1052:84:26:-;;;:::i;15747:121:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15747:121:8;-1:-1:-1;;;;;15747:121:8;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15747:121:8;;;;;;;;;;;;;;;;;16439:348;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16439:348:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16439:348:8;-1:-1:-1;;;;;16439:348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16439:348:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16439:348:8;;;;;;;;;;;;;;;;;;;;;;;1549:46;;;:::i;14162:1579::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14162:1579:8;;;;;;;:::i;711:33::-;;;:::i;17026:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17026:103:8;-1:-1:-1;;;;;17026:103:8;;:::i;670:35::-;;;:::i;750:30::-;;;:::i;9326:403::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9326:403:8;;;;;;;:::i;17186:95::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17186:95:8;;:::i;1490:46::-;;;:::i;239:20:11:-;;;:::i;6823:813:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6823:813:8;;;;;;;:::i;8473:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8473:206:8;;:::i;3628:839::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3628:839:8;;:::i;1821:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1821:39:8;-1:-1:-1;;;;;1821:39:8;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9810:711;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9810:711:8;;:::i;1448:35::-;;;:::i;12357:1612::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12357:1612:8;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;12357:1612:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12357:1612:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12357:1612:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12357:1612:8;;;;;;;;-1:-1:-1;12357:1612:8;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;12357:1612:8;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12357:1612:8;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12357:1612:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12357:1612:8;;-1:-1:-1;12357:1612:8;;-1:-1:-1;;;;;12357:1612:8:i;939:39::-;;;:::i;16089:344::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16089:344:8;;:::i;9101:215::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9101:215:8;;;;;;;:::i;592:25::-;;;:::i;1035:46::-;;;:::i;1607:45::-;;;:::i;862:27::-;;;:::i;17340:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17340:103:8;-1:-1:-1;;;;;17340:103:8;;:::i;8875:220::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8875:220:8;;;;;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;4473:762:8:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4473:762:8;;;;;;-1:-1:-1;;;;;4473:762:8;;:::i;1153:45::-;;;:::i;7642:825::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7642:825:8;;;;;;;:::i;1666:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1666:39:8;;;;;;;;;;;;;;;;;:::o;11148:979::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;11251:16:8::1;::::0;;;:6:::1;:16;::::0;;;;:28:::1;;::::0;11243:64:::1;;;::::0;;-1:-1:-1;;;11243:64:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11243:64:8;;;;;;;;;;;;;::::1;;11325:16;::::0;;;:6:::1;:16;::::0;;;;:31:::1;;::::0;-1:-1:-1;;;;;11325:31:8::1;11360:10;11325:45;11317:85;;;::::0;;-1:-1:-1;;;11317:85:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11421:25;11437:8;11421:15;:25::i;:::-;11420:26;11412:64;;;::::0;;-1:-1:-1;;;11412:64:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11487:22;11512:16:::0;;;:6:::1;:16;::::0;;;;:28:::1;;::::0;;11574:46;;;;11656:32;;::::1;11653:468;;;11711:10;::::0;-1:-1:-1;;;;;11711:10:8::1;:23;11735:10;11755:4;11762:35;:15:::0;11782:14;11762:35:::1;:19;:35;:::i;:::-;11711:87;;;;;;;;;;;;;-1:-1:-1::0;;;;;11711:87:8::1;-1:-1:-1::0;;;;;11711:87:8::1;;;;;;-1:-1:-1::0;;;;;11711:87:8::1;-1:-1:-1::0;;;;;11711:87:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;11711:87:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11711:87:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;11711:87:8;11703:115:::1;;;::::0;;-1:-1:-1;;;11703:115:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11703:115:8;;;;;;;;;;;;;::::1;;11846:52;11862:35;:15:::0;11882:14;11862:35:::1;:19;:35;:::i;:::-;11846:11;::::0;;:52:::1;:15;:52;:::i;:::-;11832:11;:66:::0;11653:468:::1;;;11935:10;::::0;-1:-1:-1;;;;;11935:10:8::1;:19;11955:10;11967:35;:14:::0;11986:15;11967:35:::1;:18;:35;:::i;:::-;11935:68;;;;;;;;;;;;;-1:-1:-1::0;;;;;11935:68:8::1;-1:-1:-1::0;;;;;11935:68:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;11935:68:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11935:68:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;11935:68:8;11927:103:::1;;;::::0;;-1:-1:-1;;;11927:103:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11927:103:8;;;;;;;;;;;;;::::1;;12058:52;12074:35;:14:::0;12093:15;12074:35:::1;:18;:35;:::i;:::-;12058:11;::::0;;:52:::1;:15;:52;:::i;:::-;12044:11;:66:::0;11653:468:::1;1405:1:26;11148:979:8::0;;:::o;1737:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15874:205::-;-1:-1:-1;;;;;15975:16:8;;15935:7;15975:16;;;:6;:16;;;;;;;;16041:20;;;:30;;;;;;16008:28;;:64;;;:32;:64;:::i;:::-;16001:71;15874:205;-1:-1:-1;;;15874:205:8:o;10527:524::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;10605:16:8::1;::::0;;;:6:::1;:16;::::0;;;;:31:::1;;::::0;-1:-1:-1;;;;;10605:31:8::1;10640:10;10605:45;10597:85;;;::::0;;-1:-1:-1;;;10597:85:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10701:25;10717:8;10701:15;:25::i;:::-;10700:26;10692:67;;;::::0;;-1:-1:-1;;;10692:67:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10778:27;10796:8;10778:17;:27::i;:::-;10777:28;10769:84;;;;-1:-1:-1::0;;;10769:84:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10863:16;::::0;;;:6:::1;:16;::::0;;;;;;;:26:::1;::::0;::::1;:33:::0;;::::1;10892:4;-1:-1:-1::0;;10863:33:8;;::::1;::::0;::::1;-1:-1:-1::0;;10906:32:8::1;;::::0;;;10956:10;10988:28:::1;::::0;;::::1;::::0;10956:61;;-1:-1:-1;;;10956:61:8;;10976:10:::1;10956:61;::::0;::::1;::::0;;;;;;;;;;-1:-1:-1;;;;;10956:10:8;;::::1;::::0;:19:::1;::::0;:61;;;;;10863:16;;10956:61;;;;;;;;;:10;:61;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;10956:61:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;10956:61:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;10956:61:8;10948:96:::1;;;::::0;;-1:-1:-1;;;10948:96:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10948:96:8;;;;;;;;;;;;;::::1;;10527:524:::0;:::o;1270:56::-;1320:6;1270:56;:::o;8685:184::-;8744:4;8804:57;8857:3;8804:48;8825:26;;8804:16;;:20;;:48;;;;:::i;:::-;:52;:57;:52;:57;:::i;:::-;8768:16;;;;:6;:16;;;;;:32;;;:93;;;-1:-1:-1;8685:184:8;;;:::o;786:70::-;;;-1:-1:-1;;;;;786:70:8;;:::o;1332:44::-;;;;:::o;1867:28::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1867:28:8;;-1:-1:-1;1867:28:8;:::o;6174:643::-;6231:18;;:::i;:::-;6259:10;6252:18;;;;:6;:18;;;;;;;;;6231:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6252:18;;6231:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6231:39:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6280:18;;:::i;:::-;-1:-1:-1;6301:16:8;;;;:6;:16;;;;;;;;;6280:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6280:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6327:47;;;;;-1:-1:-1;;;6327:47:8;;;;;;;;;;;;-1:-1:-1;;;6327:47:8;;;;;;;;;;;;;;;6392:27;6410:8;6392:17;:27::i;:::-;6384:36;;;;;;6438:16;;;;:6;:16;;;;;;;;6480:10;6438:53;;:41;;:53;;;;;;:58;6430:88;;;;;-1:-1:-1;;;6430:88:8;;;;;;;;;;;;-1:-1:-1;;;6430:88:8;;;;;;;;;;;;;;;6529:18;6550:29;6568:10;6550:17;:29::i;:::-;6624:16;;;;:6;:16;;;;;:32;;;6529:50;;-1:-1:-1;6624:48:8;;6529:50;6624:48;:36;:48;:::i;:::-;6589:16;;;;:6;:16;;;;;;;;:32;;;:83;;;;6724:10;6682:53;;;:41;;;;:53;;;;;;:66;;;6764:46;6738:10;;6596:8;;6764:46;;6589:16;6764:46;6174:643;;;;:::o;16858:116::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;16934:10:8::1;:33:::0;;-1:-1:-1;;;;;;16934:33:8::1;-1:-1:-1::0;;;;;16934:33:8;;;::::1;::::0;;;::::1;::::0;;16858:116::o;1052:84:26:-;1099:4;1122:7;;;1052:84;;:::o;15747:121:8:-;-1:-1:-1;;;;;15843:18:8;;;;;;:8;:18;;;;;;;;;15836:25;;;;;;;;;;;;;;;;;15809:16;;15836:25;;;15843:18;15836:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15747:121;;;:::o;16439:348::-;16513:7;16522;16531;16540:16;16558;16576:7;16594:26;;:::i;:::-;16623:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;;16594:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16623:41;;16594:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16594:70:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16594:70:8;;;-1:-1:-1;;16594:70:8;;;;;;-1:-1:-1;;;;;16594:70:8;;;;;;16682:9;;16693:11;;;;16706:14;;;;16722:17;;;;16741:15;;;;16758:21;;;;;16682:9;;16693:11;;-1:-1:-1;16706:14:8;;-1:-1:-1;16722:17:8;-1:-1:-1;16741:15:8;;-1:-1:-1;16758:21:8;-1:-1:-1;16439:348:8;-1:-1:-1;;;;16439:348:8:o;1549:46::-;;;;:::o;14162:1579::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;14249:18:8::1;;:::i;:::-;-1:-1:-1::0;14270:16:8::1;::::0;;;:6:::1;:16;::::0;;;;;;;;14249:37;;::::1;::::0;;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;14249:37:8::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;;;::::0;;;;;;::::1;::::0;;::::1;;;::::0;;;;14296:46:::1;;;::::0;;-1:-1:-1;;;14296:46:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14296:46:8;;;;;;;;;;;;;::::1;;14360:15;::::0;::::1;::::0;:24:::1;14352:59;;;::::0;;-1:-1:-1;;;14352:59:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14352:59:8;;;;;;;;;;;;;::::1;;14455:8;14429:5;:22;;;:34;14421:76;;;::::0;;-1:-1:-1;;;14421:76:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14515:35;14531:8;14541;14515:15;:35::i;:::-;14507:79;;;::::0;;-1:-1:-1;;;14507:79:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14605:35;14621:8;14631;14605:15;:35::i;:::-;14604:36;14596:72;;;::::0;;-1:-1:-1;;;14596:72:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14686:46;14713:8;14723;14686:26;:46::i;:::-;14678:100;;;;-1:-1:-1::0;;;14678:100:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14817:16;::::0;;;:6:::1;:16;::::0;;;;:26:::1;;:33:::0;;-1:-1:-1;;14817:33:8::1;14846:4;14817:33;::::0;;14860:26:::1;;:::i;:::-;14889:16;::::0;;;:6:::1;:16;::::0;;;;;;;:41;;;:31:::1;;:41:::0;;;;;;14860:70;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;;;;14889:41;;14860:70;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;14860:70:8::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;14860:70:8;;;-1:-1:-1;;14860:70:8::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14860:70:8;;::::1;;::::0;;::::1;::::0;;14973:10;14993::::1;::::0;15037:8:::1;::::0;-1:-1:-1;15006:16:8;;;:6:::1;:16:::0;;;;;;:28:::1;;::::0;14973:80;;-1:-1:-1;;;14973:80:8;;14993:10;;::::1;14973:80;::::0;::::1;::::0;15049:3:::1;15006:39:::0;::::1;15005:47:::0;;;::::1;14973:80:::0;;;;;;14860:70;;-1:-1:-1;14973:10:8;;;::::1;::::0;:19:::1;::::0;:80;;;;;14860:70;;14973:80;;;;;;;;:10;:80;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;14973:80:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14973:80:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;14973:80:8;14965:108:::1;;;::::0;;-1:-1:-1;;;14965:108:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14965:108:8;;;;;;;;;;;;;::::1;;15126:10;::::0;15146::::1;::::0;15190:20:::1;::::0;15126:10:::1;15159:16:::0;;;:6:::1;:16;::::0;;;;;;;:28:::1;;::::0;15126:92;;-1:-1:-1;;;15126:92:8;;-1:-1:-1;;;;;15146:10:8;;::::1;15126:92;::::0;::::1;::::0;15214:3:::1;15159:51:::0;;;::::1;15158:59;15126:92:::0;;;;;:10;;;::::1;::::0;:19:::1;::::0;:92;;;;;15159:16;;15126:92;;;;;;;;;:10;:92;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;15126:92:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;15126:92:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;15126:92:8;15118:120:::1;;;::::0;;-1:-1:-1;;;15118:120:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15118:120:8;;;;;;;;;;;;;::::1;;15299:6;15295:269;15315:5;:17;;;:24;15311:1;:28;15295:269;;;15359:8;:30;15368:5;:17;;;15386:1;15368:20;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15359:30:8;;::::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;15359:30:8;;;27:10:-1;;39:1:::1;23:18:::0;;::::1;45:23:::0;;15359:45:8;;;;;;;;;::::1;::::0;;;15426:10;15446:17:::1;::::0;::::1;::::0;:20;;15426:10;;;::::1;::::0;:19:::1;::::0;15464:1;;15446:20;::::1;;;;;;;;;;;15529:3;15504:20;;15495:8;;15491:3;:12;:33;15469:5;:15;;;15485:1;15469:18;;;;;;;;;;;;;;:56;15468:64;;;;;;15426:107;;;;;;;;;;;;;-1:-1:-1::0;;;;;15426:107:8::1;-1:-1:-1::0;;;;;15426:107:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;15426:107:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;15426:107:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;15426:107:8;15418:135:::1;;;::::0;;-1:-1:-1;;;15418:135:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15418:135:8;;;;;;;;;;;;;::::1;;15341:3;;15295:269;;;-1:-1:-1::0;15591:14:8::1;::::0;:21:::1;::::0;15610:1:::1;15591:21;:18;:21;:::i;:::-;15574:14;:38:::0;15652:17:::1;::::0;::::1;::::0;15636:11:::1;::::0;:34:::1;::::0;::::1;:15;:34;:::i;:::-;15622:11;:48:::0;15716:17:::1;::::0;::::1;::::0;15685:49:::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;15685:49:8;;;;;;;;;;;;;;;;15706:8;15696;15685:49;;;;;;;;;;1405:1:26;;14162:1579:8::0;;:::o;711:33::-;;;;:::o;17026:103::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;17098:10:8::1;:24:::0;;-1:-1:-1;;;;;;17098:24:8::1;-1:-1:-1::0;;;;;17098:24:8;;;::::1;::::0;;;::::1;::::0;;17026:103::o;670:35::-;;;;:::o;750:30::-;;;;:::o;9326:403::-;9414:4;9455:16;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;9414:4;9512:190;9533:16;;;;:6;:16;;;;;:33;;;9529:37;;;;9512:190;;;9589:16;;;;:6;:16;;;;;;;;:34;;;;;:31;;:34;;;;;:40;;;:57;-1:-1:-1;9586:106:8;;;9672:5;9665:12;;;;;;9586:106;9568:3;;9512:190;;;;9718:4;9711:11;;;9326:403;;;;;:::o;17186:95::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;17254:8:8::1;:20:::0;17186:95::o;1490:46::-;;;;:::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;6823:813:8:-;6898:18;;:::i;:::-;6926:10;6919:18;;;;:6;:18;;;;;;;;;6898:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6919:18;;6898:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6898:39:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6947:18;;:::i;:::-;-1:-1:-1;6968:16:8;;;;:6;:16;;;;;;;;6947:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6947:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7024:41;;;:31;;;;:41;;;;;;7083:9;;7075:47;;;;;-1:-1:-1;;;7075:47:8;;;;;;;;;;;;-1:-1:-1;;;7075:47:8;;;;;;;;;;;;;;;7166:8;7140:5;:22;;;:34;7132:76;;;;;-1:-1:-1;;;7132:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;7255:10;7226:40;;;;:28;;;:40;;;;;;:45;7218:75;;;;;-1:-1:-1;;;7218:75:8;;;;;;;;;;;;-1:-1:-1;;;7218:75:8;;;;;;;;;;;;;;;7304:18;7325:29;7343:10;7325:17;:29::i;:::-;7423:11;;;;7304:50;;-1:-1:-1;7423:27:8;;7304:50;7423:27;:15;:27;:::i;:::-;7373:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;:77;;;;7525:10;7460:76;;;:64;;;;:76;;;;;;:89;;;7573:56;;;;;;;7405:8;;7380;;7573:56;;;;;;;;;6823:813;;;;;;:::o;8473:206::-;8534:4;8595:16;;;:6;:16;;;;;:29;;;8656:15;;8595:58;;1320:6;8595:58;:33;:58;:::i;:::-;:76;;8473:206;-1:-1:-1;;8473:206:8:o;3628:839::-;3709:1;3694:12;:16;3686:64;;;;-1:-1:-1;;;3686:64:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:10;;:64;;;-1:-1:-1;;;3768:64:8;;3792:10;3768:64;;;;3812:4;3768:64;;;;;;;;;;;;-1:-1:-1;;;;;3768:10:8;;;;:23;;:64;;;;;;;;;;;;;;;:10;;:64;;;5:2:-1;;;;30:1;27;20:12;5:2;3768:64:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3768:64:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3768:64:8;3760:92;;;;;-1:-1:-1;;;3760:92:8;;;;;;;;;;;;-1:-1:-1;;;3760:92:8;;;;;;;;;;;;;;;3873:10;3866:18;;;;:6;:18;;;;;:30;;;:35;3863:598;;3993:10;3986:18;;;;:6;:18;;;;;;;;:33;;:45;;;;;;:63;;4036:12;3986:63;:49;:63;:::i;:::-;3945:10;3938:18;;;;:6;:18;;;;;;;;:33;;;:45;;;;:111;;;;4096:18;;;:30;;;:48;;4131:12;4096:48;:34;:48;:::i;:::-;4070:10;4063:18;;;;:6;:18;;;;;:30;;:81;3863:598;;;4232:10;4203:19;4225:18;;;:6;:18;;;;;;;;;4257:17;;;:32;;;4303:44;;;;;;;;;;;4225:18;4303:44;;:29;;;;:44;;:::i;:::-;-1:-1:-1;4382:10:8;4361:32;;;;:20;;;;:32;;;;;:47;;;;4422:11;27:10:-1;;23:18;;;45:23;;4422:28:8;;;;;;;-1:-1:-1;;;;;;4422:28:8;;;;;;3628:839::o;1821:39::-;;;;;;;;;;;;;;;;;;;:::o;9810:711::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;9904:18:8::1;;:::i;:::-;9944:16;::::0;;9932:28;;;9970:17:::1;::::0;;::::1;:32:::0;;;10035:10:::1;10012:20;::::0;::::1;:33:::0;;;10076:15:::1;10055:18;::::0;;::::1;:36:::0;;;-1:-1:-1;10101:15:8::1;::::0;::::1;:23:::0;;;10134:24;;;:6:::1;:24:::0;;;;;:32;;;;;;10101:23;10134:32;;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10134:32:8::1;-1:-1:-1::0;;;;;10134:32:8;;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;-1:-1:-1;;10134:32:8;;::::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;10134:32:8::1;;::::0;::::1;;::::0;;;::::1;::::0;;;::::1;::::0;;;10176:20;;;:8:::1;:20:::0;;;;;10202:16;;27:10:-1;;23:18;;::::1;45:23:::0;;10176:43:8;;;;;;;;::::1;::::0;;;;10260:10;;:64;;-1:-1:-1;;;10260:64:8;;::::1;::::0;::::1;::::0;;;;10304:4:::1;10260:64:::0;;;;;;;;;;;;:10;;;::::1;::::0;:23:::1;::::0;:64;;;;;10055:18;;10260:64;;;;;;;;:10;:64;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;10260:64:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;10260:64:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;10260:64:8;10252:92:::1;;;::::0;;-1:-1:-1;;;10252:92:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10252:92:8;;;;;;;;;;;;;::::1;;10368:11;::::0;:29:::1;::::0;10384:12;10368:29:::1;:15;:29;:::i;:::-;10354:11;:43:::0;10426:16:::1;::::0;;10445:1:::1;10426:20;10407:39:::0;;;;10461:53:::1;::::0;10501:12;;10489:10:::1;::::0;10461:53:::1;::::0;-1:-1:-1;;10461:53:8::1;1405:1:26;9810:711:8::0;:::o;1448:35::-;;;;:::o;12357:1612::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;12502:18:8::1;;:::i;:::-;-1:-1:-1::0;12523:16:8::1;::::0;;;:6:::1;:16;::::0;;;;;;;;12502:37;;::::1;::::0;;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;12502:37:8::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;;;::::0;;;;;;::::1;::::0;;::::1;;;::::0;;;;12549:46:::1;;;::::0;;-1:-1:-1;;;12549:46:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12549:46:8;;;;;;;;;;;;;::::1;;12613:15;::::0;::::1;::::0;:24:::1;12605:59;;;::::0;;-1:-1:-1;;;12605:59:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12605:59:8;;;;;;;;;;;;;::::1;;12703:12;:19;12682:10;:17;:40;12674:90;;;;-1:-1:-1::0;;;12674:90:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12817:20;::::0;12782:10:::1;::::0;:32:::1;::::0;;-1:-1:-1;;;12782:32:8;;12803:10:::1;12782:32;::::0;::::1;::::0;;;12838:6:::1;12817:27:::0;;::::1;::::0;-1:-1:-1;;;;;12782:10:8;;::::1;::::0;:20:::1;::::0;:32;;;;;::::1;::::0;;;;;;;;;:10;:32;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;12782:32:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;12782:32:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;12782:32:8;:62:::1;12774:148;;;;-1:-1:-1::0;;;12774:148:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12933:34;;:::i;:::-;12997:22;::::0;;::::1;::::0;12977:42;;13029:23:::1;::::0;::::1;:36:::0;;;13075:25:::1;::::0;::::1;:40:::0;;;13157:10:::1;13125:29:::0;;::::1;:42:::0;13239:20:::1;::::0;13228:8:::1;::::0;12977:17:::1;13196:16:::0;;;:6:::1;-1:-1:-1::0;13196:16:8;;;;:28:::1;;::::0;12977:17;;13264:3:::1;::::0;13228:31:::1;13196:64;13195:72;::::0;-1:-1:-1;13314:6:8::1;13310:334;13330:12;:19;13326:1;:23;13310:334;;;13417:22;;13440:6;13417:29;13377:10;;;;;;;;;-1:-1:-1::0;;;;;13377:10:8::1;-1:-1:-1::0;;;;;13377:20:8::1;;13398:12;13411:1;13398:15;;;;;;;;;;;;;;13377:37;;;;;;;;;;;;;-1:-1:-1::0;;;;;13377:37:8::1;-1:-1:-1::0;;;;;13377:37:8::1;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;13377:37:8;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;13377:37:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;13377:37:8;:69:::1;13369:172;;;;-1:-1:-1::0;;;13369:172:8::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13563:70;13629:3;13604:20;;13595:8;;13591:3;:12;:33;13574:10;13585:1;13574:13;;;;;;;;;;;;;;:51;13573:59;;;;;13563:5:::0;;13573:59;::::1;13563:70;:9;:70;:::i;:::-;13555:78:::0;-1:-1:-1;13351:3:8::1;;13310:334;;;-1:-1:-1::0;13671:16:8::1;::::0;;;:6:::1;:16;::::0;;;;:28:::1;;::::0;13662:37;::::1;13654:67;;;::::0;;-1:-1:-1;;;13654:67:8;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13654:67:8;;;;;;;;;;;;;::::1;;13732:16;::::0;;;:6:::1;:16;::::0;;;;;;;13764:22:::1;::::0;::::1;::::0;13732:55;;:31:::1;;:55:::0;;;;;;:71;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;13790:13;;13732:55;:71:::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;13732:71:8::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;13732:71:8::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;13732:71:8::1;-1:-1:-1::0;;;;;13732:71:8;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;13849:16:8;;;:6:::1;:16;::::0;;;;;:33;;::::1;::::0;;-1:-1:-1;13849:37:8::1;13813:73:::0;;13932:17;;13901:61;;13951:10:::1;::::0;13932:17;13849:16;;13901:61:::1;::::0;-1:-1:-1;13901:61:8::1;1405:1:26;;;12357:1612:8::0;;;:::o;939:39::-;;;;:::o;16089:344::-;16145:7;16154;16163;16172;16181;16190;16199:4;16205;16220:18;;:::i;:::-;-1:-1:-1;;;16241:16:8;;;;-1:-1:-1;;16241:6:8;:16;;;;;;;;;16220:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16220:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16220:37:8;-1:-1:-1;16220:37:8;-1:-1:-1;16220:37:8;;-1:-1:-1;16220:37:8;;16089:344::o;9101:215::-;9178:4;9253:55;9304:3;9253:46;9274:24;;9253:16;;:20;;:46;;;;:::i;:55::-;9202:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;:106;;;-1:-1:-1;9101:215:8;;;;:::o;592:25::-;;;-1:-1:-1;;;;;592:25:8;;:::o;1035:46::-;;;;:::o;1607:45::-;;;;:::o;862:27::-;;;;:::o;17340:103::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1631:8:26::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:26;;;;;;;;;;;;;::::1;8875:220:8::0;8952:4;9030:57;9083:3;9030:48;9051:26;;9030:16;;:20;;:48;;;;:::i;:57::-;8976:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:50;;;:111;;;-1:-1:-1;8875:220:8;;;;:::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;4473:762:8:-;4577:10;4548:19;4570:18;;;:6;:18;;;;;4606:17;;;;:33;-1:-1:-1;4606:33:8;4598:73;;;;;-1:-1:-1;;;4598:73:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4689:27:8;;;;;;:20;;;:27;;;;;;:43;-1:-1:-1;4689:43:8;4681:88;;;;;-1:-1:-1;;;4681:88:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4813:17;;;;:35;;4835:12;4813:35;:21;:35;:::i;:::-;4787:10;4780:18;;;;:6;:18;;;;;;;;:30;;:68;;;;-1:-1:-1;;;;;4901:27:8;;;;:20;;;:27;;;;:45;;4933:12;4901:45;:31;:45;:::i;:::-;4865:10;4858:18;;;;:6;:18;;;;;;;;-1:-1:-1;;;;;4858:40:8;;;;;:33;;;;:40;;;;;;:88;;;;4959:19;4956:141;;-1:-1:-1;;;;;5032:13:8;;;;;;:6;:13;;;;;:36;:54;;5073:12;5032:54;:40;:54;:::i;:::-;-1:-1:-1;;;;;4993:13:8;;;;;;:6;:13;;;;;:93;4956:141;5115:10;;:45;;;-1:-1:-1;;;5115:45:8;;5135:10;5115:45;;;;;;;;;;;;-1:-1:-1;;;;;5115:10:8;;;;:19;;:45;;;;;;;;;;;;;;;:10;;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;5115:45:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5115:45:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5115:45:8;5107:77;;;;;-1:-1:-1;;;5107:77:8;;;;;;;;;;;;-1:-1:-1;;;5107:77:8;;;;;;;;;;;;;;;5194:16;;:34;;5215:12;5194:34;:20;:34;:::i;:::-;;4473:762;;;:::o;1153:45::-;;;;:::o;7642:825::-;7717:18;;:::i;:::-;7745:10;7738:18;;;;:6;:18;;;;;;;;;7717:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7738:18;;7717:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7717:39:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7766:18;;:::i;:::-;-1:-1:-1;7787:16:8;;;;:6;:16;;;;;;;;7766:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7766:37:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7843:41;;;:31;;;;:41;;;;;;7902:9;;7894:47;;;;;-1:-1:-1;;;7894:47:8;;;;;;;;;;;;-1:-1:-1;;;7894:47:8;;;;;;;;;;;;;;;7985:8;7959:5;:22;;;:34;7951:76;;;;;-1:-1:-1;;;7951:76:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;8077:10;8045:43;;;;:31;;;:43;;;;;;:48;8037:78;;;;;-1:-1:-1;;;8037:78:8;;;;;;;;;;;;-1:-1:-1;;;8037:78:8;;;;;;;;;;;;;;;8126:18;8147:29;8165:10;8147:17;:29::i;:::-;8248:14;;;;8126:50;;-1:-1:-1;8248:30:8;;8126:50;8248:30;:18;:30;:::i;:::-;8195:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:50;;;:83;;;;8356:10;8288:79;;;:67;;;;:79;;;;;;:92;;;8404:56;;;;;;;8227:8;;8202;;8404:56;;;;;;;;;7642:825;;;;;;:::o;3136:155:14:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:14;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:215;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:14:o;511:16934:8:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;511:16934:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;511:16934:8;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;511:16934:8;-1:-1:-1;;;;;511:16934:8;;;;;;;;;;;-1:-1:-1;511:16934:8;;;;;;;-1:-1:-1;511:16934:8;;;-1:-1:-1;511:16934:8;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;511:16934:8;;;-1:-1:-1;511:16934:8;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;511:16934:8;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"../utils/Ownable.sol\";\n\n\n/**\n * @dev Interface of the ERC20 standard + mint & burn\n */\ninterface _IERC20 is IERC20 {\n\n /**\n * @dev Mint Function\n */\n function mint(address account, uint256 amount) external;\n\n /**\n * @dev Burn Function\n */\n function burn(address account, uint256 amount) external;\n\n}\n\n\n/**\n * @title BEPRO Network Contract\n */\ncontract BEPRONetwork is Pausable, Ownable{\n using SafeMath for uint256;\n\n _IERC20 public beproToken;\n\n uint256 constant private year = 365 days;\n uint256 public incrementIssueID = 1;\n uint256 public closedIdsCount = 0;\n uint256 public totalStaked = 0;\n address public feeAddress = 0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A;\n uint256 public feeShare = 2; // (%) - Share to go to marketplace manager\n uint256 public mergeCreatorFeeShare = 1; // (%) - Share to go to the merge proposal creator\n uint256 public percentageNeededForApprove = 10; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public percentageNeededForDispute = 3; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 constant public timeOpenForIssueApprove = 3 days;\n uint256 public percentageNeededForMerge = 20; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public beproVotesStaked = 0;\n\n uint256 public COUNCIL_BEPRO_AMOUNT = 10000000; // 10M\n uint256 public OPERATOR_BEPRO_AMOUNT = 1000000; // 1M\n uint256 public DEVELOPER_BEPRO_AMOUNT = 10000; // 10k\n\n mapping(uint256 => Issue) public issues; /* Distribution object */\n mapping(address => uint256[]) public myIssues; /* Address Based Subcription */\n\n mapping(address => Voter) public voters; \n address[] public votersArray; \n\n\n struct MergeProposal {\n uint256 _id;\n mapping(address => uint256) votesForMergeByAddress; // Address -> Votes for that merge\n mapping(address => uint256) disputesForMergeByAddress; // Address -> Votes for that merge\n uint256 votes; // Amount of votes set\n uint256 disputes; // Amount of votes set\n address[] prAddresses;\n uint256[] prAmounts;\n address proposalAddress;\n }\n\n struct Issue {\n uint256 _id;\n uint256 creationDate;\n uint256 beproStaked;\n address issueGenerator;\n mapping(address => uint256) votesForApproveByAddress;\n uint256 votesForApprove;\n mapping(uint256 => MergeProposal) mergeProposals; // Id -> Merge Proposal\n uint256 mergeIDIncrement;\n bool finalized;\n bool canceled;\n }\n\n struct Voter {\n uint256 votesDelegatedByOthers;\n mapping(address => uint256) votesDelegated;\n address[] delegatedVotesAddresses;\n uint256 beproLocked;\n }\n\n event OpenIssue(uint256 indexed id, address indexed opener, uint256 indexed amount);\n event ApproveIssue(uint256 indexed id, uint256 indexed votes, address indexed approver);\n event MergeProposalCreated(uint256 indexed id, uint256 indexed mergeID, address indexed creator);\n event DisputeMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed disputer);\n event ApproveMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed approver);\n event CloseIssue(uint256 indexed id, uint256 indexed mergeID, address[] indexed addresses);\n\n constructor(address _tokenAddress) public { \n beproToken = _IERC20(_tokenAddress);\n }\n\n function lockBepro(uint256 _beproAmount) public {\n require(_beproAmount > 0, \"BEPRO Amount is to be higher than 0\");\n require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), \"Needs Allowance\");\n\n if(voters[msg.sender].beproLocked != 0){\n // Exists\n voters[msg.sender].votesDelegated[msg.sender] = voters[msg.sender].votesDelegated[msg.sender].add(_beproAmount);\n voters[msg.sender].beproLocked = voters[msg.sender].beproLocked.add(_beproAmount);\n }else{\n // Does not exist\n Voter storage voter = voters[msg.sender];\n voter.beproLocked = _beproAmount;\n voter.delegatedVotesAddresses = [msg.sender];\n voter.votesDelegated[msg.sender] = _beproAmount;\n votersArray.push(msg.sender);\n }\n }\n\n function unlockBepro(uint256 _beproAmount, address _from) public {\n Voter storage voter = voters[msg.sender];\n require(voter.beproLocked >= _beproAmount, \"Has to have bepro to unlock\");\n require(voter.votesDelegated[_from] >= _beproAmount, \"From has to have bepro to unlock\");\n\n voters[msg.sender].beproLocked = voter.beproLocked.sub(_beproAmount);\n voters[msg.sender].votesDelegated[_from] = voter.votesDelegated[_from].sub(_beproAmount);\n if(msg.sender != _from){\n voters[_from].votesDelegatedByOthers = voters[_from].votesDelegatedByOthers.sub(_beproAmount);\n }\n\n require(beproToken.transfer(msg.sender, _beproAmount), \"Transfer didnt work\");\n beproVotesStaked.sub(_beproAmount);\n }\n\n function delegateOracles(uint256 _beproAmount, address _delegatedTo) internal {\n Voter storage voter = voters[msg.sender];\n\n require(_delegatedTo != address(0), \"Cannot transfer to the zero address\");\n require(_delegatedTo != msg.sender, \"Cannot transfer to itself\");\n\n require(voter.beproLocked >= _beproAmount, \"Has to have bepro to unlock\");\n require(voter.votesDelegated[msg.sender] >= _beproAmount, \"From has to have bepro to unlock\");\n\n voters[msg.sender].votesDelegated[msg.sender] = voter.votesDelegated[msg.sender].sub(_beproAmount);\n voters[msg.sender].votesDelegated[_delegatedTo] = voter.votesDelegated[_delegatedTo].add(_beproAmount);\n\n require(voters[_delegatedTo].beproLocked != uint256(0), \"Delegated to has to have voted already\");\n voters[_delegatedTo].votesDelegatedByOthers = voters[_delegatedTo].votesDelegatedByOthers.add(_beproAmount);\n }\n\n function approveIssue(uint256 _issueID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n require(issue._id != 0, \"Issue does not exist\");\n require(isIssueApprovable(_issueID));\n require(issues[_issueID].votesForApproveByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n issues[_issueID].votesForApprove = issues[_issueID].votesForApprove.add(votesToAdd);\n issues[_issueID].votesForApproveByAddress[msg.sender] = votesToAdd;\n\n emit ApproveIssue(_issueID, votesToAdd, msg.sender);\n }\n\n function approveMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.votesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].votes = merge.votes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].votesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit ApproveMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function disputeMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.disputesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].disputes = merge.disputes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].disputesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit DisputeMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function isIssueApprovable(uint256 _issueID) public returns (bool){\n // Only if in the open window\n return (issues[_issueID].creationDate.add(timeOpenForIssueApprove) < block.timestamp);\n }\n\n function isIssueApproved(uint256 _issueID) public returns (bool) {\n return (issues[_issueID].votesForApprove >= beproVotesStaked.mul(percentageNeededForApprove).div(100));\n }\n\n function isMergeDisputed(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].disputes >= beproVotesStaked.mul(percentageNeededForDispute).div(100));\n }\n\n function isMergeApproved(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].votes >= beproVotesStaked.mul(percentageNeededForMerge).div(100));\n }\n \n function isMergeTheOneWithMoreVotes(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n uint256 thisMergeVotes = issues[_issueID].mergeProposals[_mergeID].votes;\n for(uint8 i = 0; i < issues[_issueID].mergeIDIncrement; i++){\n if(issues[_issueID].mergeProposals[i].votes > thisMergeVotes){\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev open an Issue with bepro owned\n * 1st step\n */\n function openIssue(uint256 _beproAmount) public whenNotPaused {\n // Open Issue\n Issue memory issue;\n issue._id = incrementIssueID;\n issue.beproStaked = _beproAmount;\n issue.issueGenerator = msg.sender;\n issue.creationDate = block.timestamp;\n issue.finalized = false;\n issues[incrementIssueID] = issue;\n myIssues[msg.sender].push(incrementIssueID);\n // Stake bepro\n require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), \"Needs Allowance\");\n totalStaked = totalStaked.add(_beproAmount);\n incrementIssueID = incrementIssueID + 1;\n emit OpenIssue(incrementIssueID, msg.sender, _beproAmount);\n }\n\n function redeemIssue(uint256 _issueId) public whenNotPaused {\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue has to not be approved\");\n require(!isIssueApprovable(_issueId), \"Time for approving has to be already passed\");\n issues[_issueId].finalized = true;\n issues[_issueId].canceled = true;\n require(beproToken.transfer(msg.sender, issues[_issueId].beproStaked), \"Transfer not sucessful\");\n }\n\n\n\n /**\n * @dev update an Issue with bepro owned\n * 2nd step (optional)\n */\n function updateIssue(uint256 _issueId, uint256 _newbeproAmount) public whenNotPaused {\n require(issues[_issueId].beproStaked != 0, \"Issue has to exist\");\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue is already Approved\");\n\n uint256 previousAmount = issues[_issueId].beproStaked;\n // Update Issue\n issues[_issueId].beproStaked = _newbeproAmount;\n // Stake bepro\n if(_newbeproAmount > previousAmount){\n require(beproToken.transferFrom(msg.sender, address(this), _newbeproAmount.sub(previousAmount)), \"Needs Allowance\");\n totalStaked = totalStaked.add(_newbeproAmount.sub(previousAmount));\n }else{\n require(beproToken.transfer(msg.sender, previousAmount.sub(_newbeproAmount)), \"Transfer not sucessful\");\n totalStaked = totalStaked.sub(previousAmount.sub(_newbeproAmount));\n }\n }\n\n /**\n * @dev Owner finalizes the issue and distributes the bepro or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _prAddresses PR Address\n * @param _prAmounts PR Amounts\n */\n function proposeIssueMerge(uint256 _issueID, address[] memory _prAddresses, uint256[] memory _prAmounts) public whenNotPaused {\n \n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(_prAmounts.length == _prAddresses.length, \"Amounts has to equal addresses length\");\n require(beproToken.balanceOf(msg.sender) > COUNCIL_BEPRO_AMOUNT*10**18, \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\");\n\n MergeProposal memory mergeProposal;\n mergeProposal._id = issue.mergeIDIncrement;\n mergeProposal.prAmounts = _prAmounts;\n mergeProposal.prAddresses = _prAddresses;\n mergeProposal.proposalAddress = msg.sender;\n\n uint256 total = ((issues[_issueID].beproStaked * (feeShare + mergeCreatorFeeShare)) / 100); // Fee + Merge Creator Fee + 0\n\n for(uint i = 0; i < _prAddresses.length; i++){\n require(beproToken.balanceOf(_prAddresses[i]) > DEVELOPER_BEPRO_AMOUNT*10**18, \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\");\n total = total.add((_prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100);\n }\n\n require(total == issues[_issueID].beproStaked, \"Totals dont match\");\n\n issues[_issueID].mergeProposals[issue.mergeIDIncrement] = mergeProposal;\n issues[_issueID].mergeIDIncrement = issues[_issueID].mergeIDIncrement + 1;\n emit MergeProposalCreated(_issueID, mergeProposal._id, msg.sender);\n }\n\n\n\n /**\n * @dev Owner finalizes the issue and distributes the bepro or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _mergeID merge id \n */\n function closeIssue(uint256 _issueID, uint256 _mergeID) public whenNotPaused {\n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(isMergeApproved(_issueID, _mergeID), \"Issue has to have passed voting\");\n require(!isMergeDisputed(_issueID, _mergeID), \"Merge has been disputed\");\n require(isMergeTheOneWithMoreVotes(_issueID, _mergeID), \"There is a merge proposal with more votes\");\n\n // Closes the issue\n issues[_issueID].finalized = true;\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeID];\n\n // Fee Transfer\n require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * feeShare) / 100), \"Has to transfer\");\n\n // Merge Creator Transfer\n require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * mergeCreatorFeeShare) / 100), \"Has to transfer\");\n \n // Generate Reputation Tokens\n for(uint i = 0; i < merge.prAddresses.length; i++){\n myIssues[merge.prAddresses[i]].push(_issueID);\n require(beproToken.transfer(merge.prAddresses[i], (merge.prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100), \"Has to transfer\");\n }\n\n closedIdsCount = closedIdsCount.add(1);\n totalStaked = totalStaked.sub(issue.beproStaked);\n emit CloseIssue(_issueID, _mergeID, merge.prAddresses);\n }\n\n function getIssuesByAddress(address _address) public returns (uint256[] memory){\n return myIssues[_address];\n }\n\n function getVotesByAddress(address _address) public returns (uint256){\n Voter storage voter = voters[_address];\n return voter.votesDelegatedByOthers.add(voter.votesDelegated[_address]);\n }\n \n function getIssueById(uint256 _issueID) public returns (uint256, uint256, uint256, address, uint256, uint256, bool, bool){\n Issue memory issue = issues[_issueID];\n return (issue._id, issue.beproStaked, issue.creationDate, issue.issueGenerator, issue.votesForApprove, issue.mergeIDIncrement, issue.finalized, issue.canceled);\n }\n\n function getMergeById(uint256 _issueID, uint256 _mergeId) public returns (uint256, uint256, uint256, address[] memory, uint256[] memory, address){\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeId];\n return (merge._id, merge.votes, merge.disputes, merge.prAddresses, merge.prAmounts, merge.proposalAddress);\n }\n\n /**\n * @dev Change BEPRO Token Address (Upgrade)\n */\n function changeBEPROAddress(address _newAddress) public onlyOwner {\n beproToken = _IERC20(_newAddress);\n }\n\n /**\n * @dev Change Fee Address\n */\n function editFeeAddress(address _newAddress) public onlyOwner {\n feeAddress = _newAddress;\n }\n\n /**\n * @dev Change Share Fee Amount\n */\n function editFeeShare(uint256 _feeShare) public onlyOwner {\n feeShare = _feeShare;\n }\n\n /**\n * @dev Upgrade Contract Version\n */\n function upgradeContract(address _newContract) public onlyOwner whenPaused {\n //To be done\n }\n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6937 - ], - "_IERC20": [ - 5180 - ] - }, - "id": 6938, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5160, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5161, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 9319, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 5162, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 11875, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 5163, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 8431, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5164, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9387, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9387", - "typeString": "contract IERC20" - } - }, - "id": 5165, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 9387 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 5180, - "linearizedBaseContracts": [ - 5180, - 9387 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 5172, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5167, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5169, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 5171, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 5180, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 5179, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 5180, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6938, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5181, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 5182, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5183, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 5184, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6937, - "linearizedBaseContracts": [ - 6937, - 8430, - 11874, - 10777 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5187, - "libraryName": { - "contractScope": null, - "id": 5185, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 5186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 5189, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 5188, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5180, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 5192, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "656:8:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 5195, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "704:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 5198, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "743:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 5201, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 5204, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "814:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e9ade90e", - "id": 5207, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "888:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 5210, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 5213, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1079:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 5216, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1197:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2307debc", - "id": 5219, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1320:6:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 5222, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1374:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bdfd4524", - "id": 5225, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1482:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ccaf968", - "id": 5228, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:8:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6253faf8", - "id": 5231, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e38ebcf9", - "id": 5234, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1647:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 5238, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 5237, - "keyType": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1666:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 5236, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 5243, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1737:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 5242, - "keyType": { - "id": 5239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1745:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1737:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 5240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5241, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1756:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 5247, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 5246, - "keyType": { - "id": 5244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1821:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 5245, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 5250, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1867:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.MergeProposal", - "id": 5273, - "members": [ - { - "constant": false, - "id": 5252, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5256, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5255, - "keyType": { - "id": 5253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1956:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5260, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5259, - "keyType": { - "id": 5257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2059:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2051:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5262, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5264, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5267, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 5298, - "members": [ - { - "constant": false, - "id": 5275, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5279, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5281, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5285, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5284, - "keyType": { - "id": 5282, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2483:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2475:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5287, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5291, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 5290, - "keyType": { - "id": 5288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2570:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 5289, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 5310, - "members": [ - { - "constant": false, - "id": 5300, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5304, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5303, - "keyType": { - "id": 5301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2807:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2799:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5306, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2851:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5318, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5312, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5314, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5316, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2941:68:8" - }, - "src": "2926:84:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5326, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5320, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3077:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3033:69:8" - }, - "src": "3015:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5334, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5328, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5330, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5332, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:70:8" - }, - "src": "3108:97:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5344, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5336, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5338, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5340, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5342, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3228:86:8" - }, - "src": "3210:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5354, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5346, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5348, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5350, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5352, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3338:86:8" - }, - "src": "3320:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5363, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5356, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5358, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5361, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5360, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3492:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:74:8" - }, - "src": "3430:91:8" - }, - { - "body": { - "id": 5374, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5368, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5370, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5365, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5369, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5373, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 5375, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5365, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5375, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:23:8" - }, - "returnParameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6937, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5484, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5381, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3709:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3694:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424550524f20416d6f756e7420697320746f20626520686967686572207468616e2030", - "id": 5384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3712:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - }, - "value": "BEPRO Amount is to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - } - ], - "id": 5380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5386, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5394, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3804:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3819:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5388, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "3768:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 5387, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3760:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3760:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3873:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3866:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3866:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5482, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 5446 - ], - "declarations": [ - { - "constant": false, - "id": 5446, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5445, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5451, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5447, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5450, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5448, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4232:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4225:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5452, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5455, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5458, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5307, - "src": "4303:29:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4336:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 5463, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4335:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4303:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5471, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4382:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4361:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5472, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5474, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5478, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5475, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5250, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4422:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4422:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 5483, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 5444, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5408, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5415, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3972:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3938:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5425, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4036:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5416, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5419, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4020:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "3986:49:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:111:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5428, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5429, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5432, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4070:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4063:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5440, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4131:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5434, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4103:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4096:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "4096:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:81:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 5485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5377, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5485, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 5379, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6937, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5580, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 5493 - ], - "declarations": [ - { - "constant": false, - "id": 5493, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5492, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5498, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5494, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4577:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4570:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4548:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5502, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4627:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4641:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4598:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4598:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5506, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5508, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5511, - "indexExpression": { - "argumentTypes": null, - "id": 5510, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4720:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4689:43:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4681:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5517, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5525, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5522, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4813:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4813:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4780:68:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5528, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5529, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5532, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4865:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4858:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5535, - "indexExpression": { - "argumentTypes": null, - "id": 5534, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4892:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4858:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5541, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4933:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5536, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5539, - "indexExpression": { - "argumentTypes": null, - "id": 5538, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4922:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4901:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4901:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:88:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5544, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5545, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4959:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 5547, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5563, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5562, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5000:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4993:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5558, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5073:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5553, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5555, - "indexExpression": { - "argumentTypes": null, - "id": 5554, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5039:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5032:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5032:40:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4993:93:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5561, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5135:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5569, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5147:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5565, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "5115:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5115:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5162:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 5564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5107:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5107:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5577, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5574, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5194:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5487, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5489, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:37:8" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6937, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5692, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5692, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5588, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5590, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5351:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5329:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5596, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5388:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5416:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5380:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5604, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5606, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5488:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5500:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 5605, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5464:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5612, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5614, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5568:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5547:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5582:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5539:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5539:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5620, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5622, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5626, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5651:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5630:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5627, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5666:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5630:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5622:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5622:93:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5631, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5632, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5635, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5733:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5760:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5726:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5646, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5811:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5640, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5644, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5795:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5774:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5774:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5774:50:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5726:98:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5650, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5841:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5834:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5656, - "indexExpression": { - "argumentTypes": null, - "id": 5655, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5868:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5834:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5662, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5923:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5657, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5660, - "indexExpression": { - "argumentTypes": null, - "id": 5659, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5905:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5884:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5884:38:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5834:102:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5665, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5667, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5669, - "indexExpression": { - "argumentTypes": null, - "id": 5668, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5962:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5955:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5999:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5991:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5955:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6003:40:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5947:97:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5678, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5679, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5681, - "indexExpression": { - "argumentTypes": null, - "id": 5680, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6061:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5688, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6148:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5683, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5685, - "indexExpression": { - "argumentTypes": null, - "id": 5684, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6107:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6100:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6100:47:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6100:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6054:107:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5691, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5585, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5288:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:44:8" - }, - "returnParameters": { - "id": 5587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6937, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5775, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5699 - ], - "declarations": [ - { - "constant": false, - "id": 5699, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5698, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5704, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5700, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5703, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6259:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6252:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5705, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5710, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5707, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5709, - "indexExpression": { - "argumentTypes": null, - "id": 5708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6308:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6301:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6280:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5712, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6348:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6351:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5718, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5721, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5720, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6384:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5724, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5726, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6445:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5732, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6480:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6438:58:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6498:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6430:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5737, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5739 - ], - "declarations": [ - { - "constant": false, - "id": 5739, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5744, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5741, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6568:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5740, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6550:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6529:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5745, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5747, - "indexExpression": { - "argumentTypes": null, - "id": 5746, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5754, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6661:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6624:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6624:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6624:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6589:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5757, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5758, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5760, - "indexExpression": { - "argumentTypes": null, - "id": 5759, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6689:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6682:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5764, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6724:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6682:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5765, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5767, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5769, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5770, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6799:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5768, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6764:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5774, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5695, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5776, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5697, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6937, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5874, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5784 - ], - "declarations": [ - { - "constant": false, - "id": 5784, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5783, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5785, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6926:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6919:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5791 - ], - "declarations": [ - { - "constant": false, - "id": 5791, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5790, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5792, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5794, - "indexExpression": { - "argumentTypes": null, - "id": 5793, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "6975:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6968:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5797 - ], - "declarations": [ - { - "constant": false, - "id": 5797, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5796, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5798, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5800, - "indexExpression": { - "argumentTypes": null, - "id": 5799, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7031:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5803, - "indexExpression": { - "argumentTypes": null, - "id": 5802, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7056:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6994:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5806, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7083:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7099:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7075:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5812, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5814, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7140:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7176:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7132:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5820, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5822, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7226:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7270:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7226:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7273:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5831, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5833 - ], - "declarations": [ - { - "constant": false, - "id": 5833, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5838, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7343:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5834, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5839, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5841, - "indexExpression": { - "argumentTypes": null, - "id": 5840, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7380:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5844, - "indexExpression": { - "argumentTypes": null, - "id": 5843, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7405:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5849, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5846, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7423:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7423:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:77:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5852, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5855, - "indexExpression": { - "argumentTypes": null, - "id": 5854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7467:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5858, - "indexExpression": { - "argumentTypes": null, - "id": 5857, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7492:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5862, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5860, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7525:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7460:76:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5863, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5865, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5868, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5869, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5870, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7618:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5866, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5354, - "src": "7573:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5873, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5875, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5778, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5780, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6937, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5973, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5883 - ], - "declarations": [ - { - "constant": false, - "id": 5883, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5882, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5884, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5887, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7738:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5890 - ], - "declarations": [ - { - "constant": false, - "id": 5890, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5889, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5891, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5893, - "indexExpression": { - "argumentTypes": null, - "id": 5892, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7794:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7787:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5895, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5903, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5899, - "indexExpression": { - "argumentTypes": null, - "id": 5898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7850:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5902, - "indexExpression": { - "argumentTypes": null, - "id": 5901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7875:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7813:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5905, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7915:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7902:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7894:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5911, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5913, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5915, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7985:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7995:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5912, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7951:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7951:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5919, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5921, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5925, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8045:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8092:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8045:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8095:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8037:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8037:78:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5930, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5932 - ], - "declarations": [ - { - "constant": false, - "id": 5932, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5937, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8165:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5933, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8147:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8126:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5938, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5940, - "indexExpression": { - "argumentTypes": null, - "id": 5939, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8202:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5943, - "indexExpression": { - "argumentTypes": null, - "id": 5942, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8227:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5948, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5945, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8248:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8248:30:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8195:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5951, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5952, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5954, - "indexExpression": { - "argumentTypes": null, - "id": 5953, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8295:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5957, - "indexExpression": { - "argumentTypes": null, - "id": 5956, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8320:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5961, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8356:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8288:79:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5962, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5964, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5966, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5967, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5968, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8449:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5965, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5344, - "src": "8404:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8404:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5972, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5877, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5879, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6937, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5993, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5986, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "8629:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5981, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5983, - "indexExpression": { - "argumentTypes": null, - "id": 5982, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "8602:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8595:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8595:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8595:58:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8595:76:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5991, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5980, - "id": 5992, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5976, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5978, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6937, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6015, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6001, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6003, - "indexExpression": { - "argumentTypes": null, - "id": 6002, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5996, - "src": "8775:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8768:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8857:3:8", - "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": 6007, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6005, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8804:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8804:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8768:93:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6000, - "id": 6014, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 6016, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5996, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 6000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5999, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5998, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6937, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6042, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6025, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6027, - "indexExpression": { - "argumentTypes": null, - "id": 6026, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "8983:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6030, - "indexExpression": { - "argumentTypes": null, - "id": 6029, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "9008:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9083:3:8", - "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": 6034, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6032, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9030:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9030:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:111:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6040, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6024, - "id": 6041, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 6043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6018, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6020, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 6024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6937, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6069, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6052, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6054, - "indexExpression": { - "argumentTypes": null, - "id": 6053, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "9209:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6047, - "src": "9234:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:3:8", - "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": 6061, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5222, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6059, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9253:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9253:50:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:55:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9202:106:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6067, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6051, - "id": 6068, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 6070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6045, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 6051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6937, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6119, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 6080 - ], - "declarations": [ - { - "constant": false, - "id": 6080, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6119, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6081, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6083, - "indexExpression": { - "argumentTypes": null, - "id": 6082, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9462:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6086, - "indexExpression": { - "argumentTypes": null, - "id": 6085, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "9487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 6115, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6102, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6104, - "indexExpression": { - "argumentTypes": null, - "id": 6103, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6107, - "indexExpression": { - "argumentTypes": null, - "id": 6106, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9621:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:34:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6109, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6114, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 6113, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9672:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6078, - "id": 6112, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6093, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6094, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6096, - "indexExpression": { - "argumentTypes": null, - "id": 6095, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9540:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9533:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6116, - "initializationExpression": { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6116, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6089, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6092, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9526:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9516:11:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6101, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9718:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6078, - "id": 6118, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 6120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6072, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6071, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6074, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 6078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6077, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6076, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6937, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6210, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 6128 - ], - "declarations": [ - { - "constant": false, - "id": 6128, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6210, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6127, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6129, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6130, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6133, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6135, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6136, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6139, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6141, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6142, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6145, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6152, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10076:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10055:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6155, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6156, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10119:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10101:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6161, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6162, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6164, - "indexExpression": { - "argumentTypes": null, - "id": 6163, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10141:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10134:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6165, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6167, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6173, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6171, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10185:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10176:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10176:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10176:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6175, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10284:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10296:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10311:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6177, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "10260:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10260:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10326:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6176, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10252:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10252:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6190, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6193, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "10368:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10368:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10354:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6196, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6197, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6198, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10445:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10426:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10407:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6202, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6205, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10489:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6207, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10501:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6203, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:53:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6209, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 6211, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6125, - "modifierName": { - "argumentTypes": null, - "id": 6124, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6122, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6211, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 6126, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6937, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6272, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6219, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6221, - "indexExpression": { - "argumentTypes": null, - "id": 6220, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10612:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10605:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10640:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10597:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10597:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6228, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6231, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6230, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10701:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10728:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 6229, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10692:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6236, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6239, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6238, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10778:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10807:45:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 6237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10769:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:84:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6244, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6245, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6247, - "indexExpression": { - "argumentTypes": null, - "id": 6246, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10870:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10863:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10892:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10863:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6251, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6252, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6254, - "indexExpression": { - "argumentTypes": null, - "id": 6253, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10913:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10906:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10934:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10906:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6258, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10976:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6264, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6266, - "indexExpression": { - "argumentTypes": null, - "id": 6265, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10995:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10988:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "10988:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6260, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "10956:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10956:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10948:96:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6271, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 6273, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6216, - "modifierName": { - "argumentTypes": null, - "id": 6215, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6213, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 6217, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6937, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6381, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6283, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6285, - "indexExpression": { - "argumentTypes": null, - "id": 6284, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11258:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11283:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11286:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11243:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11243:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6291, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6293, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6295, - "indexExpression": { - "argumentTypes": null, - "id": 6294, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11332:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11325:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11360:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11325:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11372:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11317:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6302, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11421:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11448:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 6303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11412:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11412:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6310, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 6312 - ], - "declarations": [ - { - "constant": false, - "id": 6312, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6381, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6317, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6313, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6315, - "indexExpression": { - "argumentTypes": null, - "id": 6314, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11519:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11512:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6318, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6320, - "indexExpression": { - "argumentTypes": null, - "id": 6319, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11581:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11574:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6324, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6325, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6326, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6379, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11955:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6363, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6361, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11967:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6357, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "11935:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11935:68:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12005:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11927:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11927:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6369, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6374, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12074:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12058:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12058:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12044:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6378, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 6380, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 6355, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11747:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6339, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6337, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11762:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11762:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "11711:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11711:87:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11800:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11703:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:115:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6345, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6350, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6348, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11862:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11862:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11846:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11846:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11832:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6354, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 6382, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6280, - "modifierName": { - "argumentTypes": null, - "id": 6279, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6275, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6277, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 6281, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6937, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6574, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 6396 - ], - "declarations": [ - { - "constant": false, - "id": 6396, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6395, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6397, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6399, - "indexExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "12530:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12523:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12502:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12570:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12557:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12574:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12549:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6408, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12632:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12613:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12639:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12605:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12605:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6416, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6418, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12682:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6420, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12703:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12682:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 6423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12724:39:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 6417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12674:90:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12803:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 6427, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12782:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6432, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5228, - "src": "12817:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12838:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12842:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12838:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12817:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12782:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429", - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12846:75:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - } - ], - "id": 6426, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12774:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12774:148:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 6442 - ], - "declarations": [ - { - "constant": false, - "id": 6442, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6441, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6443, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6444, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6447, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6451, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6454, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13055:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13029:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6460, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13103:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13075:40:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6462, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6463, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13157:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13125:42:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6469, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6485, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6472, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6474, - "indexExpression": { - "argumentTypes": null, - "id": 6473, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13203:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13196:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13196:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6476, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6477, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6479, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13227:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13196:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6481, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13195:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13264:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13195:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13194:74:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13178:90:8" - }, - { - "body": { - "id": 6532, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6500, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6502, - "indexExpression": { - "argumentTypes": null, - "id": 6501, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13411:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13398:15:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 6498, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13377:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5234, - "src": "13417:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13440:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13444:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "13440:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "13417:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13377:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429", - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13448:92:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - }, - "value": "To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - } - ], - "id": 6497, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13369:172:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6512, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6513, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13555:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6516, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6518, - "indexExpression": { - "argumentTypes": null, - "id": 6517, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13585:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13591:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6520, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13595:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6522, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13590:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13574:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13573:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13629:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13573:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6514, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "13563:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13563:70:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6531, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6490, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6491, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13330:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13326:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6533, - "initializationExpression": { - "assignments": [ - 6487 - ], - "declarations": [ - { - "constant": false, - "id": 6487, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6533, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6489, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13323:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13314:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6496, - "nodeType": "ExpressionStatement", - "src": "13351:3:8" - }, - "nodeType": "ForStatement", - "src": "13310:334:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6535, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6536, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6538, - "indexExpression": { - "argumentTypes": null, - "id": 6537, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13678:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13671:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13671:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13662:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13701:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 6534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13654:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13654:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6543, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6544, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6546, - "indexExpression": { - "argumentTypes": null, - "id": 6545, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13739:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13732:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6550, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13764:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13732:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6551, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6553, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6554, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6556, - "indexExpression": { - "argumentTypes": null, - "id": 6555, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13820:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13813:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6558, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "id": 6559, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13856:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13849:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13885:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13849:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:73:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6565, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6567, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13951:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 6566, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5334, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6573, - "nodeType": "EmitStatement", - "src": "13896:66:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 6575, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6393, - "modifierName": { - "argumentTypes": null, - "id": 6392, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6384, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6387, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6386, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12402:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6389, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12433:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12383:78:8" - }, - "returnParameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6937, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6760, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6585 - ], - "declarations": [ - { - "constant": false, - "id": 6585, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6584, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6586, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6588, - "indexExpression": { - "argumentTypes": null, - "id": 6587, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14277:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14270:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14249:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6591, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14317:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14304:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14321:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14296:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14379:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14360:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14386:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14352:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6605, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6609, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14455:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14429:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14465:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 6606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14421:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14421:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6613, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6616, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6617, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6615, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14515:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14552:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 6614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14507:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14507:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6624, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6623, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14605:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14642:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 6622, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14596:72:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6632, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14686:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14734:43:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 6631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14678:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14678:100:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6638, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6639, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6641, - "indexExpression": { - "argumentTypes": null, - "id": 6640, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14824:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14817:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14846:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14817:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6645, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6647 - ], - "declarations": [ - { - "constant": false, - "id": 6647, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6646, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6654, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6648, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "id": 6649, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14896:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6653, - "indexExpression": { - "argumentTypes": null, - "id": 6652, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14921:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6661, - "indexExpression": { - "argumentTypes": null, - "id": 6660, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15013:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15006:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6663, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15005:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15005:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6656, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "14973:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14973:80:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15055:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14965:108:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6671, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6675, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6676, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6678, - "indexExpression": { - "argumentTypes": null, - "id": 6677, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15159:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6680, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6682, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15158:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15214:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15158:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6673, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15126:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15126:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15220:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6672, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15118:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6736, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6701, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6702, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15386:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15368:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15359:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15359:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6714, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6717, - "indexExpression": { - "argumentTypes": null, - "id": 6716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15464:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15446:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15485:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15469:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15491:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6723, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15495:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6725, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15490:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:56:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6729, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:58:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15529:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15468:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6712, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15426:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15426:107:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15535:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15418:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15418:135:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6735, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6693, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15315:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15311:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6737, - "initializationExpression": { - "assignments": [ - 6690 - ], - "declarations": [ - { - "constant": false, - "id": 6690, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6737, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6689, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6692, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15308:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15299:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6700, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6738, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15610:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6739, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15591:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15574:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6744, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6745, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6748, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6746, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15636:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15636:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15622:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6752, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6754, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6755, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6756, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15716:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 6753, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "15685:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 6758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15685:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6759, - "nodeType": "EmitStatement", - "src": "15680:54:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 6761, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6582, - "modifierName": { - "argumentTypes": null, - "id": 6581, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6577, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6579, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6583, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6937, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6773, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6769, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6771, - "indexExpression": { - "argumentTypes": null, - "id": 6770, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "15852:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15843:18:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6768, - "id": 6772, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6763, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15775:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15774:18:8" - }, - "returnParameters": { - "id": 6768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6767, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15809:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15808:18:8" - }, - "scope": 6937, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6796, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6796, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "15982:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15975:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15953:38:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6790, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6793, - "indexExpression": { - "argumentTypes": null, - "id": 6792, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "16062:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16041:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "16008:32:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16008:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6780, - "id": 6795, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6797, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6776, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15901:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15900:18:8" - }, - "returnParameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6779, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6937, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6842, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6819 - ], - "declarations": [ - { - "constant": false, - "id": 6819, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6842, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6818, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6823, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6820, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6822, - "indexExpression": { - "argumentTypes": null, - "id": 6821, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6799, - "src": "16248:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16241:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6824, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6826, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6828, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6830, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6832, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6834, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6836, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6838, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6840, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16274:152:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 6817, - "id": 6841, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6799, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6802, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6804, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6806, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6808, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6810, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6812, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6815, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6937, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6887, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6865 - ], - "declarations": [ - { - "constant": false, - "id": 6865, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6887, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6864, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6872, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6866, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6868, - "indexExpression": { - "argumentTypes": null, - "id": 6867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6845, - "src": "16630:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6871, - "indexExpression": { - "argumentTypes": null, - "id": 6870, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6847, - "src": "16655:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6873, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6875, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6877, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6879, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16681:99:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 6863, - "id": 6886, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6845, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6847, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6850, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6854, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6856, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16540:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6859, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16558:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16576:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16512:72:8" - }, - "scope": 6937, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6901, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6897, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6896, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6900, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6902, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6890, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6902, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16886:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16885:21:8" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6937, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6913, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6909, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6910, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6912, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6914, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6907, - "modifierName": { - "argumentTypes": null, - "id": 6906, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6904, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6914, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17050:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17049:21:8" - }, - "returnParameters": { - "id": 6908, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6937, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6925, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6921, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6922, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6916, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6924, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6926, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6919, - "modifierName": { - "argumentTypes": null, - "id": 6918, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6926, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6920, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6937, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6935, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6936, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6931, - "modifierName": { - "argumentTypes": null, - "id": 6930, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6933, - "modifierName": { - "argumentTypes": null, - "id": 6932, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11843, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6928, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6936, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17365:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17364:22:8" - }, - "returnParameters": { - "id": 6934, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6937, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6938, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6937 - ], - "_IERC20": [ - 5180 - ] - }, - "id": 6938, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5160, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5161, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 9319, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 5162, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 11875, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 5163, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 8431, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5164, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9387, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9387", - "typeString": "contract IERC20" - } - }, - "id": 5165, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 9387 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 5180, - "linearizedBaseContracts": [ - 5180, - 9387 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 5172, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5167, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5169, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 5171, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 5180, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 5179, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 5180, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6938, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5181, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 5182, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5183, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 5184, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6937, - "linearizedBaseContracts": [ - 6937, - 8430, - 11874, - 10777 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5187, - "libraryName": { - "contractScope": null, - "id": 5185, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 5186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 5189, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 5188, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5180, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 5192, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "656:8:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 5195, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "704:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 5198, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "743:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 5201, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 5204, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "814:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e9ade90e", - "id": 5207, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "888:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 5210, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 5213, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1079:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 5216, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1197:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2307debc", - "id": 5219, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1320:6:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 5222, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1374:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bdfd4524", - "id": 5225, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1482:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ccaf968", - "id": 5228, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:8:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6253faf8", - "id": 5231, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e38ebcf9", - "id": 5234, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1647:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 5238, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 5237, - "keyType": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1666:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 5236, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 5243, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1737:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 5242, - "keyType": { - "id": 5239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1745:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1737:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 5240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5241, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1756:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 5247, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 5246, - "keyType": { - "id": 5244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1821:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 5245, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 5250, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1867:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.MergeProposal", - "id": 5273, - "members": [ - { - "constant": false, - "id": 5252, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5256, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5255, - "keyType": { - "id": 5253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1956:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5260, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5259, - "keyType": { - "id": 5257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2059:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2051:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5262, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5264, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5267, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 5298, - "members": [ - { - "constant": false, - "id": 5275, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5279, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5281, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5285, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5284, - "keyType": { - "id": 5282, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2483:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2475:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5287, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5291, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 5290, - "keyType": { - "id": 5288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2570:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 5289, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 5310, - "members": [ - { - "constant": false, - "id": 5300, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5304, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5303, - "keyType": { - "id": 5301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2807:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2799:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5306, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2851:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5318, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5312, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5314, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5316, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2941:68:8" - }, - "src": "2926:84:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5326, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5320, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3077:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3033:69:8" - }, - "src": "3015:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5334, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5328, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5330, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5332, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:70:8" - }, - "src": "3108:97:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5344, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5336, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5338, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5340, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5342, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3228:86:8" - }, - "src": "3210:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5354, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5346, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5348, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5350, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5352, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3338:86:8" - }, - "src": "3320:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5363, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5356, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5358, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5361, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5360, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3492:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:74:8" - }, - "src": "3430:91:8" - }, - { - "body": { - "id": 5374, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5368, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5370, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5365, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5369, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5373, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 5375, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5365, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5375, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:23:8" - }, - "returnParameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6937, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5484, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5381, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3709:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3694:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424550524f20416d6f756e7420697320746f20626520686967686572207468616e2030", - "id": 5384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3712:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - }, - "value": "BEPRO Amount is to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - } - ], - "id": 5380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5386, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5394, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3804:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3819:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5388, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "3768:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 5387, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3760:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3760:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3873:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3866:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3866:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5482, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 5446 - ], - "declarations": [ - { - "constant": false, - "id": 5446, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5445, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5451, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5447, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5450, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5448, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4232:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4225:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5452, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5455, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5458, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5307, - "src": "4303:29:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4336:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 5463, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4335:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4303:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5471, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4382:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4361:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5472, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5474, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5478, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5475, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5250, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4422:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4422:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 5483, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 5444, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5408, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5415, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3972:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3938:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5425, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4036:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5416, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5419, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4020:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "3986:49:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:111:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5428, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5429, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5432, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4070:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4063:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5440, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4131:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5434, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4103:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4096:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "4096:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:81:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 5485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5377, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5485, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 5379, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6937, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5580, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 5493 - ], - "declarations": [ - { - "constant": false, - "id": 5493, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5492, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5498, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5494, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4577:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4570:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4548:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5502, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4627:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4641:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4598:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4598:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5506, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5508, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5511, - "indexExpression": { - "argumentTypes": null, - "id": 5510, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4720:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4689:43:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4681:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5517, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5525, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5522, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4813:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4813:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4780:68:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5528, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5529, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5532, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4865:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4858:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5535, - "indexExpression": { - "argumentTypes": null, - "id": 5534, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4892:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4858:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5541, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4933:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5536, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5539, - "indexExpression": { - "argumentTypes": null, - "id": 5538, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4922:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4901:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4901:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:88:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5544, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5545, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4959:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 5547, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5563, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5562, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5000:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4993:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5558, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5073:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5553, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5555, - "indexExpression": { - "argumentTypes": null, - "id": 5554, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5039:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5032:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5032:40:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4993:93:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5561, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5135:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5569, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5147:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5565, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "5115:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5115:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5162:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 5564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5107:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5107:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5577, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5574, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5194:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5487, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5489, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:37:8" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6937, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5692, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5692, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5588, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5590, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5351:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5329:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5596, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5388:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5416:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5380:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5604, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5606, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5488:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5500:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 5605, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5464:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5612, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5614, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5568:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5547:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5582:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5539:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5539:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5620, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5622, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5626, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5651:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5630:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5627, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5666:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5630:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5622:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5622:93:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5631, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5632, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5635, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5733:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5760:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5726:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5646, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5811:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5640, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5644, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5795:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5774:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5774:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5774:50:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5726:98:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5650, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5841:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5834:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5656, - "indexExpression": { - "argumentTypes": null, - "id": 5655, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5868:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5834:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5662, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5923:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5657, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5660, - "indexExpression": { - "argumentTypes": null, - "id": 5659, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5905:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5884:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5884:38:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5834:102:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5665, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5667, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5669, - "indexExpression": { - "argumentTypes": null, - "id": 5668, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5962:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5955:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5999:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5991:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5955:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6003:40:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5947:97:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5678, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5679, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5681, - "indexExpression": { - "argumentTypes": null, - "id": 5680, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6061:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5688, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6148:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5683, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5685, - "indexExpression": { - "argumentTypes": null, - "id": 5684, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6107:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6100:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6100:47:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6100:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6054:107:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5691, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5585, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5288:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:44:8" - }, - "returnParameters": { - "id": 5587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6937, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5775, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5699 - ], - "declarations": [ - { - "constant": false, - "id": 5699, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5698, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5704, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5700, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5703, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6259:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6252:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5705, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5710, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5707, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5709, - "indexExpression": { - "argumentTypes": null, - "id": 5708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6308:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6301:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6280:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5712, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6348:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6351:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5718, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5721, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5720, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6384:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5724, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5726, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6445:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5732, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6480:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6438:58:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6498:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6430:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5737, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5739 - ], - "declarations": [ - { - "constant": false, - "id": 5739, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5744, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5741, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6568:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5740, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6550:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6529:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5745, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5747, - "indexExpression": { - "argumentTypes": null, - "id": 5746, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5754, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6661:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6624:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6624:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6624:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6589:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5757, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5758, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5760, - "indexExpression": { - "argumentTypes": null, - "id": 5759, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6689:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6682:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5764, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6724:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6682:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5765, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5767, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5769, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5770, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6799:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5768, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6764:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5774, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5695, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5776, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5697, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6937, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5874, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5784 - ], - "declarations": [ - { - "constant": false, - "id": 5784, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5783, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5785, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6926:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6919:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5791 - ], - "declarations": [ - { - "constant": false, - "id": 5791, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5790, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5792, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5794, - "indexExpression": { - "argumentTypes": null, - "id": 5793, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "6975:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6968:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5797 - ], - "declarations": [ - { - "constant": false, - "id": 5797, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5796, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5798, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5800, - "indexExpression": { - "argumentTypes": null, - "id": 5799, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7031:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5803, - "indexExpression": { - "argumentTypes": null, - "id": 5802, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7056:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6994:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5806, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7083:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7099:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7075:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5812, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5814, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7140:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7176:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7132:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5820, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5822, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7226:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7270:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7226:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7273:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5831, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5833 - ], - "declarations": [ - { - "constant": false, - "id": 5833, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5838, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7343:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5834, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5839, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5841, - "indexExpression": { - "argumentTypes": null, - "id": 5840, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7380:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5844, - "indexExpression": { - "argumentTypes": null, - "id": 5843, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7405:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5849, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5846, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7423:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7423:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:77:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5852, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5855, - "indexExpression": { - "argumentTypes": null, - "id": 5854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7467:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5858, - "indexExpression": { - "argumentTypes": null, - "id": 5857, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7492:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5862, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5860, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7525:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7460:76:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5863, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5865, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5868, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5869, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5870, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7618:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5866, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5354, - "src": "7573:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5873, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5875, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5778, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5780, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6937, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5973, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5883 - ], - "declarations": [ - { - "constant": false, - "id": 5883, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5882, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5884, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5887, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7738:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5890 - ], - "declarations": [ - { - "constant": false, - "id": 5890, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5889, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5891, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5893, - "indexExpression": { - "argumentTypes": null, - "id": 5892, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7794:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7787:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5895, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5903, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5899, - "indexExpression": { - "argumentTypes": null, - "id": 5898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7850:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5902, - "indexExpression": { - "argumentTypes": null, - "id": 5901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7875:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7813:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5905, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7915:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7902:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7894:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5911, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5913, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5915, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7985:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7995:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5912, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7951:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7951:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5919, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5921, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5925, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8045:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8092:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8045:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8095:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8037:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8037:78:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5930, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5932 - ], - "declarations": [ - { - "constant": false, - "id": 5932, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5937, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8165:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5933, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8147:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8126:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5938, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5940, - "indexExpression": { - "argumentTypes": null, - "id": 5939, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8202:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5943, - "indexExpression": { - "argumentTypes": null, - "id": 5942, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8227:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5948, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5945, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8248:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8248:30:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8195:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5951, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5952, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5954, - "indexExpression": { - "argumentTypes": null, - "id": 5953, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8295:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5957, - "indexExpression": { - "argumentTypes": null, - "id": 5956, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8320:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5961, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8356:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8288:79:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5962, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5964, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5966, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5967, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5968, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8449:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5965, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5344, - "src": "8404:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8404:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5972, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5877, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5879, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6937, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5993, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5986, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "8629:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5981, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5983, - "indexExpression": { - "argumentTypes": null, - "id": 5982, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "8602:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8595:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8595:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8595:58:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8595:76:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5991, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5980, - "id": 5992, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5976, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5978, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6937, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6015, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6001, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6003, - "indexExpression": { - "argumentTypes": null, - "id": 6002, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5996, - "src": "8775:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8768:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8857:3:8", - "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": 6007, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6005, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8804:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8804:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8768:93:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6000, - "id": 6014, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 6016, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5996, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 6000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5999, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5998, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6937, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6042, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6025, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6027, - "indexExpression": { - "argumentTypes": null, - "id": 6026, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "8983:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6030, - "indexExpression": { - "argumentTypes": null, - "id": 6029, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "9008:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9083:3:8", - "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": 6034, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6032, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9030:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9030:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:111:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6040, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6024, - "id": 6041, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 6043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6018, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6020, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 6024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6937, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6069, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6052, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6054, - "indexExpression": { - "argumentTypes": null, - "id": 6053, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "9209:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6047, - "src": "9234:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:3:8", - "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": 6061, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5222, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6059, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9253:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9253:50:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:55:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9202:106:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6067, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6051, - "id": 6068, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 6070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6045, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 6051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6937, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6119, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 6080 - ], - "declarations": [ - { - "constant": false, - "id": 6080, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6119, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6081, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6083, - "indexExpression": { - "argumentTypes": null, - "id": 6082, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9462:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6086, - "indexExpression": { - "argumentTypes": null, - "id": 6085, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "9487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 6115, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6102, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6104, - "indexExpression": { - "argumentTypes": null, - "id": 6103, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6107, - "indexExpression": { - "argumentTypes": null, - "id": 6106, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9621:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:34:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6109, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6114, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 6113, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9672:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6078, - "id": 6112, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6093, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6094, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6096, - "indexExpression": { - "argumentTypes": null, - "id": 6095, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9540:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9533:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6116, - "initializationExpression": { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6116, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6089, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6092, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9526:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9516:11:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6101, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9718:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6078, - "id": 6118, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 6120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6072, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6071, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6074, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 6078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6077, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6076, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6937, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6210, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 6128 - ], - "declarations": [ - { - "constant": false, - "id": 6128, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6210, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6127, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6129, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6130, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6133, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6135, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6136, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6139, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6141, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6142, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6145, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6152, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10076:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10055:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6155, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6156, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10119:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10101:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6161, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6162, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6164, - "indexExpression": { - "argumentTypes": null, - "id": 6163, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10141:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10134:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6165, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6167, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6173, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6171, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10185:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10176:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10176:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10176:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6175, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10284:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10296:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10311:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6177, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "10260:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10260:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10326:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6176, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10252:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10252:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6190, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6193, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "10368:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10368:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10354:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6196, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6197, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6198, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10445:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10426:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10407:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6202, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6205, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10489:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6207, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10501:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6203, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:53:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6209, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 6211, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6125, - "modifierName": { - "argumentTypes": null, - "id": 6124, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6122, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6211, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 6126, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6937, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6272, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6219, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6221, - "indexExpression": { - "argumentTypes": null, - "id": 6220, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10612:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10605:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10640:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10597:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10597:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6228, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6231, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6230, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10701:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10728:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 6229, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10692:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6236, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6239, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6238, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10778:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10807:45:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 6237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10769:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:84:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6244, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6245, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6247, - "indexExpression": { - "argumentTypes": null, - "id": 6246, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10870:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10863:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10892:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10863:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6251, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6252, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6254, - "indexExpression": { - "argumentTypes": null, - "id": 6253, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10913:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10906:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10934:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10906:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6258, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10976:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6264, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6266, - "indexExpression": { - "argumentTypes": null, - "id": 6265, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10995:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10988:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "10988:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6260, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "10956:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10956:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10948:96:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6271, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 6273, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6216, - "modifierName": { - "argumentTypes": null, - "id": 6215, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6213, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 6217, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6937, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6381, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6283, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6285, - "indexExpression": { - "argumentTypes": null, - "id": 6284, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11258:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11283:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11286:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11243:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11243:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6291, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6293, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6295, - "indexExpression": { - "argumentTypes": null, - "id": 6294, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11332:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11325:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11360:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11325:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11372:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11317:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6302, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11421:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11448:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 6303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11412:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11412:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6310, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 6312 - ], - "declarations": [ - { - "constant": false, - "id": 6312, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6381, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6317, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6313, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6315, - "indexExpression": { - "argumentTypes": null, - "id": 6314, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11519:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11512:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6318, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6320, - "indexExpression": { - "argumentTypes": null, - "id": 6319, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11581:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11574:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6324, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6325, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6326, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6379, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11955:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6363, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6361, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11967:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6357, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "11935:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11935:68:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12005:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11927:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11927:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6369, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6374, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12074:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12058:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12058:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12044:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6378, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 6380, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 6355, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11747:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6339, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6337, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11762:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11762:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "11711:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11711:87:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11800:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11703:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:115:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6345, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6350, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6348, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11862:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11862:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11846:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11846:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11832:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6354, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 6382, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6280, - "modifierName": { - "argumentTypes": null, - "id": 6279, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6275, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6277, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 6281, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6937, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6574, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 6396 - ], - "declarations": [ - { - "constant": false, - "id": 6396, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6395, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6397, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6399, - "indexExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "12530:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12523:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12502:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12570:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12557:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12574:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12549:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6408, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12632:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12613:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12639:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12605:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12605:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6416, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6418, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12682:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6420, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12703:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12682:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 6423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12724:39:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 6417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12674:90:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12803:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 6427, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12782:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6432, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5228, - "src": "12817:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12838:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12842:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12838:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12817:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12782:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429", - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12846:75:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - } - ], - "id": 6426, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12774:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12774:148:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 6442 - ], - "declarations": [ - { - "constant": false, - "id": 6442, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6441, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6443, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6444, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6447, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6451, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6454, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13055:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13029:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6460, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13103:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13075:40:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6462, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6463, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13157:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13125:42:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6469, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6485, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6472, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6474, - "indexExpression": { - "argumentTypes": null, - "id": 6473, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13203:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13196:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13196:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6476, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6477, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6479, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13227:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13196:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6481, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13195:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13264:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13195:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13194:74:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13178:90:8" - }, - { - "body": { - "id": 6532, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6500, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6502, - "indexExpression": { - "argumentTypes": null, - "id": 6501, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13411:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13398:15:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 6498, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13377:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5234, - "src": "13417:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13440:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13444:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "13440:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "13417:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13377:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429", - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13448:92:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - }, - "value": "To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - } - ], - "id": 6497, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13369:172:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6512, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6513, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13555:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6516, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6518, - "indexExpression": { - "argumentTypes": null, - "id": 6517, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13585:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13591:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6520, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13595:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6522, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13590:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13574:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13573:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13629:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13573:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6514, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "13563:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13563:70:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6531, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6490, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6491, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13330:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13326:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6533, - "initializationExpression": { - "assignments": [ - 6487 - ], - "declarations": [ - { - "constant": false, - "id": 6487, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6533, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6489, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13323:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13314:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6496, - "nodeType": "ExpressionStatement", - "src": "13351:3:8" - }, - "nodeType": "ForStatement", - "src": "13310:334:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6535, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6536, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6538, - "indexExpression": { - "argumentTypes": null, - "id": 6537, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13678:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13671:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13671:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13662:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13701:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 6534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13654:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13654:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6543, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6544, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6546, - "indexExpression": { - "argumentTypes": null, - "id": 6545, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13739:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13732:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6550, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13764:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13732:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6551, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6553, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6554, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6556, - "indexExpression": { - "argumentTypes": null, - "id": 6555, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13820:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13813:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6558, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "id": 6559, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13856:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13849:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13885:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13849:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:73:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6565, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6567, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13951:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 6566, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5334, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6573, - "nodeType": "EmitStatement", - "src": "13896:66:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 6575, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6393, - "modifierName": { - "argumentTypes": null, - "id": 6392, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6384, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6387, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6386, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12402:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6389, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12433:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12383:78:8" - }, - "returnParameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6937, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6760, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6585 - ], - "declarations": [ - { - "constant": false, - "id": 6585, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6584, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6586, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6588, - "indexExpression": { - "argumentTypes": null, - "id": 6587, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14277:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14270:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14249:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6591, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14317:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14304:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14321:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14296:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14379:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14360:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14386:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14352:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6605, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6609, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14455:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14429:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14465:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 6606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14421:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14421:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6613, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6616, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6617, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6615, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14515:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14552:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 6614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14507:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14507:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6624, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6623, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14605:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14642:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 6622, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14596:72:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6632, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14686:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14734:43:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 6631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14678:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14678:100:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6638, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6639, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6641, - "indexExpression": { - "argumentTypes": null, - "id": 6640, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14824:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14817:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14846:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14817:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6645, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6647 - ], - "declarations": [ - { - "constant": false, - "id": 6647, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6646, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6654, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6648, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "id": 6649, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14896:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6653, - "indexExpression": { - "argumentTypes": null, - "id": 6652, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14921:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6661, - "indexExpression": { - "argumentTypes": null, - "id": 6660, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15013:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15006:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6663, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15005:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15005:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6656, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "14973:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14973:80:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15055:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14965:108:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6671, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6675, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6676, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6678, - "indexExpression": { - "argumentTypes": null, - "id": 6677, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15159:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6680, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6682, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15158:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15214:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15158:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6673, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15126:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15126:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15220:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6672, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15118:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6736, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6701, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6702, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15386:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15368:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15359:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15359:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6714, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6717, - "indexExpression": { - "argumentTypes": null, - "id": 6716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15464:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15446:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15485:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15469:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15491:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6723, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15495:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6725, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15490:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:56:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6729, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:58:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15529:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15468:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6712, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15426:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15426:107:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15535:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15418:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15418:135:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6735, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6693, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15315:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15311:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6737, - "initializationExpression": { - "assignments": [ - 6690 - ], - "declarations": [ - { - "constant": false, - "id": 6690, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6737, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6689, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6692, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15308:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15299:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6700, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6738, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15610:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6739, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15591:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15574:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6744, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6745, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6748, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6746, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15636:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15636:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15622:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6752, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6754, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6755, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6756, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15716:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 6753, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "15685:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 6758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15685:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6759, - "nodeType": "EmitStatement", - "src": "15680:54:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 6761, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6582, - "modifierName": { - "argumentTypes": null, - "id": 6581, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6577, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6579, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6583, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6937, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6773, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6769, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6771, - "indexExpression": { - "argumentTypes": null, - "id": 6770, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "15852:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15843:18:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6768, - "id": 6772, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6763, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15775:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15774:18:8" - }, - "returnParameters": { - "id": 6768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6767, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15809:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15808:18:8" - }, - "scope": 6937, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6796, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6796, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "15982:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15975:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15953:38:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6790, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6793, - "indexExpression": { - "argumentTypes": null, - "id": 6792, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "16062:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16041:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "16008:32:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16008:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6780, - "id": 6795, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6797, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6776, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15901:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15900:18:8" - }, - "returnParameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6779, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6937, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6842, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6819 - ], - "declarations": [ - { - "constant": false, - "id": 6819, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6842, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6818, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6823, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6820, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6822, - "indexExpression": { - "argumentTypes": null, - "id": 6821, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6799, - "src": "16248:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16241:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6824, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6826, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6828, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6830, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6832, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6834, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6836, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6838, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6840, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16274:152:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 6817, - "id": 6841, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6799, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6802, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6804, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6806, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6808, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6810, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6812, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6815, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6937, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6887, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6865 - ], - "declarations": [ - { - "constant": false, - "id": 6865, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6887, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6864, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6872, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6866, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6868, - "indexExpression": { - "argumentTypes": null, - "id": 6867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6845, - "src": "16630:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6871, - "indexExpression": { - "argumentTypes": null, - "id": 6870, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6847, - "src": "16655:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6873, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6875, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6877, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6879, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16681:99:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 6863, - "id": 6886, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6845, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6847, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6850, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6854, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6856, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16540:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6859, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16558:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16576:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16512:72:8" - }, - "scope": 6937, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6901, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6897, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6896, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6900, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6902, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6890, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6902, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16886:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16885:21:8" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6937, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6913, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6909, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6910, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6912, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6914, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6907, - "modifierName": { - "argumentTypes": null, - "id": 6906, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6904, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6914, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17050:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17049:21:8" - }, - "returnParameters": { - "id": 6908, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6937, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6925, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6921, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6922, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6916, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6924, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6926, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6919, - "modifierName": { - "argumentTypes": null, - "id": 6918, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6926, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6920, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6937, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6935, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6936, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6931, - "modifierName": { - "argumentTypes": null, - "id": 6930, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6933, - "modifierName": { - "argumentTypes": null, - "id": 6932, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11843, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6928, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6936, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17365:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17364:22:8" - }, - "returnParameters": { - "id": 6934, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6937, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6938, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.431Z", - "devdoc": { - "methods": { - "changeBEPROAddress(address)": { - "details": "Change BEPRO Token Address (Upgrade)" - }, - "closeIssue(uint256,uint256)": { - "details": "Owner finalizes the issue and distributes the bepro or rejects the PR", - "params": { - "_issueID": "issue id (mapping with github)", - "_mergeID": "merge id " - } - }, - "editFeeAddress(address)": { - "details": "Change Fee Address" - }, - "editFeeShare(uint256)": { - "details": "Change Share Fee Amount" - }, - "openIssue(uint256)": { - "details": "open an Issue with bepro owned 1st step" - }, - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "proposeIssueMerge(uint256,address[],uint256[])": { - "details": "Owner finalizes the issue and distributes the bepro or rejects the PR", - "params": { - "_issueID": "issue id (mapping with github)", - "_prAddresses": "PR Address", - "_prAmounts": "PR Amounts" - } - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - }, - "updateIssue(uint256,uint256)": { - "details": "update an Issue with bepro owned 2nd step (optional)" - }, - "upgradeContract(address)": { - "details": "Upgrade Contract Version" - } - }, - "title": "BEPRO Network Contract" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/CappedToken.json b/build/contracts/CappedToken.json deleted file mode 100644 index b0a70b57..00000000 --- a/build/contracts/CappedToken.json +++ /dev/null @@ -1,1759 +0,0 @@ -{ - "contractName": "CappedToken", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_cap", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_distributionContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "distributionContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_cap\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_distributionContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distributionContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mintable token with a token cap.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Capped token\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol\":\"CappedToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol\":{\"keccak256\":\"0xb082c7e7a477631dfa8df3af6b18f098db6f203d25629a01ca9719aa84d83514\",\"urls\":[\"bzz-raw://797b1ca8faf7e9c5fe74cfdf2a667d7215c78df6a7b9925a6400eb7b793d6777\",\"dweb:/ipfs/QmWKQCpRcK9ukdReQhSdj6wDpgixqTj7Z9ybfFen2Lj3Ru\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000fa638038062000fa6833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101518651929450925085918591620001c59160039185019062000393565b508051620001db90600490602084019062000393565b505060058054601260ff1990911617610100600160a81b0319166101003302179055506200020a818362000214565b5050505062000438565b6001600160a01b03821662000270576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000287600083836001600160e01b036200032c16565b620002a3816002546200033160201b620009c11790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002d6918390620009c162000331821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200038c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d657805160ff191683800117855562000406565b8280016001018555821562000406579182015b8281111562000406578251825591602001919060010190620003e9565b506200041492915062000418565b5090565b6200043591905b808211156200041457600081556001016200041f565b90565b610b5e80620004486000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e484f6a9344208b47b047d9ed44b6ed3bda431c960c665355ea8c90fb72e223264736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e484f6a9344208b47b047d9ed44b6ed3bda431c960c665355ea8c90fb72e223264736f6c63430006020033", - "sourceMap": "255:304:0:-:0;;;342:214;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:214:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;342:214:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;342:214:0;;420:4:-1;411:14;;;;342:214:0;;;;;411:14:-1;342:214:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;342:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;342:214:0;;420:4:-1;411:14;;;;342:214:0;;;;;411:14:-1;342:214:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;342:214:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;342:214:0;;;;;;;;;;;;;;2032:13:15;;342:214:0;;-1:-1:-1;342:214:0;-1:-1:-1;489:5:0;;496:7;;2032:13:15;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:15;:14;;2094:2;-1:-1:-1;;2082:14:15;;;;-1:-1:-1;;;;;;508:18:11;2082:14:15;516:10:11;508:18;;;;-1:-1:-1;515:34:0::1;521:21:::0;544:4;515:5:::1;:34::i;:::-;342:214:::0;;;;255:304;;7832:370:15;-1:-1:-1;;;;;7915:21:15;;7907:65;;;;;-1:-1:-1;;;7907:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:15;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:15;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:15;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;255:304:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;255:304:0;;;-1:-1:-1;255:304:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "255:304:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;255:304:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2168:89:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4877:317:15;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5589:215:15;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:15;-1:-1:-1;;;;;3399:125:15;;:::i;239:20:11:-;;;:::i;2370:93:15:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:15;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:15;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:15;;;;;;;;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;:::-;;2168:89:15;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:15;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:15;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:15;;;;;;;;;;;;-1:-1:-1;5076:33:15;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:15;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:15;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:15:-;-1:-1:-1;;;;;3499:18:15;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;2370:93:15:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:15;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:15;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:23:-;685:10;598:104;:::o;9355:340:15:-;-1:-1:-1;;;;;9456:19:15;;9448:68;;;;-1:-1:-1;;;9448:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:15;;9526:68;;;;-1:-1:-1;;;9526:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:15;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:15;;7128:70;;;;-1:-1:-1;;;7128:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:15;;7208:71;;;;-1:-1:-1;;;7208:71:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:15;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:15;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:15;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:14:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:14;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;10701:92:15:-;;;;:::o", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\n// File: openzeppelin-solidity/contracts/token/ERC20/CappedToken.sol\n\n/**\n * @title Capped token\n * @dev Mintable token with a token cap.\n */\ncontract CappedToken is ERC20, Ownable{\n\n address public distributionContract;\n\n constructor( \n string memory _name, \n string memory _symbol,\n uint256 _cap, address _distributionContract) public ERC20(_name, _symbol) {\n _mint(_distributionContract, _cap);\n }\n\n}\n\ncontract Token is CappedToken {\n\n constructor(\n string memory _name, \n string memory _symbol,\n uint256 _cap, \n address _distributionContract\n ) public CappedToken(_name, _symbol, _cap, _distributionContract) {\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "exportedSymbols": { - "CappedToken": [ - 31 - ], - "Token": [ - 52 - ] - }, - "id": 53, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 9049, - "src": "26:55:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 8161, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9048, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9048", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8160, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8160", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "CappedToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "5a4528c2", - "id": 9, - "name": "distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 31, - "src": "300:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "300:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29, - "nodeType": "Block", - "src": "505:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "521:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "544:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8928, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "515:34:0" - } - ] - }, - "documentation": null, - "id": 30, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "489:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 21, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "496:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 22, - "modifierName": { - "argumentTypes": null, - "id": 19, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9048, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9048_$", - "typeString": "type(contract ERC20)" - } - }, - "nodeType": "ModifierInvocation", - "src": "483:21:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 18, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "370:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "400:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "431:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "431:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "445:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "445:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:122:0" - }, - "returnParameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [], - "src": "505:0:0" - }, - "scope": 31, - "src": "342:214:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "255:304:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 32, - "name": "CappedToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 31, - "src": "579:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CappedToken_$31", - "typeString": "contract CappedToken" - } - }, - "id": 33, - "nodeType": "InheritanceSpecifier", - "src": "579:11:0" - } - ], - "contractDependencies": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "Token", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 50, - "nodeType": "Block", - "src": "807:7:0", - "statements": [] - }, - "documentation": null, - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 44, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "762:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 45, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 46, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "778:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 47, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "784:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 48, - "modifierName": { - "argumentTypes": null, - "id": 43, - "name": "CappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "750:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CappedToken_$31_$", - "typeString": "type(contract CappedToken)" - } - }, - "nodeType": "ModifierInvocation", - "src": "750:56:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "619:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 34, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "649:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 36, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "649:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 39, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "680:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 38, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "703:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "703:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "609:133:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:0:0" - }, - "scope": 52, - "src": "598:216:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "561:255:0" - } - ], - "src": "0:816:0" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "exportedSymbols": { - "CappedToken": [ - 31 - ], - "Token": [ - 52 - ] - }, - "id": 53, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 9049, - "src": "26:55:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 8161, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9048, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9048", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8160, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8160", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "CappedToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "5a4528c2", - "id": 9, - "name": "distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 31, - "src": "300:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "300:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29, - "nodeType": "Block", - "src": "505:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "521:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "544:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8928, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "515:34:0" - } - ] - }, - "documentation": null, - "id": 30, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "489:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 21, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "496:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 22, - "modifierName": { - "argumentTypes": null, - "id": 19, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9048, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9048_$", - "typeString": "type(contract ERC20)" - } - }, - "nodeType": "ModifierInvocation", - "src": "483:21:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 18, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "370:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "400:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "431:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "431:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "445:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "445:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:122:0" - }, - "returnParameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [], - "src": "505:0:0" - }, - "scope": 31, - "src": "342:214:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "255:304:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 32, - "name": "CappedToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 31, - "src": "579:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CappedToken_$31", - "typeString": "contract CappedToken" - } - }, - "id": 33, - "nodeType": "InheritanceSpecifier", - "src": "579:11:0" - } - ], - "contractDependencies": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "Token", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 50, - "nodeType": "Block", - "src": "807:7:0", - "statements": [] - }, - "documentation": null, - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 44, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "762:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 45, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 46, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "778:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 47, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "784:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 48, - "modifierName": { - "argumentTypes": null, - "id": 43, - "name": "CappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "750:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CappedToken_$31_$", - "typeString": "type(contract CappedToken)" - } - }, - "nodeType": "ModifierInvocation", - "src": "750:56:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "619:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 34, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "649:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 36, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "649:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 39, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "680:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 38, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "703:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "703:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "609:133:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:0:0" - }, - "scope": 52, - "src": "598:216:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "561:255:0" - } - ], - "src": "0:816:0" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-16T08:06:51.148Z", - "devdoc": { - "details": "Mintable token with a token cap.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - }, - "title": "Capped token" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Context.json b/build/contracts/Context.json deleted file mode 100644 index 41106085..00000000 --- a/build/contracts/Context.json +++ /dev/null @@ -1,540 +0,0 @@ -{ - "contractName": "Context", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Context.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 9731 - ] - }, - "id": 9732, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9710, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:22" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9731, - "linearizedBaseContracts": [ - 9731 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9718, - "nodeType": "Block", - "src": "668:34:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9715, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "685:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "685:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 9714, - "id": 9717, - "nodeType": "Return", - "src": "678:17:22" - } - ] - }, - "documentation": null, - "id": 9719, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9711, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:2:22" - }, - "returnParameters": { - "id": 9714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9713, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9719, - "src": "651:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:15:22", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "650:17:22" - }, - "scope": 9731, - "src": "598:104:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9729, - "nodeType": "Block", - "src": "773:165:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9724, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "783:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 9725, - "nodeType": "ExpressionStatement", - "src": "783:4:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9726, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "923:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "923:8:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 9723, - "id": 9728, - "nodeType": "Return", - "src": "916:15:22" - } - ] - }, - "documentation": null, - "id": 9730, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9720, - "nodeType": "ParameterList", - "parameters": [], - "src": "725:2:22" - }, - "returnParameters": { - "id": 9723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9722, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9730, - "src": "759:12:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9721, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "759:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:14:22" - }, - "scope": 9731, - "src": "708:230:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9732, - "src": "566:374:22" - } - ], - "src": "33:908:22" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "exportedSymbols": { - "Context": [ - 9731 - ] - }, - "id": 9732, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9710, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:22" - }, - { - "abstract": true, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 9731, - "linearizedBaseContracts": [ - 9731 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 9718, - "nodeType": "Block", - "src": "668:34:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9715, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "685:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "685:10:22", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 9714, - "id": 9717, - "nodeType": "Return", - "src": "678:17:22" - } - ] - }, - "documentation": null, - "id": 9719, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9711, - "nodeType": "ParameterList", - "parameters": [], - "src": "617:2:22" - }, - "returnParameters": { - "id": 9714, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9713, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9719, - "src": "651:15:22", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 9712, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "651:15:22", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "650:17:22" - }, - "scope": 9731, - "src": "598:104:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9729, - "nodeType": "Block", - "src": "773:165:22", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9724, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "783:4:22", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 9725, - "nodeType": "ExpressionStatement", - "src": "783:4:22" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9726, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "923:3:22", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 9727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "923:8:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 9723, - "id": 9728, - "nodeType": "Return", - "src": "916:15:22" - } - ] - }, - "documentation": null, - "id": 9730, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9720, - "nodeType": "ParameterList", - "parameters": [], - "src": "725:2:22" - }, - "returnParameters": { - "id": 9723, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9722, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9730, - "src": "759:12:22", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9721, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "759:5:22", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "758:14:22" - }, - "scope": 9731, - "src": "708:230:22", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9732, - "src": "566:374:22" - } - ], - "src": "33:908:22" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.646Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC165.json b/build/contracts/ERC165.json deleted file mode 100644 index 8623d19b..00000000 --- a/build/contracts/ERC165.json +++ /dev/null @@ -1,1372 +0,0 @@ -{ - "contractName": "ERC165", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. * Contracts may inherit from this and call {_registerInterface} to declare their support of an interface.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts may inherit from this and call {_registerInterface} to declare\n * their support of an interface.\n */\nabstract contract ERC165 is IERC165 {\n /*\n * bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7\n */\n bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;\n\n /**\n * @dev Mapping of interface ids to whether or not it's supported.\n */\n mapping(bytes4 => bool) private _supportedInterfaces;\n\n constructor () internal {\n // Derived contracts need only register support for their own interfaces,\n // we register support for ERC165 itself here\n _registerInterface(_INTERFACE_ID_ERC165);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n *\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return _supportedInterfaces[interfaceId];\n }\n\n /**\n * @dev Registers the contract as an implementer of the interface defined by\n * `interfaceId`. Support of the actual ERC165 interface is automatic and\n * registering its interface id is not required.\n *\n * See {IERC165-supportsInterface}.\n *\n * Requirements:\n *\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).\n */\n function _registerInterface(bytes4 interfaceId) internal virtual {\n require(interfaceId != 0xffffffff, \"ERC165: invalid interface id\");\n _supportedInterfaces[interfaceId] = true;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 7437 - ] - }, - "id": 7438, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7386, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:11" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 7387, - "nodeType": "ImportDirective", - "scope": 7438, - "sourceUnit": 7448, - "src": "66:23:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7388, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7447, - "src": "291:7:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7447", - "typeString": "contract IERC165" - } - }, - "id": 7389, - "nodeType": "InheritanceSpecifier", - "src": "291:7:11" - } - ], - "contractDependencies": [ - 7447 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC165} interface.\n * Contracts may inherit from this and call {_registerInterface} to declare\ntheir support of an interface.", - "fullyImplemented": true, - "id": 7437, - "linearizedBaseContracts": [ - 7437, - 7447 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 7392, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7437, - "src": "388:57:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7390, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "388:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 7391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:10:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 7396, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7437, - "src": "539:52:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 7395, - "keyType": { - "id": 7393, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "547:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "539:23:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 7394, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "557:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7403, - "nodeType": "Block", - "src": "622:193:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7400, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "787:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 7399, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "768:18:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 7401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7402, - "nodeType": "ExpressionStatement", - "src": "768:40:11" - } - ] - }, - "documentation": null, - "id": 7404, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7397, - "nodeType": "ParameterList", - "parameters": [], - "src": "610:2:11" - }, - "returnParameters": { - "id": 7398, - "nodeType": "ParameterList", - "parameters": [], - "src": "622:0:11" - }, - "scope": 7437, - "src": "598:217:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 7446 - ], - "body": { - "id": 7416, - "nodeType": "Block", - "src": "1056:57:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7412, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "1073:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7414, - "indexExpression": { - "argumentTypes": null, - "id": 7413, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7406, - "src": "1094:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1073:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7411, - "id": 7415, - "nodeType": "Return", - "src": "1066:40:11" - } - ] - }, - "documentation": "@dev See {IERC165-supportsInterface}.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7417, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7408, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1032:8:11" - }, - "parameters": { - "id": 7407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7406, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7417, - "src": "992:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7405, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "992:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:20:11" - }, - "returnParameters": { - "id": 7411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7417, - "src": "1050:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7409, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1050:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1049:6:11" - }, - "scope": 7437, - "src": "965:148:11", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7435, - "nodeType": "Block", - "src": "1572:133:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7423, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7419, - "src": "1590:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 7424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1605:10:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1590:25:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365206964", - "id": 7426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1617:30:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", - "typeString": "literal_string \"ERC165: invalid interface id\"" - }, - "value": "ERC165: invalid interface id" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", - "typeString": "literal_string \"ERC165: invalid interface id\"" - } - ], - "id": 7422, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1582:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1582:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7428, - "nodeType": "ExpressionStatement", - "src": "1582:66:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 7433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7429, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "1658:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7431, - "indexExpression": { - "argumentTypes": null, - "id": 7430, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7419, - "src": "1679:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1658:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1694:4:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1658:40:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7434, - "nodeType": "ExpressionStatement", - "src": "1658:40:11" - } - ] - }, - "documentation": "@dev Registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface id is not required.\n * See {IERC165-supportsInterface}.\n * Requirements:\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).", - "id": 7436, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7419, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7436, - "src": "1535:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7418, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1535:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1534:20:11" - }, - "returnParameters": { - "id": 7421, - "nodeType": "ParameterList", - "parameters": [], - "src": "1572:0:11" - }, - "scope": 7437, - "src": "1507:198:11", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 7438, - "src": "263:1444:11" - } - ], - "src": "33:1675:11" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "exportedSymbols": { - "ERC165": [ - 7437 - ] - }, - "id": 7438, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7386, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:11" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "./IERC165.sol", - "id": 7387, - "nodeType": "ImportDirective", - "scope": 7438, - "sourceUnit": 7448, - "src": "66:23:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7388, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7447, - "src": "291:7:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7447", - "typeString": "contract IERC165" - } - }, - "id": 7389, - "nodeType": "InheritanceSpecifier", - "src": "291:7:11" - } - ], - "contractDependencies": [ - 7447 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC165} interface.\n * Contracts may inherit from this and call {_registerInterface} to declare\ntheir support of an interface.", - "fullyImplemented": true, - "id": 7437, - "linearizedBaseContracts": [ - 7437, - 7447 - ], - "name": "ERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 7392, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7437, - "src": "388:57:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7390, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "388:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 7391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:10:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 7396, - "name": "_supportedInterfaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7437, - "src": "539:52:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "typeName": { - "id": 7395, - "keyType": { - "id": 7393, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "547:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Mapping", - "src": "539:23:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - }, - "valueType": { - "id": 7394, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "557:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7403, - "nodeType": "Block", - "src": "622:193:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7400, - "name": "_INTERFACE_ID_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "787:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 7399, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "768:18:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 7401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "768:40:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7402, - "nodeType": "ExpressionStatement", - "src": "768:40:11" - } - ] - }, - "documentation": null, - "id": 7404, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7397, - "nodeType": "ParameterList", - "parameters": [], - "src": "610:2:11" - }, - "returnParameters": { - "id": 7398, - "nodeType": "ParameterList", - "parameters": [], - "src": "622:0:11" - }, - "scope": 7437, - "src": "598:217:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 7446 - ], - "body": { - "id": 7416, - "nodeType": "Block", - "src": "1056:57:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7412, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "1073:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7414, - "indexExpression": { - "argumentTypes": null, - "id": 7413, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7406, - "src": "1094:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1073:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7411, - "id": 7415, - "nodeType": "Return", - "src": "1066:40:11" - } - ] - }, - "documentation": "@dev See {IERC165-supportsInterface}.\n * Time complexity O(1), guaranteed to always use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7417, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7408, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1032:8:11" - }, - "parameters": { - "id": 7407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7406, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7417, - "src": "992:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7405, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "992:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "991:20:11" - }, - "returnParameters": { - "id": 7411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7417, - "src": "1050:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7409, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1050:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1049:6:11" - }, - "scope": 7437, - "src": "965:148:11", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7435, - "nodeType": "Block", - "src": "1572:133:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7423, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7419, - "src": "1590:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30786666666666666666", - "id": 7424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1605:10:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4294967295_by_1", - "typeString": "int_const 4294967295" - }, - "value": "0xffffffff" - }, - "src": "1590:25:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433136353a20696e76616c696420696e74657266616365206964", - "id": 7426, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1617:30:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", - "typeString": "literal_string \"ERC165: invalid interface id\"" - }, - "value": "ERC165: invalid interface id" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_282912c0dfceceb28d77d0333f496b83948f9ba5b3154358a8b140b849289dee", - "typeString": "literal_string \"ERC165: invalid interface id\"" - } - ], - "id": 7422, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1582:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1582:66:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7428, - "nodeType": "ExpressionStatement", - "src": "1582:66:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 7433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7429, - "name": "_supportedInterfaces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "1658:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes4_$_t_bool_$", - "typeString": "mapping(bytes4 => bool)" - } - }, - "id": 7431, - "indexExpression": { - "argumentTypes": null, - "id": 7430, - "name": "interfaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7419, - "src": "1679:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1658:33:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1694:4:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1658:40:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7434, - "nodeType": "ExpressionStatement", - "src": "1658:40:11" - } - ] - }, - "documentation": "@dev Registers the contract as an implementer of the interface defined by\n`interfaceId`. Support of the actual ERC165 interface is automatic and\nregistering its interface id is not required.\n * See {IERC165-supportsInterface}.\n * Requirements:\n * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`).", - "id": 7436, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_registerInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7419, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7436, - "src": "1535:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7418, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1535:6:11", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1534:20:11" - }, - "returnParameters": { - "id": 7421, - "nodeType": "ParameterList", - "parameters": [], - "src": "1572:0:11" - }, - "scope": 7437, - "src": "1507:198:11", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 7438, - "src": "263:1444:11" - } - ], - "src": "33:1675:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.621Z", - "devdoc": { - "details": "Implementation of the {IERC165} interface. * Contracts may inherit from this and call {_registerInterface} to declare their support of an interface.", - "methods": { - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC20.json b/build/contracts/ERC20.json deleted file mode 100644 index 1bddcf57..00000000 --- a/build/contracts/ERC20.json +++ /dev/null @@ -1,13371 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. * To select a different value for {decimals}, use {_setupDecimals}. * All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000ca538038062000ca5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff191660121790555062000285565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022357805160ff191683800117855562000253565b8280016001018555821562000253579182015b828111156200025357825182559160200191906001019062000236565b506200026192915062000265565b5090565b6200028291905b808211156200026157600081556001016200026c565b90565b610a1080620002956000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122078297945ebcc335bef7b7ea75d2f57d09865ac638d1bb734a19df045a9d9858964736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103ff565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610408565b6101736004803603602081101561021b57600080fd5b50356001600160a01b031661045c565b6100b6610477565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d8565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610546565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661055a565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610585565b8484610589565b50600192915050565b60025490565b600061037f848484610675565b6103f58461038b610585565b6103f085604051806060016040528060288152602001610945602891396001600160a01b038a166000908152600160205260408120906103c9610585565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6107dc16565b610589565b5060019392505050565b60055460ff1690565b6000610363610415610585565b846103f08560016000610426610585565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61087316565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104e5610585565b846103f0856040518060600160405280602581526020016109b6602591396001600061050f610585565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6107dc16565b6000610363610553610585565b8484610675565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105ce5760405162461bcd60e51b81526004018080602001828103825260248152602001806109926024913960400191505060405180910390fd5b6001600160a01b0382166106135760405162461bcd60e51b81526004018080602001828103825260228152602001806108fd6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106ba5760405162461bcd60e51b815260040180806020018281038252602581526020018061096d6025913960400191505060405180910390fd5b6001600160a01b0382166106ff5760405162461bcd60e51b81526004018080602001828103825260238152602001806108da6023913960400191505060405180910390fd5b61070a8383836108d4565b61074d8160405180606001604052806026815260200161091f602691396001600160a01b038616600090815260208190526040902054919063ffffffff6107dc16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610782908263ffffffff61087316565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561086b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610830578181015183820152602001610818565b50505050905090810190601f16801561085d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108cd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122078297945ebcc335bef7b7ea75d2f57d09865ac638d1bb734a19df045a9d9858964736f6c63430006020033", - "sourceMap": "1321:9474:14:-:0;;;1958:145;8:9:-1;5:2;;;30:1;27;20:12;5:2;1958:145:14;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1958:145:14;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1958:145:14;;420:4:-1;411:14;;;;1958:145:14;;;;;411:14:-1;1958:145:14;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1958:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1958:145:14;;420:4:-1;411:14;;;;1958:145:14;;;;;411:14:-1;1958:145:14;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1958:145:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1958:145:14;;-1:-1:-1;;2032:13:14;;;;-1:-1:-1;2032:5:14;;:13;;;;;:::i;:::-;-1:-1:-1;2055:17:14;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:14;:14;;-1:-1:-1;;2082:14:14;2094:2;2082:14;;;-1:-1:-1;1321:9474:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1321:9474:14;;;-1:-1:-1;1321:9474:14;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "1321:9474:14:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1321:9474:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2168:89:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:14;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4877:317:14;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5589:215:14;;;;;;;;:::i;3399:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:14;-1:-1:-1;;;;;3399:125:14;;:::i;2370:93::-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:14;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:14;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:14;;;;;;;;;;:::i;2168:89::-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:14;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:14;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:14;;;;;;;;;;;;-1:-1:-1;5076:33:14;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:14;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:14;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:14;;;:34;;;;;;;;;;;:50;:38;:50;:::i;3399:125::-;-1:-1:-1;;;;;3499:18:14;3473:7;3499:18;;;;;;;;;;;;3399:125::o;2370:93::-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:14;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:14;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:14;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;598:104:22:-;685:10;598:104;:::o;9355:340:14:-;-1:-1:-1;;;;;9456:19:14;;9448:68;;;;-1:-1:-1;;;9448:68:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:14;;9526:68;;;;-1:-1:-1;;;9526:68:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:14;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:14;;7128:70;;;;-1:-1:-1;;;7128:70:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:14;;7208:71;;;;-1:-1:-1;;;7208:71:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:14;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:14;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:14;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:13:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:29:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:13;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:13:o;10701:92:14:-;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../../utils/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n uint8 private _decimals;\n\n /**\n * @dev Sets the values for {name} and {symbol}, initializes {decimals} with\n * a default value of 18.\n *\n * To select a different value for {decimals}, use {_setupDecimals}.\n *\n * All three of these values are immutable: they can only be set once during\n * construction.\n */\n constructor (string memory name_, string memory symbol_) public {\n _name = name_;\n _symbol = symbol_;\n _decimals = 18;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5,05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\n * called.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return _decimals;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public virtual override returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\n *\n * Requirements:\n *\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for ``sender``'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal virtual {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(sender, recipient, amount);\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Sets {decimals} to a value other than the default one of 18.\n *\n * WARNING: This function should only be called from the constructor. Most\n * applications that interact with token contracts will not expect\n * {decimals} to ever change, and may work incorrectly if it does.\n */\n function _setupDecimals(uint8 decimals_) internal virtual {\n _decimals = decimals_;\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be to transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 8272 - ] - }, - "id": 8273, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7790, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:14" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 7791, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 9732, - "src": "66:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 7792, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 8342, - "src": "100:22:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 7793, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 7789, - "src": "123:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7794, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "1339:7:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 7795, - "nodeType": "InheritanceSpecifier", - "src": "1339:7:14" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7796, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8341, - "src": "1348:6:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8341", - "typeString": "contract IERC20" - } - }, - "id": 7797, - "nodeType": "InheritanceSpecifier", - "src": "1348:6:14" - } - ], - "contractDependencies": [ - 8341, - 9731 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20PresetMinterPauser}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 8272, - "linearizedBaseContracts": [ - 8272, - 8341, - 9731 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7800, - "libraryName": { - "contractScope": null, - "id": 7798, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7788, - "src": "1367:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7788", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1361:27:14", - "typeName": { - "id": 7799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 7804, - "name": "_balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1394:46:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 7803, - "keyType": { - "id": 7801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7810, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1447:69:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 7809, - "keyType": { - "id": 7805, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1456:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1447:49:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 7808, - "keyType": { - "id": 7806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1467:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7807, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1487:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7812, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1523:28:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1523:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7814, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1558:20:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7813, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1558:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7816, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1584:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7815, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1584:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7818, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1612:23:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7817, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1612:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7837, - "nodeType": "Block", - "src": "2022:81:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7825, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "2032:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7826, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7820, - "src": "2040:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2032:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7828, - "nodeType": "ExpressionStatement", - "src": "2032:13:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 7831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7829, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "2055:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7830, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7822, - "src": "2065:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2055:17:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7832, - "nodeType": "ExpressionStatement", - "src": "2055:17:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 7835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7833, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "2082:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 7834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2094:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2082:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 7836, - "nodeType": "ExpressionStatement", - "src": "2082:14:14" - } - ] - }, - "documentation": "@dev Sets the values for {name} and {symbol}, initializes {decimals} with\na default value of 18.\n * To select a different value for {decimals}, use {_setupDecimals}.\n * All three of these values are immutable: they can only be set once during\nconstruction.", - "id": 7838, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7820, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7838, - "src": "1971:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1971:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7822, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7838, - "src": "1992:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7821, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1970:44:14" - }, - "returnParameters": { - "id": 7824, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:14" - }, - "scope": 8272, - "src": "1958:145:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7845, - "nodeType": "Block", - "src": "2228:29:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7843, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "2245:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7842, - "id": 7844, - "nodeType": "Return", - "src": "2238:12:14" - } - ] - }, - "documentation": "@dev Returns the name of the token.", - "functionSelector": "06fdde03", - "id": 7846, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7839, - "nodeType": "ParameterList", - "parameters": [], - "src": "2181:2:14" - }, - "returnParameters": { - "id": 7842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7841, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7846, - "src": "2213:13:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2213:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2212:15:14" - }, - "scope": 8272, - "src": "2168:89:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7853, - "nodeType": "Block", - "src": "2432:31:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7851, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "2449:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7850, - "id": 7852, - "nodeType": "Return", - "src": "2442:14:14" - } - ] - }, - "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "functionSelector": "95d89b41", - "id": 7854, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7847, - "nodeType": "ParameterList", - "parameters": [], - "src": "2385:2:14" - }, - "returnParameters": { - "id": 7850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7849, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7854, - "src": "2417:13:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7848, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2417:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2416:15:14" - }, - "scope": 8272, - "src": "2370:93:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7861, - "nodeType": "Block", - "src": "3142:33:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7859, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "3159:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7858, - "id": 7860, - "nodeType": "Return", - "src": "3152:16:14" - } - ] - }, - "documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\ncalled.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.", - "functionSelector": "313ce567", - "id": 7862, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:2:14" - }, - "returnParameters": { - "id": 7858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7862, - "src": "3135:5:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7856, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3135:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:7:14" - }, - "scope": 8272, - "src": "3086:89:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8279 - ], - "body": { - "id": 7870, - "nodeType": "Block", - "src": "3305:36:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7868, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "3322:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7867, - "id": 7869, - "nodeType": "Return", - "src": "3315:19:14" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "functionSelector": "18160ddd", - "id": 7871, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7864, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3278:8:14" - }, - "parameters": { - "id": 7863, - "nodeType": "ParameterList", - "parameters": [], - "src": "3255:2:14" - }, - "returnParameters": { - "id": 7867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7866, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7871, - "src": "3296:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:14" - }, - "scope": 8272, - "src": "3235:106:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8286 - ], - "body": { - "id": 7883, - "nodeType": "Block", - "src": "3482:42:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7879, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "3499:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7881, - "indexExpression": { - "argumentTypes": null, - "id": 7880, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7873, - "src": "3509:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3499:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7878, - "id": 7882, - "nodeType": "Return", - "src": "3492:25:14" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "functionSelector": "70a08231", - "id": 7884, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7875, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3455:8:14" - }, - "parameters": { - "id": 7874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7873, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7884, - "src": "3418:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3418:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3417:17:14" - }, - "returnParameters": { - "id": 7878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7877, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7884, - "src": "3473:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3472:9:14" - }, - "scope": 8272, - "src": "3399:125:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8295 - ], - "body": { - "id": 7903, - "nodeType": "Block", - "src": "3819:80:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7895, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "3839:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7897, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7886, - "src": "3853:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7898, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7888, - "src": "3864:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7894, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "3829:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:42:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7900, - "nodeType": "ExpressionStatement", - "src": "3829:42:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3888:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7893, - "id": 7902, - "nodeType": "Return", - "src": "3881:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "functionSelector": "a9059cbb", - "id": 7904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7890, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3795:8:14" - }, - "parameters": { - "id": 7889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7886, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3745:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7888, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3764:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3764:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3744:35:14" - }, - "returnParameters": { - "id": 7893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7892, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3813:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7891, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3813:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3812:6:14" - }, - "scope": 8272, - "src": "3727:172:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8304 - ], - "body": { - "id": 7920, - "nodeType": "Block", - "src": "4055:51:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7914, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "4072:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7916, - "indexExpression": { - "argumentTypes": null, - "id": 7915, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7906, - "src": "4084:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:18:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7918, - "indexExpression": { - "argumentTypes": null, - "id": 7917, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7908, - "src": "4091:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7913, - "id": 7919, - "nodeType": "Return", - "src": "4065:34:14" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "functionSelector": "dd62ed3e", - "id": 7921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7910, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4028:8:14" - }, - "parameters": { - "id": 7909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7906, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "3976:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3976:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7908, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "3991:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3991:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3975:32:14" - }, - "returnParameters": { - "id": 7913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7912, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "4046:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4046:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4045:9:14" - }, - "scope": 8272, - "src": "3957:149:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8313 - ], - "body": { - "id": 7940, - "nodeType": "Block", - "src": "4333:77:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7932, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "4352:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4352:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7934, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "4366:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7935, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "4375:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7931, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "4343:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4343:39:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7937, - "nodeType": "ExpressionStatement", - "src": "4343:39:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7930, - "id": 7939, - "nodeType": "Return", - "src": "4392:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "095ea7b3", - "id": 7941, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7927, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4309:8:14" - }, - "parameters": { - "id": 7926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7923, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4261:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7925, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4278:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4260:33:14" - }, - "returnParameters": { - "id": 7930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7929, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4327:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7928, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4327:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4326:6:14" - }, - "scope": 8272, - "src": "4244:166:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8324 - ], - "body": { - "id": 7977, - "nodeType": "Block", - "src": "4989:205:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7954, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5009:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7955, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7945, - "src": "5017:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7956, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7947, - "src": "5028:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7953, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4999:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4999:36:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7958, - "nodeType": "ExpressionStatement", - "src": "4999:36:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7960, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5054:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7961, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5062:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7970, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7947, - "src": "5114:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5122:42:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7963, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "5076:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7965, - "indexExpression": { - "argumentTypes": null, - "id": 7964, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5088:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7968, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7966, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5096:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5096:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:33:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "5076:37:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 7972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5076:89:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7959, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "5045:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5045:121:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7974, - "nodeType": "ExpressionStatement", - "src": "5045:121:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7952, - "id": 7976, - "nodeType": "Return", - "src": "5176:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20}.\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`.", - "functionSelector": "23b872dd", - "id": 7978, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7949, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4965:8:14" - }, - "parameters": { - "id": 7948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7943, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4899:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4899:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7945, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4915:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4915:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7947, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4934:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4934:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4898:51:14" - }, - "returnParameters": { - "id": 7952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7951, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4983:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7950, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4983:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4982:6:14" - }, - "scope": 8272, - "src": "4877:317:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8004, - "nodeType": "Block", - "src": "5683:121:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7988, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5702:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7990, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7980, - "src": "5716:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7998, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7982, - "src": "5764:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7991, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "5725:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7994, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7992, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5737:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5737:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:25:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7996, - "indexExpression": { - "argumentTypes": null, - "id": 7995, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7980, - "src": "5751:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:34:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "5725:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5725:50:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7987, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "5693:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5693:83:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8001, - "nodeType": "ExpressionStatement", - "src": "5693:83:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5793:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7986, - "id": 8003, - "nodeType": "Return", - "src": "5786:11:14" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "39509351", - "id": 8005, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7980, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5616:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5616:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7982, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5633:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5633:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5615:37:14" - }, - "returnParameters": { - "id": 7986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7985, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5677:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5677:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5676:6:14" - }, - "scope": 8272, - "src": "5589:215:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8032, - "nodeType": "Block", - "src": "6390:167:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8015, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6409:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6409:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8017, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "6423:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8025, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8009, - "src": "6471:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 8026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6488:39:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8018, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "6432:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8021, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8019, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6444:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6444:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:25:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8023, - "indexExpression": { - "argumentTypes": null, - "id": 8022, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "6458:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:34:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "6432:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6432:96:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8014, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "6400:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:129:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8029, - "nodeType": "ExpressionStatement", - "src": "6400:129:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6546:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 8013, - "id": 8031, - "nodeType": "Return", - "src": "6539:11:14" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "functionSelector": "a457c2d7", - "id": 8033, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8007, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6318:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6318:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8009, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6335:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6335:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6317:42:14" - }, - "returnParameters": { - "id": 8013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8012, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6384:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6384:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6383:6:14" - }, - "scope": 8272, - "src": "6291:266:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8097, - "nodeType": "Block", - "src": "7118:443:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8043, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7154:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7146:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7146:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7136:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 8049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7158:39:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 8042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7128:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7128:70:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8051, - "nodeType": "ExpressionStatement", - "src": "7128:70:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8053, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7216:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7237:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7229:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7229:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7216:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 8059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7241:37:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 8052, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7208:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7208:71:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8061, - "nodeType": "ExpressionStatement", - "src": "7208:71:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8063, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7311:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8064, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7319:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8065, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7330:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8062, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "7290:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7290:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8067, - "nodeType": "ExpressionStatement", - "src": "7290:47:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8068, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7348:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8070, - "indexExpression": { - "argumentTypes": null, - "id": 8069, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7358:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7348:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8075, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7390:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 8076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7398:40:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8071, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7368:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8073, - "indexExpression": { - "argumentTypes": null, - "id": 8072, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7378:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7368:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "7368:21:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7368:71:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7348:91:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8079, - "nodeType": "ExpressionStatement", - "src": "7348:91:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8080, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7449:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8082, - "indexExpression": { - "argumentTypes": null, - "id": 8081, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7459:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7449:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8087, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7497:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8083, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7472:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8085, - "indexExpression": { - "argumentTypes": null, - "id": 8084, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7482:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7472:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "7472:24:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7472:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7449:55:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8090, - "nodeType": "ExpressionStatement", - "src": "7449:55:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8092, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7528:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8093, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7536:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8094, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7547:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8091, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "7519:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7519:35:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8096, - "nodeType": "EmitStatement", - "src": "7514:40:14" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 8098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8035, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7050:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7050:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8037, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7066:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7066:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8039, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7085:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7085:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7049:51:14" - }, - "returnParameters": { - "id": 8041, - "nodeType": "ParameterList", - "parameters": [], - "src": "7118:0:14" - }, - "scope": 8272, - "src": "7031:530:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8151, - "nodeType": "Block", - "src": "7897:305:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8106, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "7915:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7926:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7926:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7915:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7938:33:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 8105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7907:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8114, - "nodeType": "ExpressionStatement", - "src": "7907:65:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8012:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8004:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8004:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8004:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8120, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8016:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8121, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8025:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8115, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "7983:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7983:49:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8123, - "nodeType": "ExpressionStatement", - "src": "7983:49:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8124, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8043:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8127, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8075:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8125, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8058:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "8058:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8043:39:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8130, - "nodeType": "ExpressionStatement", - "src": "8043:39:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8131, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8092:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8133, - "indexExpression": { - "argumentTypes": null, - "id": 8132, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8102:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8092:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8138, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8134, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8113:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8136, - "indexExpression": { - "argumentTypes": null, - "id": 8135, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8123:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8113:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "8113:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8113:30:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8092:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8141, - "nodeType": "ExpressionStatement", - "src": "8092:51:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8175:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8167:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8167:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8167:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8147, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8179:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8148, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8188:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8142, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "8158:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8150, - "nodeType": "EmitStatement", - "src": "8153:42:14" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements:\n * - `to` cannot be the zero address.", - "id": 8152, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8100, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8152, - "src": "7847:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7847:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8102, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8152, - "src": "7864:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7864:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7846:33:14" - }, - "returnParameters": { - "id": 8104, - "nodeType": "ParameterList", - "parameters": [], - "src": "7897:0:14" - }, - "scope": 8272, - "src": "7832:370:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8206, - "nodeType": "Block", - "src": "8587:345:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8160, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8605:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8624:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8616:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8616:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8616:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8605:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 8166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8628:35:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 8159, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8597:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8597:67:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8168, - "nodeType": "ExpressionStatement", - "src": "8597:67:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8170, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8696:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8713:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8705:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8705:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8705:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8175, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8717:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8169, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "8675:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8675:49:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8177, - "nodeType": "ExpressionStatement", - "src": "8675:49:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8178, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8735:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8180, - "indexExpression": { - "argumentTypes": null, - "id": 8179, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8745:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8735:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8185, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8779:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 8186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8787:36:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8181, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8756:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8183, - "indexExpression": { - "argumentTypes": null, - "id": 8182, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8766:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8756:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "8756:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8756:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8735:89:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8189, - "nodeType": "ExpressionStatement", - "src": "8735:89:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8190, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8834:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8193, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8866:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8191, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8849:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7643, - "src": "8849:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8849:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8834:39:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8196, - "nodeType": "ExpressionStatement", - "src": "8834:39:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8198, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8897:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8914:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8906:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8906:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8906:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8203, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8918:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8197, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "8888:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8888:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8205, - "nodeType": "EmitStatement", - "src": "8883:42:14" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements:\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 8207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8154, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8207, - "src": "8537:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8537:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8156, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8207, - "src": "8554:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8554:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8536:33:14" - }, - "returnParameters": { - "id": 8158, - "nodeType": "ParameterList", - "parameters": [], - "src": "8587:0:14" - }, - "scope": 8272, - "src": "8522:410:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8250, - "nodeType": "Block", - "src": "9438:257:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8217, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9456:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9473:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9465:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9465:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9465:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9456:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:38:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 8216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9448:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9448:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8225, - "nodeType": "ExpressionStatement", - "src": "9448:68:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8227, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9534:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9553:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9545:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9534:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 8233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9557:36:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 8226, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9526:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9526:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8235, - "nodeType": "ExpressionStatement", - "src": "9526:68:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8236, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "9605:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8239, - "indexExpression": { - "argumentTypes": null, - "id": 8237, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9617:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9605:18:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8240, - "indexExpression": { - "argumentTypes": null, - "id": 8238, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9624:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9605:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8241, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8213, - "src": "9635:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9605:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8243, - "nodeType": "ExpressionStatement", - "src": "9605:36:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8245, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9665:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8246, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9672:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8247, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8213, - "src": "9681:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8244, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8340, - "src": "9656:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9656:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8249, - "nodeType": "EmitStatement", - "src": "9651:37:14" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n * This internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 8251, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8209, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9373:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9373:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8211, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9388:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9388:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8213, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9405:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9405:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9372:48:14" - }, - "returnParameters": { - "id": 8215, - "nodeType": "ParameterList", - "parameters": [], - "src": "9438:0:14" - }, - "scope": 8272, - "src": "9355:340:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8260, - "nodeType": "Block", - "src": "10076:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8256, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "10086:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8257, - "name": "decimals_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8253, - "src": "10098:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "10086:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 8259, - "nodeType": "ExpressionStatement", - "src": "10086:21:14" - } - ] - }, - "documentation": "@dev Sets {decimals} to a value other than the default one of 18.\n * WARNING: This function should only be called from the constructor. Most\napplications that interact with token contracts will not expect\n{decimals} to ever change, and may work incorrectly if it does.", - "id": 8261, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupDecimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8253, - "name": "decimals_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8261, - "src": "10042:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 8252, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10042:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10041:17:14" - }, - "returnParameters": { - "id": 8255, - "nodeType": "ParameterList", - "parameters": [], - "src": "10076:0:14" - }, - "scope": 8272, - "src": "10018:96:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8270, - "nodeType": "Block", - "src": "10790:3:14", - "statements": [] - }, - "documentation": "@dev Hook that is called before any transfer of tokens. This includes\nminting and burning.\n * Calling conditions:\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\nwill be to transferred to `to`.\n- when `from` is zero, `amount` tokens will be minted for `to`.\n- when `to` is zero, `amount` of ``from``'s tokens will be burned.\n- `from` and `to` are never both zero.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].", - "id": 8271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8263, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10731:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10731:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8265, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10745:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10745:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8267, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10757:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10757:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10730:42:14" - }, - "returnParameters": { - "id": 8269, - "nodeType": "ParameterList", - "parameters": [], - "src": "10790:0:14" - }, - "scope": 8272, - "src": "10701:92:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 8273, - "src": "1321:9474:14" - } - ], - "src": "33:10763:14" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 8272 - ] - }, - "id": 8273, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7790, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:14" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 7791, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 9732, - "src": "66:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 7792, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 8342, - "src": "100:22:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 7793, - "nodeType": "ImportDirective", - "scope": 8273, - "sourceUnit": 7789, - "src": "123:33:14", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7794, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "1339:7:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 7795, - "nodeType": "InheritanceSpecifier", - "src": "1339:7:14" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7796, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8341, - "src": "1348:6:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8341", - "typeString": "contract IERC20" - } - }, - "id": 7797, - "nodeType": "InheritanceSpecifier", - "src": "1348:6:14" - } - ], - "contractDependencies": [ - 8341, - 9731 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20PresetMinterPauser}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 8272, - "linearizedBaseContracts": [ - 8272, - 8341, - 9731 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7800, - "libraryName": { - "contractScope": null, - "id": 7798, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7788, - "src": "1367:8:14", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7788", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1361:27:14", - "typeName": { - "id": 7799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 7804, - "name": "_balances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1394:46:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 7803, - "keyType": { - "id": 7801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7802, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1414:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7810, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1447:69:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 7809, - "keyType": { - "id": 7805, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1456:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1447:49:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 7808, - "keyType": { - "id": 7806, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1476:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1467:28:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 7807, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1487:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7812, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1523:28:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1523:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7814, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1558:20:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7813, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1558:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7816, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1584:22:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7815, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1584:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 7818, - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8272, - "src": "1612:23:14", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7817, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1612:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 7837, - "nodeType": "Block", - "src": "2022:81:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7825, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "2032:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7826, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7820, - "src": "2040:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2032:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7828, - "nodeType": "ExpressionStatement", - "src": "2032:13:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 7831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7829, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "2055:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7830, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7822, - "src": "2065:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "2055:17:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 7832, - "nodeType": "ExpressionStatement", - "src": "2055:17:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 7835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7833, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "2082:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3138", - "id": 7834, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2094:2:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "2082:14:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 7836, - "nodeType": "ExpressionStatement", - "src": "2082:14:14" - } - ] - }, - "documentation": "@dev Sets the values for {name} and {symbol}, initializes {decimals} with\na default value of 18.\n * To select a different value for {decimals}, use {_setupDecimals}.\n * All three of these values are immutable: they can only be set once during\nconstruction.", - "id": 7838, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7820, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7838, - "src": "1971:19:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7819, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1971:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7822, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7838, - "src": "1992:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7821, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1992:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1970:44:14" - }, - "returnParameters": { - "id": 7824, - "nodeType": "ParameterList", - "parameters": [], - "src": "2022:0:14" - }, - "scope": 8272, - "src": "1958:145:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7845, - "nodeType": "Block", - "src": "2228:29:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7843, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7814, - "src": "2245:5:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7842, - "id": 7844, - "nodeType": "Return", - "src": "2238:12:14" - } - ] - }, - "documentation": "@dev Returns the name of the token.", - "functionSelector": "06fdde03", - "id": 7846, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7839, - "nodeType": "ParameterList", - "parameters": [], - "src": "2181:2:14" - }, - "returnParameters": { - "id": 7842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7841, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7846, - "src": "2213:13:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7840, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2213:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2212:15:14" - }, - "scope": 8272, - "src": "2168:89:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7853, - "nodeType": "Block", - "src": "2432:31:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7851, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "2449:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 7850, - "id": 7852, - "nodeType": "Return", - "src": "2442:14:14" - } - ] - }, - "documentation": "@dev Returns the symbol of the token, usually a shorter version of the\nname.", - "functionSelector": "95d89b41", - "id": 7854, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7847, - "nodeType": "ParameterList", - "parameters": [], - "src": "2385:2:14" - }, - "returnParameters": { - "id": 7850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7849, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7854, - "src": "2417:13:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7848, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2417:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2416:15:14" - }, - "scope": 8272, - "src": "2370:93:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 7861, - "nodeType": "Block", - "src": "3142:33:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7859, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "3159:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7858, - "id": 7860, - "nodeType": "Return", - "src": "3152:16:14" - } - ] - }, - "documentation": "@dev Returns the number of decimals used to get its user representation.\nFor example, if `decimals` equals `2`, a balance of `505` tokens should\nbe displayed to a user as `5,05` (`505 / 10 ** 2`).\n * Tokens usually opt for a value of 18, imitating the relationship between\nEther and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is\ncalled.\n * NOTE: This information is only used for _display_ purposes: it in\nno way affects any of the arithmetic of the contract, including\n{IERC20-balanceOf} and {IERC20-transfer}.", - "functionSelector": "313ce567", - "id": 7862, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3103:2:14" - }, - "returnParameters": { - "id": 7858, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7862, - "src": "3135:5:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7856, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3135:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:7:14" - }, - "scope": 8272, - "src": "3086:89:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8279 - ], - "body": { - "id": 7870, - "nodeType": "Block", - "src": "3305:36:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7868, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "3322:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7867, - "id": 7869, - "nodeType": "Return", - "src": "3315:19:14" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "functionSelector": "18160ddd", - "id": 7871, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7864, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3278:8:14" - }, - "parameters": { - "id": 7863, - "nodeType": "ParameterList", - "parameters": [], - "src": "3255:2:14" - }, - "returnParameters": { - "id": 7867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7866, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7871, - "src": "3296:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7865, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3296:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:9:14" - }, - "scope": 8272, - "src": "3235:106:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8286 - ], - "body": { - "id": 7883, - "nodeType": "Block", - "src": "3482:42:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7879, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "3499:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7881, - "indexExpression": { - "argumentTypes": null, - "id": 7880, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7873, - "src": "3509:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3499:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7878, - "id": 7882, - "nodeType": "Return", - "src": "3492:25:14" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "functionSelector": "70a08231", - "id": 7884, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7875, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3455:8:14" - }, - "parameters": { - "id": 7874, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7873, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7884, - "src": "3418:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3418:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3417:17:14" - }, - "returnParameters": { - "id": 7878, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7877, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7884, - "src": "3473:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3472:9:14" - }, - "scope": 8272, - "src": "3399:125:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8295 - ], - "body": { - "id": 7903, - "nodeType": "Block", - "src": "3819:80:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7895, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "3839:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3839:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7897, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7886, - "src": "3853:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7898, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7888, - "src": "3864:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7894, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "3829:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:42:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7900, - "nodeType": "ExpressionStatement", - "src": "3829:42:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3888:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7893, - "id": 7902, - "nodeType": "Return", - "src": "3881:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "functionSelector": "a9059cbb", - "id": 7904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7890, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3795:8:14" - }, - "parameters": { - "id": 7889, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7886, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3745:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7885, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3745:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7888, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3764:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7887, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3764:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3744:35:14" - }, - "returnParameters": { - "id": 7893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7892, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7904, - "src": "3813:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7891, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3813:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3812:6:14" - }, - "scope": 8272, - "src": "3727:172:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8304 - ], - "body": { - "id": 7920, - "nodeType": "Block", - "src": "4055:51:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7914, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "4072:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7916, - "indexExpression": { - "argumentTypes": null, - "id": 7915, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7906, - "src": "4084:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:18:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7918, - "indexExpression": { - "argumentTypes": null, - "id": 7917, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7908, - "src": "4091:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4072:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7913, - "id": 7919, - "nodeType": "Return", - "src": "4065:34:14" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "functionSelector": "dd62ed3e", - "id": 7921, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7910, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4028:8:14" - }, - "parameters": { - "id": 7909, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7906, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "3976:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7905, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3976:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7908, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "3991:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3991:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3975:32:14" - }, - "returnParameters": { - "id": 7913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7912, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7921, - "src": "4046:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4046:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4045:9:14" - }, - "scope": 8272, - "src": "3957:149:14", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8313 - ], - "body": { - "id": 7940, - "nodeType": "Block", - "src": "4333:77:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7932, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "4352:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4352:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7934, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "4366:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7935, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "4375:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7931, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "4343:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4343:39:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7937, - "nodeType": "ExpressionStatement", - "src": "4343:39:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4399:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7930, - "id": 7939, - "nodeType": "Return", - "src": "4392:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "095ea7b3", - "id": 7941, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7927, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4309:8:14" - }, - "parameters": { - "id": 7926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7923, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4261:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7922, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4261:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7925, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4278:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7924, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4278:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4260:33:14" - }, - "returnParameters": { - "id": 7930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7929, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7941, - "src": "4327:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7928, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4327:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4326:6:14" - }, - "scope": 8272, - "src": "4244:166:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 8324 - ], - "body": { - "id": 7977, - "nodeType": "Block", - "src": "4989:205:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7954, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5009:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7955, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7945, - "src": "5017:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7956, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7947, - "src": "5028:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7953, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8098, - "src": "4999:9:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4999:36:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7958, - "nodeType": "ExpressionStatement", - "src": "4999:36:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7960, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5054:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7961, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5062:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5062:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7970, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7947, - "src": "5114:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 7971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5122:42:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7963, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "5076:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7965, - "indexExpression": { - "argumentTypes": null, - "id": 7964, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "5088:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:19:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7968, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7966, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5096:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5096:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5076:33:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7969, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "5076:37:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 7972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5076:89:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7959, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "5045:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 7973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5045:121:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7974, - "nodeType": "ExpressionStatement", - "src": "5045:121:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7975, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7952, - "id": 7976, - "nodeType": "Return", - "src": "5176:11:14" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20}.\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for ``sender``'s tokens of at least\n`amount`.", - "functionSelector": "23b872dd", - "id": 7978, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7949, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4965:8:14" - }, - "parameters": { - "id": 7948, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7943, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4899:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7942, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4899:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7945, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4915:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4915:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7947, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4934:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7946, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4934:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4898:51:14" - }, - "returnParameters": { - "id": 7952, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7951, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7978, - "src": "4983:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7950, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4983:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4982:6:14" - }, - "scope": 8272, - "src": "4877:317:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8004, - "nodeType": "Block", - "src": "5683:121:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7988, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5702:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7990, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7980, - "src": "5716:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7998, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7982, - "src": "5764:10:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7991, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "5725:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 7994, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7992, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "5737:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 7993, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5737:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:25:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 7996, - "indexExpression": { - "argumentTypes": null, - "id": 7995, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7980, - "src": "5751:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5725:34:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "5725:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5725:50:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7987, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "5693:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8000, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5693:83:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8001, - "nodeType": "ExpressionStatement", - "src": "5693:83:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8002, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5793:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 7986, - "id": 8003, - "nodeType": "Return", - "src": "5786:11:14" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "functionSelector": "39509351", - "id": 8005, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7983, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7980, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5616:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7979, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5616:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7982, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5633:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7981, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5633:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5615:37:14" - }, - "returnParameters": { - "id": 7986, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7985, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8005, - "src": "5677:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7984, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5677:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5676:6:14" - }, - "scope": 8272, - "src": "5589:215:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8032, - "nodeType": "Block", - "src": "6390:167:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8015, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6409:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6409:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8017, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "6423:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8025, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8009, - "src": "6471:15:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 8026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6488:39:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8018, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "6432:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8021, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8019, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6444:10:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6444:12:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:25:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8023, - "indexExpression": { - "argumentTypes": null, - "id": 8022, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8007, - "src": "6458:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6432:34:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8024, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "6432:38:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6432:96:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8014, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8251, - "src": "6400:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6400:129:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8029, - "nodeType": "ExpressionStatement", - "src": "6400:129:14" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8030, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6546:4:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 8013, - "id": 8031, - "nodeType": "Return", - "src": "6539:11:14" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "functionSelector": "a457c2d7", - "id": 8033, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8010, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8007, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6318:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6318:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8009, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6335:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8008, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6335:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6317:42:14" - }, - "returnParameters": { - "id": 8013, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8012, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8033, - "src": "6384:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8011, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6384:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6383:6:14" - }, - "scope": 8272, - "src": "6291:266:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8097, - "nodeType": "Block", - "src": "7118:443:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8043, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8046, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7154:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7146:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8044, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7146:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7136:20:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 8049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7158:39:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 8042, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7128:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7128:70:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8051, - "nodeType": "ExpressionStatement", - "src": "7128:70:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8053, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7216:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7237:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7229:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8054, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7229:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8057, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7229:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7216:23:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 8059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7241:37:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 8052, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7208:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7208:71:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8061, - "nodeType": "ExpressionStatement", - "src": "7208:71:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8063, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7311:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8064, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7319:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8065, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7330:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8062, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "7290:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7290:47:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8067, - "nodeType": "ExpressionStatement", - "src": "7290:47:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8068, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7348:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8070, - "indexExpression": { - "argumentTypes": null, - "id": 8069, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7358:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7348:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8075, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7390:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 8076, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7398:40:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8071, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7368:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8073, - "indexExpression": { - "argumentTypes": null, - "id": 8072, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7378:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7368:17:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "7368:21:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8077, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7368:71:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7348:91:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8079, - "nodeType": "ExpressionStatement", - "src": "7348:91:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8080, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7449:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8082, - "indexExpression": { - "argumentTypes": null, - "id": 8081, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7459:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7449:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8087, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7497:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8083, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "7472:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8085, - "indexExpression": { - "argumentTypes": null, - "id": 8084, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7482:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7472:20:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "7472:24:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7472:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7449:55:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8090, - "nodeType": "ExpressionStatement", - "src": "7449:55:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8092, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8035, - "src": "7528:6:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8093, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8037, - "src": "7536:9:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8094, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8039, - "src": "7547:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8091, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "7519:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7519:35:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8096, - "nodeType": "EmitStatement", - "src": "7514:40:14" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 8098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8040, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8035, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7050:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8034, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7050:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8037, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7066:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8036, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7066:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8039, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8098, - "src": "7085:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8038, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7085:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7049:51:14" - }, - "returnParameters": { - "id": 8041, - "nodeType": "ParameterList", - "parameters": [], - "src": "7118:0:14" - }, - "scope": 8272, - "src": "7031:530:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8151, - "nodeType": "Block", - "src": "7897:305:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8106, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "7915:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7934:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7926:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8107, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7926:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8110, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7926:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7915:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7938:33:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 8105, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7907:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7907:65:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8114, - "nodeType": "ExpressionStatement", - "src": "7907:65:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8118, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8012:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8004:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8116, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8004:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8004:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8120, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8016:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8121, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8025:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8115, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "7983:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7983:49:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8123, - "nodeType": "ExpressionStatement", - "src": "7983:49:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8124, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8043:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8127, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8075:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8125, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8058:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "8058:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8058:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8043:39:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8130, - "nodeType": "ExpressionStatement", - "src": "8043:39:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8131, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8092:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8133, - "indexExpression": { - "argumentTypes": null, - "id": 8132, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8102:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8092:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8138, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8136:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8134, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8113:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8136, - "indexExpression": { - "argumentTypes": null, - "id": 8135, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8123:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8113:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 7622, - "src": "8113:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8113:30:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8092:51:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8141, - "nodeType": "ExpressionStatement", - "src": "8092:51:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8175:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8144, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8167:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8143, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8167:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8146, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8167:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8147, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8100, - "src": "8179:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8148, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8102, - "src": "8188:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8142, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "8158:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8150, - "nodeType": "EmitStatement", - "src": "8153:42:14" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements:\n * - `to` cannot be the zero address.", - "id": 8152, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8103, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8100, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8152, - "src": "7847:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7847:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8102, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8152, - "src": "7864:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8101, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7864:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7846:33:14" - }, - "returnParameters": { - "id": 8104, - "nodeType": "ParameterList", - "parameters": [], - "src": "7897:0:14" - }, - "scope": 8272, - "src": "7832:370:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8206, - "nodeType": "Block", - "src": "8587:345:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8160, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8605:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8624:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8616:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8616:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8616:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "8605:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 8166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8628:35:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 8159, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8597:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8597:67:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8168, - "nodeType": "ExpressionStatement", - "src": "8597:67:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8170, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8696:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8173, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8713:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8705:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8705:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8174, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8705:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8175, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8717:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8169, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8271, - "src": "8675:20:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8675:49:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8177, - "nodeType": "ExpressionStatement", - "src": "8675:49:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8178, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8735:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8180, - "indexExpression": { - "argumentTypes": null, - "id": 8179, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8745:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8735:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8185, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8779:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 8186, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8787:36:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8181, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7804, - "src": "8756:9:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8183, - "indexExpression": { - "argumentTypes": null, - "id": 8182, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8766:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8756:18:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7741, - "src": "8756:22:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 8187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8756:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8735:89:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8189, - "nodeType": "ExpressionStatement", - "src": "8735:89:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8190, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8834:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8193, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8866:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8191, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "8849:12:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 7643, - "src": "8849:16:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 8194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8849:24:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8834:39:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8196, - "nodeType": "ExpressionStatement", - "src": "8834:39:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8198, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8154, - "src": "8897:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8914:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8906:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8906:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8906:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8203, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8156, - "src": "8918:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8197, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8332, - "src": "8888:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8888:37:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8205, - "nodeType": "EmitStatement", - "src": "8883:42:14" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements:\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 8207, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8154, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8207, - "src": "8537:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8153, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8537:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8156, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8207, - "src": "8554:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8554:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8536:33:14" - }, - "returnParameters": { - "id": 8158, - "nodeType": "ParameterList", - "parameters": [], - "src": "8587:0:14" - }, - "scope": 8272, - "src": "8522:410:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8250, - "nodeType": "Block", - "src": "9438:257:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8217, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9456:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8220, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9473:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8219, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9465:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8218, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9465:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9465:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9456:19:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 8223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9477:38:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 8216, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9448:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9448:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8225, - "nodeType": "ExpressionStatement", - "src": "9448:68:14" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8227, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9534:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9553:1:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8229, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9545:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8228, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9545:7:14", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9545:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9534:21:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 8233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9557:36:14", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 8226, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9526:7:14", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9526:68:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8235, - "nodeType": "ExpressionStatement", - "src": "9526:68:14" - }, - { - "expression": { - "argumentTypes": null, - "id": 8242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8236, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7810, - "src": "9605:11:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 8239, - "indexExpression": { - "argumentTypes": null, - "id": 8237, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9617:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9605:18:14", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 8240, - "indexExpression": { - "argumentTypes": null, - "id": 8238, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9624:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "9605:27:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8241, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8213, - "src": "9635:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9605:36:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8243, - "nodeType": "ExpressionStatement", - "src": "9605:36:14" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8245, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8209, - "src": "9665:5:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8246, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8211, - "src": "9672:7:14", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8247, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8213, - "src": "9681:6:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8244, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8340, - "src": "9656:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9656:32:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8249, - "nodeType": "EmitStatement", - "src": "9651:37:14" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner` s tokens.\n * This internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 8251, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8209, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9373:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8208, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9373:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8211, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9388:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8210, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9388:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8213, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8251, - "src": "9405:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9405:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9372:48:14" - }, - "returnParameters": { - "id": 8215, - "nodeType": "ParameterList", - "parameters": [], - "src": "9438:0:14" - }, - "scope": 8272, - "src": "9355:340:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8260, - "nodeType": "Block", - "src": "10076:38:14", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8256, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7818, - "src": "10086:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8257, - "name": "decimals_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8253, - "src": "10098:9:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "10086:21:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 8259, - "nodeType": "ExpressionStatement", - "src": "10086:21:14" - } - ] - }, - "documentation": "@dev Sets {decimals} to a value other than the default one of 18.\n * WARNING: This function should only be called from the constructor. Most\napplications that interact with token contracts will not expect\n{decimals} to ever change, and may work incorrectly if it does.", - "id": 8261, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setupDecimals", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8254, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8253, - "name": "decimals_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8261, - "src": "10042:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 8252, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "10042:5:14", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10041:17:14" - }, - "returnParameters": { - "id": 8255, - "nodeType": "ParameterList", - "parameters": [], - "src": "10076:0:14" - }, - "scope": 8272, - "src": "10018:96:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8270, - "nodeType": "Block", - "src": "10790:3:14", - "statements": [] - }, - "documentation": "@dev Hook that is called before any transfer of tokens. This includes\nminting and burning.\n * Calling conditions:\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\nwill be to transferred to `to`.\n- when `from` is zero, `amount` tokens will be minted for `to`.\n- when `to` is zero, `amount` of ``from``'s tokens will be burned.\n- `from` and `to` are never both zero.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].", - "id": 8271, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8268, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8263, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10731:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10731:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8265, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10745:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10745:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8267, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8271, - "src": "10757:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10757:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10730:42:14" - }, - "returnParameters": { - "id": 8269, - "nodeType": "ParameterList", - "parameters": [], - "src": "10790:0:14" - }, - "scope": 8272, - "src": "10701:92:14", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 8273, - "src": "1321:9474:14" - } - ], - "src": "33:10763:14" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.625Z", - "devdoc": { - "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. * To select a different value for {decimals}, use {_setupDecimals}. * All three of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC20Distribution.json b/build/contracts/ERC20Distribution.json deleted file mode 100644 index 1ff0a4b3..00000000 --- a/build/contracts/ERC20Distribution.json +++ /dev/null @@ -1,9096 +0,0 @@ -{ - "contractName": "ERC20Distribution", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "TGEDate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "distributions", - "outputs": [ - { - "internalType": "uint256", - "name": "amountAllocated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "currentAllocated", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "unlockDay", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountSent", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "erc20", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastDateDistribution", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "month", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "tokenOwners", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "year", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC20", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "setTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "safeGuardAllTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_time", - "type": "uint256" - } - ], - "name": "setTGEDate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "triggerTokenSend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"TGEDate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"distributions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountAllocated\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentAllocated\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unlockDay\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountSent\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastDateDistribution\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"month\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"safeGuardAllTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_time\",\"type\":\"uint256\"}],\"name\":\"setTGEDate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"_tokenAddress\",\"type\":\"address\"}],\"name\":\"setTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"triggerTokenSend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"year\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{\"triggerTokenSend()\":{\"notice\":\"Should allow any address to trigger it, but since the calls are atomic it should do only once per day\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Distribution.sol\":\"ERC20Distribution\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Distribution.sol\":{\"keccak256\":\"0x8763d2544eecbc8f970168dcdd20c2549709ab5f65209e45877ed19a940224a2\",\"urls\":[\"bzz-raw://0784ef25282f1ee5c46343f60428741e401827cc8669b8f18b23e0f2c078ac7b\",\"dweb:/ipfs/QmX6RXnUVKPK8n79PMMnFVodS4wnGVjniMyV6pTGUz4zRM\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x60806040526000600255600060035534801561001a57600080fd5b506000805433610100026001600160a81b0319909116179055610c0f806100426000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063785e9e8611610097578063cb12872811610066578063cb12872814610231578063f2fde38b14610239578063f32697161461025f578063f8a14f4614610267576100f5565b8063785e9e86146101d757806383e2ad63146101fb5780638da5cb5b14610203578063b90c72ae1461020b576100f5565b806332a01103116100d357806332a011031461018e5780635c975abb146101ab578063702921f5146101c757806376093957146101cf576100f5565b806326a4e8d2146100fa5780632d9b4b2514610122578063313ce56714610174575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610284565b005b61014e6004803603604081101561013857600080fd5b506001600160a01b03813516906020013561030f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61017c610352565b60408051918252519081900360200190f35b610120600480360360208110156101a457600080fd5b503561035e565b6101b36103cc565b604080519115158252519081900360200190f35b61017c6103d5565b61017c6103dc565b6101df6103e2565b604080516001600160a01b039092168252519081900360200190f35b6101206103f1565b6101df6108cd565b6101206004803603602081101561022157600080fd5b50356001600160a01b03166108e1565b61017c610a51565b6101206004803603602081101561024f57600080fd5b50356001600160a01b0316610a57565b61017c610aec565b6101df6004803603602081101561027d57600080fd5b5035610af4565b60005461010090046001600160a01b031633146102a057600080fd5b6102a86103cc565b156102ed576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004602052816000526040600020818154811061032857fe5b60009182526020909120600490910201805460018201546002830154600390930154919450925084565b670de0b6b3a764000081565b60005461010090046001600160a01b0316331461037a57600080fd5b6103826103cc565b156103c7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600255565b60005460ff1690565b62278d0081565b60035481565b6005546001600160a01b031681565b6103f96103cc565b1561043e576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600254610489576040805162461bcd60e51b81526020600482015260146024820152731511d14819185d19481b9bdd081cd95d081e595d60621b604482015290519081900360640190fd5b60025442116104df576040805162461bcd60e51b815260206004820152601960248201527f544745207374696c6c206861736ec2b474207374617274656400000000000000604482015290519081900360640190fd5b620151806104f860035442610b1b90919063ffffffff16565b1161054a576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063616c6c6564206f6e6365206120646179000000604482015290519081900360640190fd5b4260035560005b6001548110156108ca576060600460006001848154811061056e57fe5b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b828210156106095783829060005260206000209060040201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050815260200190600101906105af565b509293506000925050505b81518110156108c05781818151811061062957fe5b60200260200101516040015161064a60025442610b1b90919063ffffffff16565b11801561066e5750600082828151811061066057fe5b602002602001015160200151115b156108b857600082828151811061068157fe5b60200260200101516020015190506106f48160046000600188815481106106a457fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054859081106106d457fe5b906000526020600020906004020160010154610b1b90919063ffffffff16565b600460006001878154811061070557fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548490811061073557fe5b9060005260206000209060040201600101819055506107af81600460006001888154811061075f57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548590811061078f57fe5b906000526020600020906004020160030154610b7890919063ffffffff16565b60046000600187815481106107c057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106107f057fe5b6000918252602090912060036004909202010155600554600180546001600160a01b039092169163a9059cbb91908790811061082857fe5b6000918252602080832090910154604080516001600160e01b031960e087901b1681526001600160a01b039092166004830152602482018790525160448083019491928390030190829087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b505050506040513d60208110156108ab57600080fd5b50516108b657600080fd5b505b600101610614565b5050600101610551565b50565b60005461010090046001600160a01b031681565b60005461010090046001600160a01b031633146108fd57600080fd5b6109056103cc565b61094d576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d60208110156109cb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a1c57600080fd5b505af1158015610a30573d6000803e3d6000fd5b505050506040513d6020811015610a4657600080fd5b50516108ca57600080fd5b60025481565b60005461010090046001600160a01b03163314610a7357600080fd5b6001600160a01b038116610a8657600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6301e1338081565b60018181548110610b0157fe5b6000918252602090912001546001600160a01b0316905081565b600082821115610b72576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610bd2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220e2af8c49666ab16d4fdfb72b7edeecd89de8bdee51ab1591e30fb7c759de24a864736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063785e9e8611610097578063cb12872811610066578063cb12872814610231578063f2fde38b14610239578063f32697161461025f578063f8a14f4614610267576100f5565b8063785e9e86146101d757806383e2ad63146101fb5780638da5cb5b14610203578063b90c72ae1461020b576100f5565b806332a01103116100d357806332a011031461018e5780635c975abb146101ab578063702921f5146101c757806376093957146101cf576100f5565b806326a4e8d2146100fa5780632d9b4b2514610122578063313ce56714610174575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610284565b005b61014e6004803603604081101561013857600080fd5b506001600160a01b03813516906020013561030f565b604080519485526020850193909352838301919091526060830152519081900360800190f35b61017c610352565b60408051918252519081900360200190f35b610120600480360360208110156101a457600080fd5b503561035e565b6101b36103cc565b604080519115158252519081900360200190f35b61017c6103d5565b61017c6103dc565b6101df6103e2565b604080516001600160a01b039092168252519081900360200190f35b6101206103f1565b6101df6108cd565b6101206004803603602081101561022157600080fd5b50356001600160a01b03166108e1565b61017c610a51565b6101206004803603602081101561024f57600080fd5b50356001600160a01b0316610a57565b61017c610aec565b6101df6004803603602081101561027d57600080fd5b5035610af4565b60005461010090046001600160a01b031633146102a057600080fd5b6102a86103cc565b156102ed576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6004602052816000526040600020818154811061032857fe5b60009182526020909120600490910201805460018201546002830154600390930154919450925084565b670de0b6b3a764000081565b60005461010090046001600160a01b0316331461037a57600080fd5b6103826103cc565b156103c7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600255565b60005460ff1690565b62278d0081565b60035481565b6005546001600160a01b031681565b6103f96103cc565b1561043e576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b600254610489576040805162461bcd60e51b81526020600482015260146024820152731511d14819185d19481b9bdd081cd95d081e595d60621b604482015290519081900360640190fd5b60025442116104df576040805162461bcd60e51b815260206004820152601960248201527f544745207374696c6c206861736ec2b474207374617274656400000000000000604482015290519081900360640190fd5b620151806104f860035442610b1b90919063ffffffff16565b1161054a576040805162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c792062652063616c6c6564206f6e6365206120646179000000604482015290519081900360640190fd5b4260035560005b6001548110156108ca576060600460006001848154811061056e57fe5b60009182526020808320909101546001600160a01b031683528281019390935260409182018120805483518186028101860190945280845292939092919084015b828210156106095783829060005260206000209060040201604051806080016040529081600082015481526020016001820154815260200160028201548152602001600382015481525050815260200190600101906105af565b509293506000925050505b81518110156108c05781818151811061062957fe5b60200260200101516040015161064a60025442610b1b90919063ffffffff16565b11801561066e5750600082828151811061066057fe5b602002602001015160200151115b156108b857600082828151811061068157fe5b60200260200101516020015190506106f48160046000600188815481106106a457fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054859081106106d457fe5b906000526020600020906004020160010154610b1b90919063ffffffff16565b600460006001878154811061070557fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548490811061073557fe5b9060005260206000209060040201600101819055506107af81600460006001888154811061075f57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902080548590811061078f57fe5b906000526020600020906004020160030154610b7890919063ffffffff16565b60046000600187815481106107c057fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190208054849081106107f057fe5b6000918252602090912060036004909202010155600554600180546001600160a01b039092169163a9059cbb91908790811061082857fe5b6000918252602080832090910154604080516001600160e01b031960e087901b1681526001600160a01b039092166004830152602482018790525160448083019491928390030190829087803b15801561088157600080fd5b505af1158015610895573d6000803e3d6000fd5b505050506040513d60208110156108ab57600080fd5b50516108b657600080fd5b505b600101610614565b5050600101610551565b50565b60005461010090046001600160a01b031681565b60005461010090046001600160a01b031633146108fd57600080fd5b6109056103cc565b61094d576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600554604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d60208110156109cb57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015610a1c57600080fd5b505af1158015610a30573d6000803e3d6000fd5b505050506040513d6020811015610a4657600080fd5b50516108ca57600080fd5b60025481565b60005461010090046001600160a01b03163314610a7357600080fd5b6001600160a01b038116610a8657600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6301e1338081565b60018181548110610b0157fe5b6000918252602090912001546001600160a01b0316905081565b600082821115610b72576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610bd2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b939250505056fea2646970667358221220e2af8c49666ab16d4fdfb72b7edeecd89de8bdee51ab1591e30fb7c759de24a864736f6c63430006020033", - "sourceMap": "219:3732:1:-:0;;;460:1;435:26;;647:1;609:39;;940:22;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;945:5:27;935:15;;516:10:11;935:15:27;508:18:11;-1:-1:-1;;;;;;508:18:11;;;;;;219:3732:1;;;;;;", - "deployedSourceMap": "219:3732:1:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;219:3732:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;968:119;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;968:119:1;-1:-1:-1;;;;;968:119:1;;:::i;:::-;;659:59;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;659:59:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;306:42;;;:::i;:::-;;;;;;;;;;;;;;;;1323:101;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1323:101:1;;:::i;1052:84:27:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;519:39:1;;;:::i;609:::-;;;:::i;755:19::-;;;:::i;:::-;;;;-1:-1:-1;;;;;755:19:1;;;;;;;;;;;;;;1557:1537;;;:::i;239:20:11:-;;;:::i;1097:220:1:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1097:220:1;-1:-1:-1;;;;;1097:220:1;;:::i;435:26::-;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;564:39:1:-;;;:::i;354:28::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;354:28:1;;:::i;968:119::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1366:8:27::1;:6;:8::i;:::-;1365:9;1357:38;;;::::0;;-1:-1:-1;;;1357:38:27;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1357:38:27;;;;;;;;;;;;;::::1;;1059:5:1::2;:21:::0;;-1:-1:-1;;;;;;1059:21:1::2;-1:-1:-1::0;;;;;1059:21:1;;;::::2;::::0;;;::::2;::::0;;968:119::o;659:59::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;659:59:1;-1:-1:-1;659:59:1;:::o;306:42::-;341:7;306:42;:::o;1323:101::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1366:8:27::1;:6;:8::i;:::-;1365:9;1357:38;;;::::0;;-1:-1:-1;;;1357:38:27;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1357:38:27;;;;;;;;;;;;;::::1;;1402:7:1::2;:15:::0;1323:101::o;1052:84:27:-;1099:4;1122:7;;;1052:84;:::o;519:39:1:-;551:7;519:39;:::o;609:::-;;;;:::o;755:19::-;;;-1:-1:-1;;;;;755:19:1;;:::o;1557:1537::-;1366:8:27;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:27;;;;;;;;;;;;-1:-1:-1;;;1357:38:27;;;;;;;;;;;;;;;1675:7:1::1;::::0;1667:45:::1;;;::::0;;-1:-1:-1;;;1667:45:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1667:45:1;;;;;;;;;;;;;::::1;;1782:7;;1764:15;:25;1756:63;;;::::0;;-1:-1:-1;;;1756:63:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1940:6;1896:41;1916:20;;1896:15;:19;;:41;;;;:::i;:::-;:50;1888:92;;;::::0;;-1:-1:-1;;;1888:92:1;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2013:15;1990:20;:38:::0;2080:6:::1;2076:1009;2096:11;:18:::0;2092:22;::::1;2076:1009;;;2178:27;2208:13;:29;2222:11;2234:1;2222:14;;;;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;2222:14:1::1;2208:29:::0;;;;::::1;::::0;;;;;;;;;;2178:59;;;;;;::::1;::::0;;;;;;;;;;;;2208:29;;2178:59;2222:14;2178:59;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;-1:-1:-1::0;2178:59:1;;-1:-1:-1;2305:6:1::1;::::0;-1:-1:-1;;;2301:774:1::1;2321:1;:8;2317:1;:12;2301:774;;;2389:1;2391;2389:4;;;;;;;;;;;;;;:14;;;2358:28;2378:7;;2358:15;:19;;:28;;;;:::i;:::-;:45;2357:135;;;;;2490:1;2466;2468;2466:4;;;;;;;;;;;;;;:21;;;:25;2357:135;2353:708;;;2614:21;2673:1;2675;2673:4;;;;;;;;;;;;;;:21;;;2657:37;;2768:68;2822:13;2768;:29;2782:11;2794:1;2782:14;;;;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;2782:14:1::1;2768:29:::0;;;::::1;::::0;;;;;;;;:32;;2798:1;;2768:32;::::1;;;;;;;;;;;;;;;:49;;;:53;;:68;;;;:::i;:::-;2716:13;:29;2730:11;2742:1;2730:14;;;;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;2730:14:1::1;2716:29:::0;;;::::1;::::0;;;;;;;;:32;;2746:1;;2716:32;::::1;;;;;;;;;;;;;;;:49;;:120;;;;2904:62;2952:13;2904;:29;2918:11;2930:1;2918:14;;;;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;2918:14:1::1;2904:29:::0;;;::::1;::::0;;;;;;;;:32;;2934:1;;2904:32;::::1;;;;;;;;;;;;;;;:43;;;:47;;:62;;;;:::i;:::-;2858:13;:29;2872:11;2884:1;2872:14;;;;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;-1:-1:-1;;;;;2872:14:1::1;2858:29:::0;;;::::1;::::0;;;;;;;;:32;;2888:1;;2858:32;::::1;;;;;;::::0;;;::::1;::::0;;;:43:::1;:32;::::0;;::::1;;:43;:108:::0;2996:5:::1;::::0;;3011:14;;-1:-1:-1;;;;;2996:5:1;;::::1;::::0;:14:::1;::::0;:5;3023:1;;3011:14;::::1;;;;;;::::0;;;::::1;::::0;;;;;::::1;::::0;2996:45:::1;::::0;;-1:-1:-1;;;;;;2996:45:1::1;::::0;;;;;;-1:-1:-1;;;;;3011:14:1;;::::1;2996:45;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;2996:45:1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;2996:45:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;2996:45:1;2988:54:::1;;;::::0;::::1;;2353:708;;2331:3;;2301:774;;;-1:-1:-1::0;;2116:3:1::1;;2076:1009;;;;1557:1537::o:0;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;1097:220:1:-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1631:8:27::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:27;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:27;;;;;;;;;;;;;::::1;;1253:5:1::2;::::0;1278:30:::2;::::0;;-1:-1:-1;;;1278:30:1;;1302:4:::2;1278:30;::::0;::::2;::::0;;;-1:-1:-1;;;;;1253:5:1;;::::2;::::0;:14:::2;::::0;1268:8;;1253:5;;1278:15:::2;::::0;:30;;;;;::::2;::::0;;;;;;;;1253:5;1278:30;::::2;;5:2:-1::0;::::2;;;30:1;27::::0;20:12:::2;5:2;1278:30:1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::2;77:16;74:1;67:27;5:2;1278:30:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::2;2:2;-1:-1:::0;1278:30:1;1253:56:::2;::::0;;-1:-1:-1;;;;;;1253:56:1::2;::::0;;;;;;-1:-1:-1;;;;;1253:56:1;;::::2;;::::0;::::2;::::0;;;;;;;;;;;;;;1278:30:::2;::::0;1253:56;;;;;;;-1:-1:-1;1253:56:1;;::::2;;5:2:-1::0;::::2;;;30:1;27::::0;20:12:::2;5:2;1253:56:1;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::2;77:16;74:1;67:27;5:2;1253:56:1;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::2;2:2;-1:-1:::0;1253:56:1;1245:65:::2;;;::::0;::::2;435:26:::0;;;;:::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;564:39:1:-;595:8;564:39;:::o;354:28::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;354:28:1;;-1:-1:-1;354:28:1;:::o;3136:155:15:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:15;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:15:o", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract ERC20Distribution is Pausable, Ownable {\n using SafeMath for uint256;\n\n uint256 constant public decimals = 1 ether;\n address[] public tokenOwners ; /* Tracks distributions mapping (iterable) */\n uint256 public TGEDate = 0; /* Date From where the distribution starts (TGE) */\n uint256 constant public month = 30 days;\n uint256 constant public year = 365 days;\n uint256 public lastDateDistribution = 0;\n \n mapping(address => DistributionStep[]) public distributions; /* Distribution object */\n \n IERC20 public erc20;\n\n struct DistributionStep {\n uint256 amountAllocated;\n uint256 currentAllocated;\n uint256 unlockDay;\n uint256 amountSent;\n }\n\n constructor() public{}\n\n function setTokenAddress(IERC20 _tokenAddress) external onlyOwner whenNotPaused {\n erc20 = _tokenAddress;\n }\n \n function safeGuardAllTokens(address _address) external onlyOwner whenPaused { /* In case of needed urgency for the sake of contract bug */\n require(erc20.transfer(_address, erc20.balanceOf(address(this))));\n }\n\n function setTGEDate(uint256 _time) external onlyOwner whenNotPaused {\n TGEDate = _time;\n }\n\n /**\n * Should allow any address to trigger it, but since the calls are atomic it should do only once per day\n */\n\n function triggerTokenSend() external whenNotPaused {\n /* Require TGE Date already been set */\n require(TGEDate != 0, \"TGE date not set yet\");\n /* TGE has not started */\n require(block.timestamp > TGEDate, \"TGE still hasn´t started\");\n /* Test that the call be only done once per day */\n require(block.timestamp.sub(lastDateDistribution) > 1 days, \"Can only be called once a day\");\n lastDateDistribution = block.timestamp;\n /* Go thru all tokenOwners */\n for(uint i = 0; i < tokenOwners.length; i++) {\n /* Get Address Distribution */\n DistributionStep[] memory d = distributions[tokenOwners[i]];\n /* Go thru all distributions array */\n for(uint j = 0; j < d.length; j++){\n if( (block.timestamp.sub(TGEDate) > d[j].unlockDay) /* Verify if unlockDay has passed */\n && (d[j].currentAllocated > 0) /* Verify if currentAllocated > 0, so that address has tokens to be sent still */\n ){\n uint256 sendingAmount;\n sendingAmount = d[j].currentAllocated;\n distributions[tokenOwners[i]][j].currentAllocated = distributions[tokenOwners[i]][j].currentAllocated.sub(sendingAmount);\n distributions[tokenOwners[i]][j].amountSent = distributions[tokenOwners[i]][j].amountSent.add(sendingAmount);\n require(erc20.transfer(tokenOwners[i], sendingAmount));\n }\n }\n } \n }\n\n function setInitialDistribution(address _address, uint256 _tokenAmount, uint256 _unlockDays) internal onlyOwner whenNotPaused {\n /* Add tokenOwner to Eachable Mapping */\n bool isAddressPresent = false;\n\n /* Verify if tokenOwner was already added */\n for(uint i = 0; i < tokenOwners.length; i++) {\n if(tokenOwners[i] == _address){\n isAddressPresent = true;\n }\n }\n /* Create DistributionStep Object */\n DistributionStep memory distributionStep = DistributionStep(_tokenAmount * decimals, _tokenAmount * decimals, _unlockDays, 0);\n /* Attach */\n distributions[_address].push(distributionStep);\n\n /* If Address not present in array of iterable token owners */\n if(!isAddressPresent){\n tokenOwners.push(_address);\n }\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Distribution.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Distribution.sol", - "exportedSymbols": { - "ERC20Distribution": [ - 384 - ] - }, - "id": 385, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 54, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 55, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 6991, - "src": "26:56:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 56, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 9478, - "src": "83:52:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 57, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 6438, - "src": "136:51:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 58, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 5231, - "src": "188:29:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 59, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9477, - "src": "249:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$9477", - "typeString": "contract Pausable" - } - }, - "id": 60, - "nodeType": "InheritanceSpecifier", - "src": "249:8:1" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 61, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5230, - "src": "259:7:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$5230", - "typeString": "contract Ownable" - } - }, - "id": 62, - "nodeType": "InheritanceSpecifier", - "src": "259:7:1" - } - ], - "contractDependencies": [ - 5230, - 8380, - 9477 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 384, - "linearizedBaseContracts": [ - 384, - 5230, - 9477, - 8380 - ], - "name": "ERC20Distribution", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 65, - "libraryName": { - "contractScope": null, - "id": 63, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6437, - "src": "279:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6437", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "273:27:1", - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "292:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 68, - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "306:42:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 66, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "306:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "341:7:1", - "subdenomination": "ether", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f8a14f46", - "id": 71, - "name": "tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "354:28:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 70, - "length": null, - "nodeType": "ArrayTypeName", - "src": "354:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb128728", - "id": 74, - "name": "TGEDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "435:26:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "460:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "702921f5", - "id": 77, - "name": "month", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "519:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "519:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330", - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:7:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "f3269716", - "id": 80, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "564:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "564:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:8:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "76093957", - "id": 83, - "name": "lastDateDistribution", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "609:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "609:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "647:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2d9b4b25", - "id": 88, - "name": "distributions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "659:59:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep[])" - }, - "typeName": { - "id": 87, - "keyType": { - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "659:38:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 85, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "678:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "id": 86, - "length": null, - "nodeType": "ArrayTypeName", - "src": "678:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 90, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "755:19:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6990, - "src": "755:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC20Distribution.DistributionStep", - "id": 99, - "members": [ - { - "constant": false, - "id": 92, - "name": "amountAllocated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "815:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 91, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "815:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 94, - "name": "currentAllocated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "848:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "848:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 96, - "name": "unlockDay", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "882:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 98, - "name": "amountSent", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "909:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 97, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "DistributionStep", - "nodeType": "StructDefinition", - "scope": 384, - "src": "781:153:1", - "visibility": "public" - }, - { - "body": { - "id": 102, - "nodeType": "Block", - "src": "960:2:1", - "statements": [] - }, - "documentation": null, - "id": 103, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "951:2:1" - }, - "returnParameters": { - "id": 101, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:1" - }, - "scope": 384, - "src": "940:22:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 116, - "nodeType": "Block", - "src": "1049:38:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 112, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1059:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 113, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1067:13:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "src": "1059:21:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 115, - "nodeType": "ExpressionStatement", - "src": "1059:21:1" - } - ] - }, - "documentation": null, - "functionSelector": "26a4e8d2", - "id": 117, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 108, - "modifierName": { - "argumentTypes": null, - "id": 107, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1024:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1024:9:1" - }, - { - "arguments": null, - "id": 110, - "modifierName": { - "argumentTypes": null, - "id": 109, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1034:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1034:13:1" - } - ], - "name": "setTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 105, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 117, - "src": "993:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 104, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6990, - "src": "993:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "992:22:1" - }, - "returnParameters": { - "id": 111, - "nodeType": "ParameterList", - "parameters": [], - "src": "1049:0:1" - }, - "scope": 384, - "src": "968:119:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 140, - "nodeType": "Block", - "src": "1174:143:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 129, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "1268:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 134, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1302:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Distribution_$384", - "typeString": "contract ERC20Distribution" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20Distribution_$384", - "typeString": "contract ERC20Distribution" - } - ], - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1294:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1294:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1294:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 130, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1278:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6935, - "src": "1278:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:30:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 127, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1253:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6944, - "src": "1253:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1253:56:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 126, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1245:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1245:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 139, - "nodeType": "ExpressionStatement", - "src": "1245:65:1" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 141, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 122, - "modifierName": { - "argumentTypes": null, - "id": 121, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1152:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1152:9:1" - }, - { - "arguments": null, - "id": 124, - "modifierName": { - "argumentTypes": null, - "id": 123, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "1162:10:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1162:10:1" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 141, - "src": "1125:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:18:1" - }, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [], - "src": "1174:0:1" - }, - "scope": 384, - "src": "1097:220:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 154, - "nodeType": "Block", - "src": "1392:32:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 150, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1402:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 151, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "1412:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1402:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 153, - "nodeType": "ExpressionStatement", - "src": "1402:15:1" - } - ] - }, - "documentation": null, - "functionSelector": "32a01103", - "id": 155, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 146, - "modifierName": { - "argumentTypes": null, - "id": 145, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1367:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1367:9:1" - }, - { - "arguments": null, - "id": 148, - "modifierName": { - "argumentTypes": null, - "id": 147, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1377:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1377:13:1" - } - ], - "name": "setTGEDate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 143, - "name": "_time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 155, - "src": "1343:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1342:15:1" - }, - "returnParameters": { - "id": 149, - "nodeType": "ParameterList", - "parameters": [], - "src": "1392:0:1" - }, - "scope": 384, - "src": "1323:101:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 310, - "nodeType": "Block", - "src": "1609:1485:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 161, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1686:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1675:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5447452064617465206e6f742073657420796574", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1689:22:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6bb552a40eaa0f251fd671657ef0b4db68c6a6c17f42f8d55aece8f5182aee0d", - "typeString": "literal_string \"TGE date not set yet\"" - }, - "value": "TGE date not set yet" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6bb552a40eaa0f251fd671657ef0b4db68c6a6c17f42f8d55aece8f5182aee0d", - "typeString": "literal_string \"TGE date not set yet\"" - } - ], - "id": 160, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1667:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "1667:45:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1764:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1764:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 170, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1782:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544745207374696c6c206861736ec2b4742073746172746564", - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1791:27:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1a7bf216d49d8503a52a54f2c401670b0f888f4b2da6a8616a15056ff28ea65", - "typeString": "literal_string \"TGE still hasn´t started\"" - }, - "value": "TGE still hasn´t started" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b1a7bf216d49d8503a52a54f2c401670b0f888f4b2da6a8616a15056ff28ea65", - "typeString": "literal_string \"TGE still hasn´t started\"" - } - ], - "id": 167, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1756:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1756:63:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1756:63:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 179, - "name": "lastDateDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1916:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 176, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1896:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "1896:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1896:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1940:6:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - }, - "src": "1896:50:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e206f6e6c792062652063616c6c6564206f6e6365206120646179", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1948:31:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997d18affddc32ef7c387bdee1aeeab1834686b11103124b44fdb59d768a9720", - "typeString": "literal_string \"Can only be called once a day\"" - }, - "value": "Can only be called once a day" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997d18affddc32ef7c387bdee1aeeab1834686b11103124b44fdb59d768a9720", - "typeString": "literal_string \"Can only be called once a day\"" - } - ], - "id": 175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1888:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1888:92:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "1888:92:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 186, - "name": "lastDateDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1990:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 187, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2013:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2013:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1990:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 190, - "nodeType": "ExpressionStatement", - "src": "1990:38:1" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "2121:964:1", - "statements": [ - { - "assignments": [ - 205 - ], - "declarations": [ - { - "constant": false, - "id": 205, - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 308, - "src": "2178:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 203, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "2178:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "id": 204, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2178:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 211, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 206, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2208:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 210, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 207, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2222:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 209, - "indexExpression": { - "argumentTypes": null, - "id": 208, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2234:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2222:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2208:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2178:59:1" - }, - { - "body": { - "id": 306, - "nodeType": "Block", - "src": "2335:740:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 226, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "2378:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 223, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2358:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2358:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "2358:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2358:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 228, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2389:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 230, - "indexExpression": { - "argumentTypes": null, - "id": 229, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2391:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2389:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockDay", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "2389:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2358:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 233, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2357:47:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 234, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2466:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 236, - "indexExpression": { - "argumentTypes": null, - "id": 235, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2468:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2466:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2466:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2490:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2466:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 240, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2465:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2357:135:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 305, - "nodeType": "IfStatement", - "src": "2353:708:1", - "trueBody": { - "id": 304, - "nodeType": "Block", - "src": "2592:469:1", - "statements": [ - { - "assignments": [ - 243 - ], - "declarations": [ - { - "constant": false, - "id": 243, - "name": "sendingAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 304, - "src": "2614:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2614:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 244, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2614:21:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 245, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2657:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 246, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2673:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 248, - "indexExpression": { - "argumentTypes": null, - "id": 247, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2675:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2673:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2673:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2657:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 251, - "nodeType": "ExpressionStatement", - "src": "2657:37:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 252, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2716:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 257, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 253, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2730:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 255, - "indexExpression": { - "argumentTypes": null, - "id": 254, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2742:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2730:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2716:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 258, - "indexExpression": { - "argumentTypes": null, - "id": 256, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2746:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2716:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2716:49:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 269, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2822:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 260, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2768:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 264, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 261, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2782:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 263, - "indexExpression": { - "argumentTypes": null, - "id": 262, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2794:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2782:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 266, - "indexExpression": { - "argumentTypes": null, - "id": 265, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2798:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2768:49:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "2768:53:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2768:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2716:120:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 272, - "nodeType": "ExpressionStatement", - "src": "2716:120:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 273, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2858:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 278, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 274, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2872:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 276, - "indexExpression": { - "argumentTypes": null, - "id": 275, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2884:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2872:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2858:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 279, - "indexExpression": { - "argumentTypes": null, - "id": 277, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2888:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2858:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amountSent", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "2858:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 290, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2952:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 281, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2904:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 285, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 282, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2918:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "id": 283, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2930:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2918:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2904:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 287, - "indexExpression": { - "argumentTypes": null, - "id": 286, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2934:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2904:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amountSent", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "2904:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 6271, - "src": "2904:47:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2904:62:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2858:108:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "2858:108:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 297, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3011:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 299, - "indexExpression": { - "argumentTypes": null, - "id": 298, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "3023:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3011:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 300, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "3027:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 295, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "2996:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6944, - "src": "2996:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 294, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2988:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2988:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 303, - "nodeType": "ExpressionStatement", - "src": "2988:54:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 216, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2317:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 217, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2321:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2321:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2317:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 307, - "initializationExpression": { - "assignments": [ - 213 - ], - "declarations": [ - { - "constant": false, - "id": 213, - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 307, - "src": "2305:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 212, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2305:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2314:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2305:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2331:3:1", - "subExpression": { - "argumentTypes": null, - "id": 220, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2331:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 222, - "nodeType": "ExpressionStatement", - "src": "2331:3:1" - }, - "nodeType": "ForStatement", - "src": "2301:774:1" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2092:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 196, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2096:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2096:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2092:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 309, - "initializationExpression": { - "assignments": [ - 192 - ], - "declarations": [ - { - "constant": false, - "id": 192, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 309, - "src": "2080:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 191, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2080:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 194, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2080:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2116:3:1", - "subExpression": { - "argumentTypes": null, - "id": 199, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2116:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 201, - "nodeType": "ExpressionStatement", - "src": "2116:3:1" - }, - "nodeType": "ForStatement", - "src": "2076:1009:1" - } - ] - }, - "documentation": " Should allow any address to trigger it, but since the calls are atomic it should do only once per day", - "functionSelector": "83e2ad63", - "id": 311, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1594:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1594:13:1" - } - ], - "name": "triggerTokenSend", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [], - "src": "1582:2:1" - }, - "returnParameters": { - "id": 159, - "nodeType": "ParameterList", - "parameters": [], - "src": "1609:0:1" - }, - "scope": 384, - "src": "1557:1537:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 382, - "nodeType": "Block", - "src": "3226:723:1", - "statements": [ - { - "assignments": [ - 325 - ], - "declarations": [ - { - "constant": false, - "id": 325, - "name": "isAddressPresent", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 382, - "src": "3285:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 324, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3285:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 327, - "initialValue": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3309:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3285:29:1" - }, - { - "body": { - "id": 350, - "nodeType": "Block", - "src": "3423:110:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 339, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3440:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 341, - "indexExpression": { - "argumentTypes": null, - "id": 340, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3452:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3440:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 342, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3458:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3440:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 349, - "nodeType": "IfStatement", - "src": "3437:86:1", - "trueBody": { - "id": 348, - "nodeType": "Block", - "src": "3467:56:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 344, - "name": "isAddressPresent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "3485:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3504:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3485:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 347, - "nodeType": "ExpressionStatement", - "src": "3485:23:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 332, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3394:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 333, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3398:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3398:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3394:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 351, - "initializationExpression": { - "assignments": [ - 329 - ], - "declarations": [ - { - "constant": false, - "id": 329, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3382:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3382:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 331, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3391:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3382:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3418:3:1", - "subExpression": { - "argumentTypes": null, - "id": 336, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3418:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 338, - "nodeType": "ExpressionStatement", - "src": "3418:3:1" - }, - "nodeType": "ForStatement", - "src": "3378:155:1" - }, - { - "assignments": [ - 353 - ], - "declarations": [ - { - "constant": false, - "id": 353, - "name": "distributionStep", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 382, - "src": "3587:40:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - }, - "typeName": { - "contractScope": null, - "id": 352, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "3587:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 364, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 355, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "3647:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 356, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "3662:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3647:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 358, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "3672:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "3687:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3672:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 361, - "name": "_unlockDays", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "3697:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3710:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 354, - "name": "DistributionStep", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3630:16:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DistributionStep_$99_storage_ptr_$", - "typeString": "type(struct ERC20Distribution.DistributionStep storage pointer)" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3630:82:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3587:125:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "distributionStep", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "3772:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 365, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "3743:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 367, - "indexExpression": { - "argumentTypes": null, - "id": 366, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3757:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3743:23:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3743:28:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DistributionStep_$99_storage_$returns$__$", - "typeString": "function (struct ERC20Distribution.DistributionStep storage ref)" - } - }, - "id": 370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3743:46:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 371, - "nodeType": "ExpressionStatement", - "src": "3743:46:1" - }, - { - "condition": { - "argumentTypes": null, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3874:17:1", - "subExpression": { - "argumentTypes": null, - "id": 372, - "name": "isAddressPresent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "3875:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 381, - "nodeType": "IfStatement", - "src": "3871:72:1", - "trueBody": { - "id": 380, - "nodeType": "Block", - "src": "3892:51:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3923:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 374, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3906:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3906:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3906:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "3906:26:1" - } - ] - } - } - ] - }, - "documentation": null, - "id": 383, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 320, - "modifierName": { - "argumentTypes": null, - "id": 319, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "3202:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:9:1" - }, - { - "arguments": null, - "id": 322, - "modifierName": { - "argumentTypes": null, - "id": 321, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "3212:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3212:13:1" - } - ], - "name": "setInitialDistribution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 313, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3132:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3132:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 315, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3150:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3150:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 317, - "name": "_unlockDays", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3172:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3172:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3131:61:1" - }, - "returnParameters": { - "id": 323, - "nodeType": "ParameterList", - "parameters": [], - "src": "3226:0:1" - }, - "scope": 384, - "src": "3100:849:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 385, - "src": "219:3732:1" - } - ], - "src": "0:3951:1" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Distribution.sol", - "exportedSymbols": { - "ERC20Distribution": [ - 384 - ] - }, - "id": 385, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 54, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 55, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 6991, - "src": "26:56:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 56, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 9478, - "src": "83:52:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 57, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 6438, - "src": "136:51:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 58, - "nodeType": "ImportDirective", - "scope": 385, - "sourceUnit": 5231, - "src": "188:29:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 59, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9477, - "src": "249:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$9477", - "typeString": "contract Pausable" - } - }, - "id": 60, - "nodeType": "InheritanceSpecifier", - "src": "249:8:1" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 61, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5230, - "src": "259:7:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$5230", - "typeString": "contract Ownable" - } - }, - "id": 62, - "nodeType": "InheritanceSpecifier", - "src": "259:7:1" - } - ], - "contractDependencies": [ - 5230, - 8380, - 9477 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 384, - "linearizedBaseContracts": [ - 384, - 5230, - 9477, - 8380 - ], - "name": "ERC20Distribution", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 65, - "libraryName": { - "contractScope": null, - "id": 63, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6437, - "src": "279:8:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6437", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "273:27:1", - "typeName": { - "id": 64, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "292:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "functionSelector": "313ce567", - "id": 68, - "name": "decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "306:42:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 66, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "306:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 67, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "341:7:1", - "subdenomination": "ether", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f8a14f46", - "id": 71, - "name": "tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "354:28:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 70, - "length": null, - "nodeType": "ArrayTypeName", - "src": "354:9:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb128728", - "id": 74, - "name": "TGEDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "435:26:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 72, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "435:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 73, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "460:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "702921f5", - "id": 77, - "name": "month", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "519:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 75, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "519:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3330", - "id": 76, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:7:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_2592000_by_1", - "typeString": "int_const 2592000" - }, - "value": "30" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "f3269716", - "id": 80, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "564:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 78, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "564:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 79, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "595:8:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "76093957", - "id": 83, - "name": "lastDateDistribution", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "609:39:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 81, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "609:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 82, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "647:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2d9b4b25", - "id": 88, - "name": "distributions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "659:59:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep[])" - }, - "typeName": { - "id": 87, - "keyType": { - "id": 84, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "659:38:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep[])" - }, - "valueType": { - "baseType": { - "contractScope": null, - "id": 85, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "678:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "id": 86, - "length": null, - "nodeType": "ArrayTypeName", - "src": "678:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 90, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 384, - "src": "755:19:1", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6990, - "src": "755:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC20Distribution.DistributionStep", - "id": 99, - "members": [ - { - "constant": false, - "id": 92, - "name": "amountAllocated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "815:23:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 91, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "815:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 94, - "name": "currentAllocated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "848:24:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 93, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "848:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 96, - "name": "unlockDay", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "882:17:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 95, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "882:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 98, - "name": "amountSent", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 99, - "src": "909:18:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 97, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "909:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "DistributionStep", - "nodeType": "StructDefinition", - "scope": 384, - "src": "781:153:1", - "visibility": "public" - }, - { - "body": { - "id": 102, - "nodeType": "Block", - "src": "960:2:1", - "statements": [] - }, - "documentation": null, - "id": 103, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 100, - "nodeType": "ParameterList", - "parameters": [], - "src": "951:2:1" - }, - "returnParameters": { - "id": 101, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:1" - }, - "scope": 384, - "src": "940:22:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 116, - "nodeType": "Block", - "src": "1049:38:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 112, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1059:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 113, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 105, - "src": "1067:13:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "src": "1059:21:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 115, - "nodeType": "ExpressionStatement", - "src": "1059:21:1" - } - ] - }, - "documentation": null, - "functionSelector": "26a4e8d2", - "id": 117, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 108, - "modifierName": { - "argumentTypes": null, - "id": 107, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1024:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1024:9:1" - }, - { - "arguments": null, - "id": 110, - "modifierName": { - "argumentTypes": null, - "id": 109, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1034:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1034:13:1" - } - ], - "name": "setTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 106, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 105, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 117, - "src": "993:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 104, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6990, - "src": "993:6:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "992:22:1" - }, - "returnParameters": { - "id": 111, - "nodeType": "ParameterList", - "parameters": [], - "src": "1049:0:1" - }, - "scope": 384, - "src": "968:119:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 140, - "nodeType": "Block", - "src": "1174:143:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 129, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 119, - "src": "1268:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 134, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1302:4:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Distribution_$384", - "typeString": "contract ERC20Distribution" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20Distribution_$384", - "typeString": "contract ERC20Distribution" - } - ], - "id": 133, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1294:7:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1294:7:1", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1294:13:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 130, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1278:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6935, - "src": "1278:15:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1278:30:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 127, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1253:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6944, - "src": "1253:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1253:56:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 126, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1245:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1245:65:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 139, - "nodeType": "ExpressionStatement", - "src": "1245:65:1" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 141, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 122, - "modifierName": { - "argumentTypes": null, - "id": 121, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1152:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1152:9:1" - }, - { - "arguments": null, - "id": 124, - "modifierName": { - "argumentTypes": null, - "id": 123, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9446, - "src": "1162:10:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1162:10:1" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 120, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 119, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 141, - "src": "1125:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 118, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1125:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:18:1" - }, - "returnParameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [], - "src": "1174:0:1" - }, - "scope": 384, - "src": "1097:220:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 154, - "nodeType": "Block", - "src": "1392:32:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 150, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1402:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 151, - "name": "_time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 143, - "src": "1412:5:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1402:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 153, - "nodeType": "ExpressionStatement", - "src": "1402:15:1" - } - ] - }, - "documentation": null, - "functionSelector": "32a01103", - "id": 155, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 146, - "modifierName": { - "argumentTypes": null, - "id": 145, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "1367:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1367:9:1" - }, - { - "arguments": null, - "id": 148, - "modifierName": { - "argumentTypes": null, - "id": 147, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1377:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1377:13:1" - } - ], - "name": "setTGEDate", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 144, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 143, - "name": "_time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 155, - "src": "1343:13:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1342:15:1" - }, - "returnParameters": { - "id": 149, - "nodeType": "ParameterList", - "parameters": [], - "src": "1392:0:1" - }, - "scope": 384, - "src": "1323:101:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 310, - "nodeType": "Block", - "src": "1609:1485:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 161, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1675:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 162, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1686:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1675:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5447452064617465206e6f742073657420796574", - "id": 164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1689:22:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6bb552a40eaa0f251fd671657ef0b4db68c6a6c17f42f8d55aece8f5182aee0d", - "typeString": "literal_string \"TGE date not set yet\"" - }, - "value": "TGE date not set yet" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6bb552a40eaa0f251fd671657ef0b4db68c6a6c17f42f8d55aece8f5182aee0d", - "typeString": "literal_string \"TGE date not set yet\"" - } - ], - "id": 160, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1667:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1667:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 166, - "nodeType": "ExpressionStatement", - "src": "1667:45:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 168, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1764:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 169, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1764:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 170, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "1782:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1764:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "544745207374696c6c206861736ec2b4742073746172746564", - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1791:27:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b1a7bf216d49d8503a52a54f2c401670b0f888f4b2da6a8616a15056ff28ea65", - "typeString": "literal_string \"TGE still hasn´t started\"" - }, - "value": "TGE still hasn´t started" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b1a7bf216d49d8503a52a54f2c401670b0f888f4b2da6a8616a15056ff28ea65", - "typeString": "literal_string \"TGE still hasn´t started\"" - } - ], - "id": 167, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1756:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 173, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1756:63:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 174, - "nodeType": "ExpressionStatement", - "src": "1756:63:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 179, - "name": "lastDateDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1916:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 176, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1896:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1896:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "1896:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1896:41:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1940:6:1", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_86400_by_1", - "typeString": "int_const 86400" - }, - "value": "1" - }, - "src": "1896:50:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e206f6e6c792062652063616c6c6564206f6e6365206120646179", - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1948:31:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_997d18affddc32ef7c387bdee1aeeab1834686b11103124b44fdb59d768a9720", - "typeString": "literal_string \"Can only be called once a day\"" - }, - "value": "Can only be called once a day" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_997d18affddc32ef7c387bdee1aeeab1834686b11103124b44fdb59d768a9720", - "typeString": "literal_string \"Can only be called once a day\"" - } - ], - "id": 175, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1888:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1888:92:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 185, - "nodeType": "ExpressionStatement", - "src": "1888:92:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 186, - "name": "lastDateDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 83, - "src": "1990:20:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 187, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2013:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2013:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1990:38:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 190, - "nodeType": "ExpressionStatement", - "src": "1990:38:1" - }, - { - "body": { - "id": 308, - "nodeType": "Block", - "src": "2121:964:1", - "statements": [ - { - "assignments": [ - 205 - ], - "declarations": [ - { - "constant": false, - "id": 205, - "name": "d", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 308, - "src": "2178:27:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 203, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "2178:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "id": 204, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2178:18:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 211, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 206, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2208:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 210, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 207, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2222:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 209, - "indexExpression": { - "argumentTypes": null, - "id": 208, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2234:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2222:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2208:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2178:59:1" - }, - { - "body": { - "id": 306, - "nodeType": "Block", - "src": "2335:740:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 226, - "name": "TGEDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 74, - "src": "2378:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 223, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2358:5:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2358:15:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "2358:19:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2358:28:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 228, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2389:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 230, - "indexExpression": { - "argumentTypes": null, - "id": 229, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2391:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2389:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "unlockDay", - "nodeType": "MemberAccess", - "referencedDeclaration": 96, - "src": "2389:14:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2358:45:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 233, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2357:47:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 234, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2466:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 236, - "indexExpression": { - "argumentTypes": null, - "id": 235, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2468:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2466:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 237, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2466:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2490:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2466:25:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 240, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2465:27:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2357:135:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 305, - "nodeType": "IfStatement", - "src": "2353:708:1", - "trueBody": { - "id": 304, - "nodeType": "Block", - "src": "2592:469:1", - "statements": [ - { - "assignments": [ - 243 - ], - "declarations": [ - { - "constant": false, - "id": 243, - "name": "sendingAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 304, - "src": "2614:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 242, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2614:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 244, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2614:21:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 245, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2657:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 246, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2673:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 248, - "indexExpression": { - "argumentTypes": null, - "id": 247, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2675:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2673:4:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "id": 249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2673:21:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2657:37:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 251, - "nodeType": "ExpressionStatement", - "src": "2657:37:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 252, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2716:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 257, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 253, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2730:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 255, - "indexExpression": { - "argumentTypes": null, - "id": 254, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2742:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2730:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2716:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 258, - "indexExpression": { - "argumentTypes": null, - "id": 256, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2746:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2716:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 259, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2716:49:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 269, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2822:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 260, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2768:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 264, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 261, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2782:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 263, - "indexExpression": { - "argumentTypes": null, - "id": 262, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2794:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2782:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 266, - "indexExpression": { - "argumentTypes": null, - "id": 265, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2798:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2768:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAllocated", - "nodeType": "MemberAccess", - "referencedDeclaration": 94, - "src": "2768:49:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 6292, - "src": "2768:53:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2768:68:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2716:120:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 272, - "nodeType": "ExpressionStatement", - "src": "2716:120:1" - }, - { - "expression": { - "argumentTypes": null, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 273, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2858:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 278, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 274, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2872:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 276, - "indexExpression": { - "argumentTypes": null, - "id": 275, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2884:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2872:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2858:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 279, - "indexExpression": { - "argumentTypes": null, - "id": 277, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2888:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2858:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amountSent", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "2858:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 290, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "2952:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 281, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "2904:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 285, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 282, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2918:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "id": 283, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2930:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2918:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2904:29:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 287, - "indexExpression": { - "argumentTypes": null, - "id": 286, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2934:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2904:32:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref" - } - }, - "id": 288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amountSent", - "nodeType": "MemberAccess", - "referencedDeclaration": 98, - "src": "2904:43:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 6271, - "src": "2904:47:1", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2904:62:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2858:108:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 293, - "nodeType": "ExpressionStatement", - "src": "2858:108:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 297, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3011:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 299, - "indexExpression": { - "argumentTypes": null, - "id": 298, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "3023:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3011:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 300, - "name": "sendingAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 243, - "src": "3027:13:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 295, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "2996:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6990", - "typeString": "contract IERC20" - } - }, - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6944, - "src": "2996:14:1", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2996:45:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 294, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2988:7:1", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2988:54:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 303, - "nodeType": "ExpressionStatement", - "src": "2988:54:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 216, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2317:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 217, - "name": "d", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 205, - "src": "2321:1:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_memory_$dyn_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory[] memory" - } - }, - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2321:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2317:12:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 307, - "initializationExpression": { - "assignments": [ - 213 - ], - "declarations": [ - { - "constant": false, - "id": 213, - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 307, - "src": "2305:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 212, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2305:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 215, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2314:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2305:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2331:3:1", - "subExpression": { - "argumentTypes": null, - "id": 220, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 213, - "src": "2331:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 222, - "nodeType": "ExpressionStatement", - "src": "2331:3:1" - }, - "nodeType": "ForStatement", - "src": "2301:774:1" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 195, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2092:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 196, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "2096:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2096:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2092:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 309, - "initializationExpression": { - "assignments": [ - 192 - ], - "declarations": [ - { - "constant": false, - "id": 192, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 309, - "src": "2080:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 191, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2080:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 194, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2080:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2116:3:1", - "subExpression": { - "argumentTypes": null, - "id": 199, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 192, - "src": "2116:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 201, - "nodeType": "ExpressionStatement", - "src": "2116:3:1" - }, - "nodeType": "ForStatement", - "src": "2076:1009:1" - } - ] - }, - "documentation": " Should allow any address to trigger it, but since the calls are atomic it should do only once per day", - "functionSelector": "83e2ad63", - "id": 311, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 158, - "modifierName": { - "argumentTypes": null, - "id": 157, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "1594:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1594:13:1" - } - ], - "name": "triggerTokenSend", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 156, - "nodeType": "ParameterList", - "parameters": [], - "src": "1582:2:1" - }, - "returnParameters": { - "id": 159, - "nodeType": "ParameterList", - "parameters": [], - "src": "1609:0:1" - }, - "scope": 384, - "src": "1557:1537:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 382, - "nodeType": "Block", - "src": "3226:723:1", - "statements": [ - { - "assignments": [ - 325 - ], - "declarations": [ - { - "constant": false, - "id": 325, - "name": "isAddressPresent", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 382, - "src": "3285:21:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 324, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3285:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 327, - "initialValue": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3309:5:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3285:29:1" - }, - { - "body": { - "id": 350, - "nodeType": "Block", - "src": "3423:110:1", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 339, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3440:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 341, - "indexExpression": { - "argumentTypes": null, - "id": 340, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3452:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3440:14:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 342, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3458:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3440:26:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 349, - "nodeType": "IfStatement", - "src": "3437:86:1", - "trueBody": { - "id": 348, - "nodeType": "Block", - "src": "3467:56:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 344, - "name": "isAddressPresent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "3485:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3504:4:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3485:23:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 347, - "nodeType": "ExpressionStatement", - "src": "3485:23:1" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 332, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3394:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 333, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3398:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3398:18:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3394:22:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 351, - "initializationExpression": { - "assignments": [ - 329 - ], - "declarations": [ - { - "constant": false, - "id": 329, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 351, - "src": "3382:6:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 328, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3382:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 331, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3391:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3382:10:1" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3418:3:1", - "subExpression": { - "argumentTypes": null, - "id": 336, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 329, - "src": "3418:1:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 338, - "nodeType": "ExpressionStatement", - "src": "3418:3:1" - }, - "nodeType": "ForStatement", - "src": "3378:155:1" - }, - { - "assignments": [ - 353 - ], - "declarations": [ - { - "constant": false, - "id": 353, - "name": "distributionStep", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 382, - "src": "3587:40:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - }, - "typeName": { - "contractScope": null, - "id": 352, - "name": "DistributionStep", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 99, - "src": "3587:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_storage_ptr", - "typeString": "struct ERC20Distribution.DistributionStep" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 364, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 355, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "3647:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 356, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "3662:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3647:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 358, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 315, - "src": "3672:12:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "3687:8:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3672:23:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 361, - "name": "_unlockDays", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 317, - "src": "3697:11:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3710:1:1", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 354, - "name": "DistributionStep", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3630:16:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_DistributionStep_$99_storage_ptr_$", - "typeString": "type(struct ERC20Distribution.DistributionStep storage pointer)" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3630:82:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3587:125:1" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 369, - "name": "distributionStep", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 353, - "src": "3772:16:1", - "typeDescriptions": { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_DistributionStep_$99_memory_ptr", - "typeString": "struct ERC20Distribution.DistributionStep memory" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 365, - "name": "distributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 88, - "src": "3743:13:1", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage_$", - "typeString": "mapping(address => struct ERC20Distribution.DistributionStep storage ref[] storage ref)" - } - }, - "id": 367, - "indexExpression": { - "argumentTypes": null, - "id": 366, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3757:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3743:23:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_DistributionStep_$99_storage_$dyn_storage", - "typeString": "struct ERC20Distribution.DistributionStep storage ref[] storage ref" - } - }, - "id": 368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3743:28:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_DistributionStep_$99_storage_$returns$__$", - "typeString": "function (struct ERC20Distribution.DistributionStep storage ref)" - } - }, - "id": 370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3743:46:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 371, - "nodeType": "ExpressionStatement", - "src": "3743:46:1" - }, - { - "condition": { - "argumentTypes": null, - "id": 373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3874:17:1", - "subExpression": { - "argumentTypes": null, - "id": 372, - "name": "isAddressPresent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 325, - "src": "3875:16:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 381, - "nodeType": "IfStatement", - "src": "3871:72:1", - "trueBody": { - "id": 380, - "nodeType": "Block", - "src": "3892:51:1", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 377, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 313, - "src": "3923:8:1", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 374, - "name": "tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 71, - "src": "3906:11:1", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3906:16:1", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3906:26:1", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 379, - "nodeType": "ExpressionStatement", - "src": "3906:26:1" - } - ] - } - } - ] - }, - "documentation": null, - "id": 383, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 320, - "modifierName": { - "argumentTypes": null, - "id": 319, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5203, - "src": "3202:9:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3202:9:1" - }, - { - "arguments": null, - "id": 322, - "modifierName": { - "argumentTypes": null, - "id": 321, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9436, - "src": "3212:13:1", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3212:13:1" - } - ], - "name": "setInitialDistribution", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 313, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3132:16:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3132:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 315, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3150:20:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3150:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 317, - "name": "_unlockDays", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 383, - "src": "3172:19:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 316, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3172:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3131:61:1" - }, - "returnParameters": { - "id": 323, - "nodeType": "ParameterList", - "parameters": [], - "src": "3226:0:1" - }, - "scope": 384, - "src": "3100:849:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 385, - "src": "219:3732:1" - } - ], - "src": "0:3951:1" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-15T12:05:05.696Z", - "devdoc": { - "methods": { - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": { - "triggerTokenSend()": { - "notice": "Should allow any address to trigger it, but since the calls are atomic it should do only once per day" - } - } - } -} \ No newline at end of file diff --git a/build/contracts/ERC20Test.json b/build/contracts/ERC20Test.json deleted file mode 100644 index 796c7173..00000000 --- a/build/contracts/ERC20Test.json +++ /dev/null @@ -1,994 +0,0 @@ -{ - "contractName": "ERC20Test", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_cap", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "distributionContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_cap\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distributionContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Mintable token with a token cap having msg.sender as distributionContract address.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"ERC20 test token contract\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Test.sol\":\"ERC20Test\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol\":{\"keccak256\":\"0xb082c7e7a477631dfa8df3af6b18f098db6f203d25629a01ca9719aa84d83514\",\"urls\":[\"bzz-raw://797b1ca8faf7e9c5fe74cfdf2a667d7215c78df6a7b9925a6400eb7b793d6777\",\"dweb:/ipfs/QmWKQCpRcK9ukdReQhSdj6wDpgixqTj7Z9ybfFen2Lj3Ru\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Test.sol\":{\"keccak256\":\"0xe14d30f72dd172f29dac1044b1c70272fd8a8b09bf2093ef0bb6758bde6fa703\",\"urls\":[\"bzz-raw://1e570f59b6b0ceb63b4bc704aaf9b77aea35bdddf2977646d3e7206aa2cdc478\",\"dweb:/ipfs/QmVQoJ4McBLnR8D2h4HQy2ifebMCkKU1JdrVbXokg6XPcq\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000fb638038062000fb6833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190505050828282338383838383838160039080519060200190620001ce929190620003a3565b508051620001e4906004906020840190620003a3565b505060058054601260ff1990911617610100600160a81b03191661010033021790555062000213818362000224565b505050505050505050505062000448565b6001600160a01b03821662000280576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000297600083836001600160e01b036200033c16565b620002b3816002546200034160201b620009c11790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002e6918390620009c162000341821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200039c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003e657805160ff191683800117855562000416565b8280016001018555821562000416579182015b8281111562000416578251825591602001919060010190620003f9565b506200042492915062000428565b5090565b6200044591905b808211156200042457600081556001016200042f565b90565b610b5e80620004586000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f7542ef9e99a66dba56abbbdb9b1c1bdbefa332171939a680e1d5f22343d302664736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220f7542ef9e99a66dba56abbbdb9b1c1bdbefa332171939a680e1d5f22343d302664736f6c63430006020033", - "sourceMap": "184:196:1:-:0;;;219:159;8:9:-1;5:2;;;30:1;27;20:12;5:2;219:159:1;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;219:159:1;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;219:159:1;;420:4:-1;411:14;;;;219:159:1;;;;;411:14:-1;219:159:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;219:159:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;219:159:1;;420:4:-1;411:14;;;;219:159:1;;;;;411:14:-1;219:159:1;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;219:159:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;337:5;344:7;353:4;359:10;762:5:0;769:7;778:4;784:21;489:5;496:7;2040:5:15;2032;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2055:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:15;:14;;2094:2;-1:-1:-1;;2082:14:15;;;;-1:-1:-1;;;;;;508:18:11;2082:14:15;516:10:11;508:18;;;;-1:-1:-1;515:34:0::1;521:21:::0;544:4;515:5:::1;:34::i;:::-;342:214:::0;;;;598:216;;;;219:159:1;;;184:196;;7832:370:15;-1:-1:-1;;;;;7915:21:15;;7907:65;;;;;-1:-1:-1;;;7907:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:15;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:15;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:15;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;184:196:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;184:196:1;;;-1:-1:-1;184:196:1;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "184:196:1:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;184:196:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2168:89:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4877:317:15;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5589:215:15;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:15;-1:-1:-1;;;;;3399:125:15;;:::i;239:20:11:-;;;:::i;2370:93:15:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:15;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:15;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:15;;;;;;;;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;:::-;;2168:89:15;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:15;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:15;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:15;;;;;;;;;;;;-1:-1:-1;5076:33:15;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:15;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:15;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:15:-;-1:-1:-1;;;;;3499:18:15;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;2370:93:15:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:15;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:15;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:23:-;685:10;598:104;:::o;9355:340:15:-;-1:-1:-1;;;;;9456:19:15;;9448:68;;;;-1:-1:-1;;;9448:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:15;;9526:68;;;;-1:-1:-1;;;9526:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:15;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:15;;7128:70;;;;-1:-1:-1;;;7128:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:15;;7208:71;;;;-1:-1:-1;;;7208:71:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:15;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:15;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:15;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:14:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:14;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;10701:92:15:-;;;;:::o", - "source": "pragma solidity >=0.6.0;\n\nimport \"./ERC20.sol\";\n\n/**\n * @title ERC20 test token contract\n * @dev Mintable token with a token cap having msg.sender as distributionContract address.\n */\ncontract ERC20Test is Token {\n\n constructor(\n string memory _name, \n string memory _symbol,\n uint256 _cap\n ) public Token(_name, _symbol, _cap, msg.sender) {\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Test.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Test.sol", - "exportedSymbols": { - "ERC20Test": [ - 75 - ] - }, - "id": 76, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 54, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 55, - "nodeType": "ImportDirective", - "scope": 76, - "sourceUnit": 53, - "src": "26:21:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 56, - "name": "Token", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 52, - "src": "206:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Token_$52", - "typeString": "contract Token" - } - }, - "id": 57, - "nodeType": "InheritanceSpecifier", - "src": "206:5:1" - } - ], - "contractDependencies": [ - 31, - 52, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title ERC20 test token contract\n@dev Mintable token with a token cap having msg.sender as distributionContract address.", - "fullyImplemented": true, - "id": 75, - "linearizedBaseContracts": [ - 75, - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "ERC20Test", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 73, - "nodeType": "Block", - "src": "371:7:1", - "statements": [] - }, - "documentation": null, - "id": 74, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 66, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "337:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 67, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "344:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 68, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "353:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 69, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "359:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "359:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 71, - "modifierName": { - "argumentTypes": null, - "id": 65, - "name": "Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "331:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Token_$52_$", - "typeString": "type(contract Token)" - } - }, - "nodeType": "ModifierInvocation", - "src": "331:39:1" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "240:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 58, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "240:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "270:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 60, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "270:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "301:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "301:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:93:1" - }, - "returnParameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [], - "src": "371:0:1" - }, - "scope": 75, - "src": "219:159:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 76, - "src": "184:196:1" - } - ], - "src": "0:380:1" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20Test.sol", - "exportedSymbols": { - "ERC20Test": [ - 75 - ] - }, - "id": 76, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 54, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:1" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "file": "./ERC20.sol", - "id": 55, - "nodeType": "ImportDirective", - "scope": 76, - "sourceUnit": 53, - "src": "26:21:1", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 56, - "name": "Token", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 52, - "src": "206:5:1", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Token_$52", - "typeString": "contract Token" - } - }, - "id": 57, - "nodeType": "InheritanceSpecifier", - "src": "206:5:1" - } - ], - "contractDependencies": [ - 31, - 52, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title ERC20 test token contract\n@dev Mintable token with a token cap having msg.sender as distributionContract address.", - "fullyImplemented": true, - "id": 75, - "linearizedBaseContracts": [ - 75, - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "ERC20Test", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 73, - "nodeType": "Block", - "src": "371:7:1", - "statements": [] - }, - "documentation": null, - "id": 74, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 66, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 59, - "src": "337:5:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 67, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 61, - "src": "344:7:1", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 68, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "353:4:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 69, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "359:3:1", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 70, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "359:10:1", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 71, - "modifierName": { - "argumentTypes": null, - "id": 65, - "name": "Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "331:5:1", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Token_$52_$", - "typeString": "type(contract Token)" - } - }, - "nodeType": "ModifierInvocation", - "src": "331:39:1" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 64, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 59, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "240:19:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 58, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "240:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 61, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "270:21:1", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 60, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "270:6:1", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 63, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 74, - "src": "301:12:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 62, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "301:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "230:93:1" - }, - "returnParameters": { - "id": 72, - "nodeType": "ParameterList", - "parameters": [], - "src": "371:0:1" - }, - "scope": 75, - "src": "219:159:1", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 76, - "src": "184:196:1" - } - ], - "src": "0:380:1" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-16T08:06:51.150Z", - "devdoc": { - "details": "Mintable token with a token cap having msg.sender as distributionContract address.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - }, - "title": "ERC20 test token contract" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC20TokenLock.json b/build/contracts/ERC20TokenLock.json deleted file mode 100644 index 6712aecd..00000000 --- a/build/contracts/ERC20TokenLock.json +++ /dev/null @@ -1,12001 +0,0 @@ -{ - "contractName": "ERC20TokenLock", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_erc20TokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "MaxAmountToLockChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "admin", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "oldValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newValue", - "type": "uint256" - } - ], - "name": "MinAmountToLockChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startDate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "endDate", - "type": "uint256" - } - ], - "name": "TokensLocked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "withdrawDate", - "type": "uint256" - } - ], - "name": "TokensReleased", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "erc20", - "outputs": [ - { - "internalType": "contract IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedTokensMap", - "outputs": [ - { - "internalType": "uint256", - "name": "startDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxAmountToLock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "minAmountToLock", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalAmountStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "admin", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "setMaxAmountToLock", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenAmount", - "type": "uint256" - } - ], - "name": "setMinAmountToLock", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endDate", - "type": "uint256" - } - ], - "name": "lock", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "release", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "canRelease", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getLockedTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "getLockedTokensInfo", - "outputs": [ - { - "internalType": "uint256", - "name": "startDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc20TokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"MaxAmountToLockChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newValue\",\"type\":\"uint256\"}],\"name\":\"MinAmountToLockChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startDate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endDate\",\"type\":\"uint256\"}],\"name\":\"TokensLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawDate\",\"type\":\"uint256\"}],\"name\":\"TokensReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"canRelease\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getLockedTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getLockedTokensInfo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endDate\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedTokensMap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"startDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxAmountToLock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"minAmountToLock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"release\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"setMaxAmountToLock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"setMinAmountToLock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAmountStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"admin()\":{\"details\":\"Returns the admin address, usually the contract owner address.\",\"returns\":{\"_0\":\"address\"}},\"canRelease(address)\":{\"details\":\"Check if locked tokens release date has come and user can withdraw them\",\"returns\":{\"_0\":\"bool True if lock end date was reached\"}},\"constructor\":{\"details\":\"Constructor\"},\"getLockedTokens(address)\":{\"details\":\"Get locked tokens amount for a given address\",\"returns\":{\"_0\":\"uint256 Tokens amount for user address\"}},\"getLockedTokensInfo(address)\":{\"details\":\"Get locked tokens info for a given address\",\"returns\":{\"startDate\":\"endDate amount Locked tokens info\"}},\"lock(uint256,uint256)\":{\"details\":\"User locks his tokens until specified end date.\",\"params\":{\"amount\":\"Tokens amount to be locked.\",\"endDate\":\"Lock tokens until this end date.\"},\"returns\":{\"_0\":\"bool True if operation was successful. REQUIREMENTS: user must have approved this contract to spend the tokens \\\"amount\\\" he wants to lock before calling this function.\"}},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"release()\":{\"details\":\"User withdraws/releases his tokens after specified end date.\",\"returns\":{\"_0\":\"bool True if operation was successful.\"}},\"setMaxAmountToLock(uint256)\":{\"details\":\"Admin sets maximum amount of tokens to lock per user.\",\"params\":{\"tokenAmount\":\"Maximum tokens amount.\"},\"returns\":{\"_0\":\"bool True if operation was successful.\"}},\"setMinAmountToLock(uint256)\":{\"details\":\"Admin sets minimum amount of tokens to lock per user.\",\"params\":{\"tokenAmount\":\"Minimum tokens amount.\"},\"returns\":{\"_0\":\"bool True if operation was successful.\"}},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20TokenLock.sol\":\"ERC20TokenLock\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20TokenLock.sol\":{\"keccak256\":\"0x5b3cc04e2dfc6b07c4b58a1afa41657262400db124ad5a515e04be21a4613622\",\"urls\":[\"bzz-raw://889479831b932c74cd29b7cb4c573146336b12b1ed4e122a00cc69943236c3dd\",\"dweb:/ipfs/QmVHrSEcV7Gu6Bc6ot6PV9r63rBx1JV4JYRbJw5CCmrcxo\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x608060405260006002556000600355600060045534801561001f57600080fd5b50604051610d71380380610d718339818101604052602081101561004257600080fd5b5051600080546001600160a81b0319166101003302178155600180546001600160a01b0319166001600160a01b0390931692909217909155610ce790819061008a90396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806386d1a69f11610097578063f2fde38b11610066578063f2fde38b14610264578063f3e49d961461028c578063f851a440146102b2578063fe961f61146102ba57610100565b806386d1a69f1461022f5780638da5cb5b14610237578063e959824f1461023f578063f2682c041461025c57610100565b80636dfe789a116100d35780636dfe789a14610199578063785e9e86146101bf57806380506457146101e357806380acddbd146101eb57610100565b80631338736f146101055780635c975abb1461013c5780636b2d95d4146101445780636c53e4fe1461017c575b600080fd5b6101286004803603604081101561011b57600080fd5b50803590602001356102c2565b604080519115158252519081900360200190f35b6101286105fa565b61016a6004803603602081101561015a57600080fd5b50356001600160a01b0316610603565b60408051918252519081900360200190f35b6101286004803603602081101561019257600080fd5b5035610621565b610128600480360360208110156101af57600080fd5b50356001600160a01b031661073d565b6101c761075e565b604080516001600160a01b039092168252519081900360200190f35b61016a61076d565b6102116004803603602081101561020157600080fd5b50356001600160a01b0316610773565b60408051938452602084019290925282820152519081900360600190f35b6101286107c8565b6101c76109cc565b6101286004803603602081101561025557600080fd5b50356109e0565b61016a610afc565b61028a6004803603602081101561027a57600080fd5b50356001600160a01b0316610b02565b005b610211600480360360208110156102a257600080fd5b50356001600160a01b0316610b97565b6101c7610bb8565b61016a610bcc565b60006102cc6105fa565b15610311576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60008311801561032357506003548310155b801561033157506002548311155b610379576040805162461bcd60e51b8152602060048201526014602482015273125b9d985b1a59081d1bdad95b88185b5bdd5b9d60621b604482015290519081900360640190fd5b4282116103c0576040805162461bcd60e51b815260206004820152601060248201526f496e76616c696420656e64206461746560801b604482015290519081900360640190fd5b33600090815260056020526040902060020154156103da57fe5b60015460408051636eb1769f60e11b8152336004820152306024820152905185926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b15801561042a57600080fd5b505afa15801561043e573d6000803e3d6000fd5b505050506040513d602081101561045457600080fd5b505110156104a9576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420656e6f75676820746f6b656e7320617070726f766564000000000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561050357600080fd5b505af1158015610517573d6000803e3d6000fd5b505050506040513d602081101561052d57600080fd5b5051610576576040805162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b604482015290519081900360640190fd5b336000908152600560205260409020428155600181018390556002018390556004546105a8908463ffffffff610bd216565b600455604080513381526020810185905242818301526060810184905290517f90e20a62e0f2a608d33bd96a4e15cb853006a15caf4455f373b7b55de520b68c9181900360800190a150600192915050565b60005460ff1690565b6001600160a01b031660009081526005602052604090206002015490565b6000805461010090046001600160a01b0316331461063e57600080fd5b600354821415610695576040805162461bcd60e51b815260206004820152601f60248201527f446966666572656e7420746f6b656e20616d6f756e7420726571756972656400604482015290519081900360640190fd5b6002548211156106ec576040805162461bcd60e51b815260206004820152601b60248201527f3c3d206d6178416d6f756e74546f4c6f636b2072657175697265640000000000604482015290519081900360640190fd5b6003805490839055604080513381526020810183905280820185905290517f26cd3240aacd6d90dacd3d7c64ba6c98a2cd3e7fcf7f7251a8b11cde59b283c59181900360600190a150600192915050565b6001600160a01b031660009081526005602052604090206001015442101590565b6001546001600160a01b031681565b60035481565b6000806000610780610c90565b505050506001600160a01b0316600090815260056020908152604091829020825160608101845281548082526001830154938201849052600290920154930183905292909190565b3360009081526005602052604081206002015461082c576040805162461bcd60e51b815260206004820152601960248201527f7573657220686173206e6f206c6f636b656420746f6b656e7300000000000000604482015290519081900360640190fd5b33600090815260056020526040902060010154421015610893576040805162461bcd60e51b815260206004820152601f60248201527f746f6b656e732072656c656173652064617465206e6f74207265616368656400604482015290519081900360640190fd5b33600090815260056020526040812060020180549190556004546108bd908263ffffffff610c3316565b60049081556001546040805163a9059cbb60e01b8152339381019390935260248301849052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050506040513d602081101561094057600080fd5b5051610985576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6040805133815260208101839052428183015290517fc5c52c2a9175470464d5ea4429889e7df2ea88630a3d32f4d0d3d2d4486562109181900360600190a1600191505090565b60005461010090046001600160a01b031681565b6000805461010090046001600160a01b031633146109fd57600080fd5b600254821415610a54576040805162461bcd60e51b815260206004820152601f60248201527f446966666572656e7420746f6b656e20616d6f756e7420726571756972656400604482015290519081900360640190fd5b600354821015610aab576040805162461bcd60e51b815260206004820152601b60248201527f3e3d206d696e416d6f756e74546f4c6f636b2072657175697265640000000000604482015290519081900360640190fd5b6002805490839055604080513381526020810183905280820185905290517fa681f7266a89baea6aef96b2e31932f3746d3a6995846958e3de4279d9f41da49181900360600190a150600192915050565b60025481565b60005461010090046001600160a01b03163314610b1e57600080fd5b6001600160a01b038116610b3157600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60056020526000908152604090208054600182015460029092015490919083565b60005461010090046001600160a01b031690565b60045481565b600082820183811015610c2c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610c8a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060600160405280600081526020016000815260200160008152509056fea2646970667358221220e2e0099cbe9bfaa1e23da2d3633300329a788af2fda0d9d0e559c1886bfb3c3264736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806386d1a69f11610097578063f2fde38b11610066578063f2fde38b14610264578063f3e49d961461028c578063f851a440146102b2578063fe961f61146102ba57610100565b806386d1a69f1461022f5780638da5cb5b14610237578063e959824f1461023f578063f2682c041461025c57610100565b80636dfe789a116100d35780636dfe789a14610199578063785e9e86146101bf57806380506457146101e357806380acddbd146101eb57610100565b80631338736f146101055780635c975abb1461013c5780636b2d95d4146101445780636c53e4fe1461017c575b600080fd5b6101286004803603604081101561011b57600080fd5b50803590602001356102c2565b604080519115158252519081900360200190f35b6101286105fa565b61016a6004803603602081101561015a57600080fd5b50356001600160a01b0316610603565b60408051918252519081900360200190f35b6101286004803603602081101561019257600080fd5b5035610621565b610128600480360360208110156101af57600080fd5b50356001600160a01b031661073d565b6101c761075e565b604080516001600160a01b039092168252519081900360200190f35b61016a61076d565b6102116004803603602081101561020157600080fd5b50356001600160a01b0316610773565b60408051938452602084019290925282820152519081900360600190f35b6101286107c8565b6101c76109cc565b6101286004803603602081101561025557600080fd5b50356109e0565b61016a610afc565b61028a6004803603602081101561027a57600080fd5b50356001600160a01b0316610b02565b005b610211600480360360208110156102a257600080fd5b50356001600160a01b0316610b97565b6101c7610bb8565b61016a610bcc565b60006102cc6105fa565b15610311576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60008311801561032357506003548310155b801561033157506002548311155b610379576040805162461bcd60e51b8152602060048201526014602482015273125b9d985b1a59081d1bdad95b88185b5bdd5b9d60621b604482015290519081900360640190fd5b4282116103c0576040805162461bcd60e51b815260206004820152601060248201526f496e76616c696420656e64206461746560801b604482015290519081900360640190fd5b33600090815260056020526040902060020154156103da57fe5b60015460408051636eb1769f60e11b8152336004820152306024820152905185926001600160a01b03169163dd62ed3e916044808301926020929190829003018186803b15801561042a57600080fd5b505afa15801561043e573d6000803e3d6000fd5b505050506040513d602081101561045457600080fd5b505110156104a9576040805162461bcd60e51b815260206004820152601a60248201527f4e6f7420656e6f75676820746f6b656e7320617070726f766564000000000000604482015290519081900360640190fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561050357600080fd5b505af1158015610517573d6000803e3d6000fd5b505050506040513d602081101561052d57600080fd5b5051610576576040805162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b604482015290519081900360640190fd5b336000908152600560205260409020428155600181018390556002018390556004546105a8908463ffffffff610bd216565b600455604080513381526020810185905242818301526060810184905290517f90e20a62e0f2a608d33bd96a4e15cb853006a15caf4455f373b7b55de520b68c9181900360800190a150600192915050565b60005460ff1690565b6001600160a01b031660009081526005602052604090206002015490565b6000805461010090046001600160a01b0316331461063e57600080fd5b600354821415610695576040805162461bcd60e51b815260206004820152601f60248201527f446966666572656e7420746f6b656e20616d6f756e7420726571756972656400604482015290519081900360640190fd5b6002548211156106ec576040805162461bcd60e51b815260206004820152601b60248201527f3c3d206d6178416d6f756e74546f4c6f636b2072657175697265640000000000604482015290519081900360640190fd5b6003805490839055604080513381526020810183905280820185905290517f26cd3240aacd6d90dacd3d7c64ba6c98a2cd3e7fcf7f7251a8b11cde59b283c59181900360600190a150600192915050565b6001600160a01b031660009081526005602052604090206001015442101590565b6001546001600160a01b031681565b60035481565b6000806000610780610c90565b505050506001600160a01b0316600090815260056020908152604091829020825160608101845281548082526001830154938201849052600290920154930183905292909190565b3360009081526005602052604081206002015461082c576040805162461bcd60e51b815260206004820152601960248201527f7573657220686173206e6f206c6f636b656420746f6b656e7300000000000000604482015290519081900360640190fd5b33600090815260056020526040902060010154421015610893576040805162461bcd60e51b815260206004820152601f60248201527f746f6b656e732072656c656173652064617465206e6f74207265616368656400604482015290519081900360640190fd5b33600090815260056020526040812060020180549190556004546108bd908263ffffffff610c3316565b60049081556001546040805163a9059cbb60e01b8152339381019390935260248301849052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050506040513d602081101561094057600080fd5b5051610985576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b6040805133815260208101839052428183015290517fc5c52c2a9175470464d5ea4429889e7df2ea88630a3d32f4d0d3d2d4486562109181900360600190a1600191505090565b60005461010090046001600160a01b031681565b6000805461010090046001600160a01b031633146109fd57600080fd5b600254821415610a54576040805162461bcd60e51b815260206004820152601f60248201527f446966666572656e7420746f6b656e20616d6f756e7420726571756972656400604482015290519081900360640190fd5b600354821015610aab576040805162461bcd60e51b815260206004820152601b60248201527f3e3d206d696e416d6f756e74546f4c6f636b2072657175697265640000000000604482015290519081900360640190fd5b6002805490839055604080513381526020810183905280820185905290517fa681f7266a89baea6aef96b2e31932f3746d3a6995846958e3de4279d9f41da49181900360600190a150600192915050565b60025481565b60005461010090046001600160a01b03163314610b1e57600080fd5b6001600160a01b038116610b3157600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60056020526000908152604090208054600182015460029092015490919083565b60005461010090046001600160a01b031690565b60045481565b600082820183811015610c2c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610c8a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6040518060600160405280600081526020016000815260200160008152509056fea2646970667358221220e2e0099cbe9bfaa1e23da2d3633300329a788af2fda0d9d0e559c1886bfb3c3264736f6c63430006020033", - "sourceMap": "252:5296:2:-:0;;;451:1;418:34;;530:1;497:34;;611:1;576:36;;1373:92;8:9:-1;5:2;;;30:1;27;20:12;5:2;1373:92:2;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1373:92:2;945:5:26;935:15;;-1:-1:-1;;;;;;508:18:11;935:15:26;516:10:11;508:18;;;;-1:-1:-1;1424:34:2;;-1:-1:-1;;;;;;1424:34:2;-1:-1:-1;;;;;1424:34:2;;;;;;;;;;252:5296;;;;;;;;", - "deployedSourceMap": "252:5296:2:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;252:5296:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3160:840;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3160:840:2;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1052:84:26;;;:::i;5063:120:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5063:120:2;-1:-1:-1;;;;;5063:120:2;;:::i;:::-;;;;;;;;;;;;;;;;2407:391;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2407:391:2;;:::i;4813:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4813:128:2;-1:-1:-1;;;;;4813:128:2;;:::i;334:19::-;;;:::i;:::-;;;;-1:-1:-1;;;;;334:19:2;;;;;;;;;;;;;;497:34;;;:::i;5300:244::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5300:244:2;-1:-1:-1;;;;;5300:244:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;4138:526;;;:::i;239:20:11:-;;;:::i;1836:391:2:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1836:391:2;;:::i;418:34::-;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;:::-;;651:60:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;651:60:2;-1:-1:-1;;;;;651:60:2;;:::i;1580:76::-;;;:::i;576:36::-;;;:::i;3160:840::-;3239:4;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;3266:1:2::1;3257:6;:10;:39;;;;;3281:15;;3271:6;:25;;3257:39;:68;;;;;3310:15;;3300:6;:25;;3257:68;3249:101;;;::::0;;-1:-1:-1;;;3249:101:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3249:101:2;;;;;;;;;;;;;::::1;;3372:15;3362:7;:25;3354:54;;;::::0;;-1:-1:-1;;;3354:54:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3354:54:2;;;;;;;;;;;;;::::1;;3438:10;3422:27;::::0;;;:15:::1;:27;::::0;;;;:34:::1;;::::0;:39;3415:47:::1;;;;3516:5;::::0;:42:::1;::::0;;-1:-1:-1;;;3516:42:2;;3532:10:::1;3516:42;::::0;::::1;::::0;3552:4:::1;3516:42:::0;;;;;;3562:6;;-1:-1:-1;;;;;3516:5:2::1;::::0;:15:::1;::::0;:42;;;;;::::1;::::0;;;;;;;;:5;:42;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3516:42:2;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3516:42:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3516:42:2;:52:::1;;3508:91;;;::::0;;-1:-1:-1;;;3508:91:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3611:5;::::0;:53:::1;::::0;;-1:-1:-1;;;3611:53:2;;3630:10:::1;3611:53;::::0;::::1;::::0;3650:4:::1;3611:53:::0;;;;;;;;;;;;-1:-1:-1;;;;;3611:5:2;;::::1;::::0;:18:::1;::::0;:53;;;;;::::1;::::0;;;;;;;;;:5:::1;::::0;:53;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3611:53:2;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3611:53:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3611:53:2;3603:85:::1;;;::::0;;-1:-1:-1;;;3603:85:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3603:85:2;;;;;;;;;;;;;::::1;;3711:10;3695:27;::::0;;;:15:::1;:27;::::0;;;;3735:15:::1;3695:55:::0;;3760:35:::1;::::0;::::1;:45:::0;;;3815:34:::1;;:43:::0;;;3885:17:::1;::::0;:29:::1;::::0;3852:6;3885:29:::1;:21;:29;:::i;:::-;3865:17;:49:::0;3923:58:::1;::::0;;3936:10:::1;3923:58:::0;;::::1;::::0;::::1;::::0;;;3956:15:::1;3923:58:::0;;;;;;;;;;;;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;3992:4:2::1;3160:840:::0;;;;:::o;1052:84:26:-;1099:4;1122:7;;;1052:84;:::o;5063:120:2:-;-1:-1:-1;;;;;5148:21:2;5125:7;5148:21;;;:15;:21;;;;;:28;;;;5063:120::o;2407:391::-;2484:4;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;2517:15:2::1;;2502:11;:30;;2494:74;;;::::0;;-1:-1:-1;;;2494:74:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2595:15;;2580:11;:30;;2572:70;;;::::0;;-1:-1:-1;;;2572:70:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2665:15;::::0;;2684:29;;;;2722:57:::1;::::0;;2745:10:::1;2722:57:::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;2790:4:2::1;::::0;2407:391;-1:-1:-1;;2407:391:2:o;4813:128::-;-1:-1:-1;;;;;4888:21:2;4870:4;4888:21;;;:15;:21;;;;;:29;;;4921:15;-1:-1:-1;4888:48:2;;4813:128::o;334:19::-;;;-1:-1:-1;;;;;334:19:2;;:::o;497:34::-;;;;:::o;5300:244::-;5366:17;5385:15;5402:14;5425:28;;:::i;:::-;-1:-1:-1;;;;;;;;;5456:21:2;;;;;:15;:21;;;;;;;;;5425:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5300:244::o;4138:526::-;4212:10;4175:4;4196:27;;;:15;:27;;;;;:34;;;4188:76;;;;;-1:-1:-1;;;4188:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;4292:10;4276:27;;;;:15;:27;;;;;:35;;;4315:15;-1:-1:-1;4276:54:2;4268:98;;;;;-1:-1:-1;;;4268:98:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;4403:10;4373:11;4387:27;;;:15;:27;;;;;:34;;;;4425:38;;;4487:17;;:29;;4387:34;4487:29;:21;:29;:::i;:::-;4467:17;:49;;;4531:5;;:34;;;-1:-1:-1;;;4531:34:2;;4546:10;4531:34;;;;;;;;;;;;;;-1:-1:-1;;;;;4531:5:2;;;;:14;;:34;;;;;;;;;;;;;;:5;;:34;;;5:2:-1;;;;30:1;27;20:12;5:2;4531:34:2;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4531:34:2;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4531:34:2;4523:62;;;;;-1:-1:-1;;;4523:62:2;;;;;;;;;;;;-1:-1:-1;;;4523:62:2;;;;;;;;;;;;;;;4594:51;;;4609:10;4594:51;;;;;;;;4629:15;4594:51;;;;;;;;;;;;;;;4656:4;4649:11;;;4138:526;:::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;1836:391:2:-;1913:4;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1946:15:2::1;;1931:11;:30;;1923:74;;;::::0;;-1:-1:-1;;;1923:74:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2024:15;;2009:11;:30;;2001:70;;;::::0;;-1:-1:-1;;;2001:70:2;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2094:15;::::0;;2113:29;;;;2151:57:::1;::::0;;2174:10:::1;2151:57:::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;-1:-1:-1::0;2219:4:2::1;::::0;1836:391;-1:-1:-1;;1836:391:2:o;418:34::-;;;;:::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;651:60:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1580:76::-;1618:7;1644:5;;;;-1:-1:-1;;;;;1644:5:2;;1580:76::o;576:36::-;;;;:::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:14;;;3136:155::o;252:5296:2:-;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract ERC20TokenLock is Pausable, Ownable {\n using SafeMath for uint256;\n\t\n\tIERC20 public erc20; //address of ERC20 token being held/locked by this contract\n\t\n\tuint256 public maxAmountToLock = 0; //max amount of tokens to lock per user\n\t\n\tuint256 public minAmountToLock = 0; //min amount of tokens to lock per user\n\t\n\tuint256 public totalAmountStaked = 0; //total tokens locked in contract\n\t\n\tmapping (address => lockedTokensInfo) public lockedTokensMap; //locked tokens map for all users\n\t\n struct lockedTokensInfo {\n uint256 startDate; //block.timestamp\n uint256 endDate;\n uint256 amount;\n }\n\t\n\t// set maxAmountToLock event\n\tevent MaxAmountToLockChanged(address admin, uint256 oldValue, uint256 newValue);\n\t\n\t// set minAmountToLock event\n\tevent MinAmountToLockChanged(address admin, uint256 oldValue, uint256 newValue);\n\t\n\t// tokens locked event\n\tevent TokensLocked(address user, uint256 amount, uint256 startDate, uint256 endDate);\n\t\n\t// tokens released event\n\tevent TokensReleased(address user, uint256 amount, uint256 withdrawDate);\n \n\t\n\t\n /**\n * @dev Constructor\n\t */\n constructor(address _erc20TokenAddress) public {\n\t\terc20 = IERC20(_erc20TokenAddress);\n }\n\t\n\t/**\n * @dev Returns the admin address, usually the contract owner address.\n\t * @return address\n */\n function admin() public view returns (address) {\n return owner;\n }\n\t\n\t/**\n * @dev Admin sets maximum amount of tokens to lock per user.\n\t * @param tokenAmount Maximum tokens amount.\n\t * @return bool True if operation was successful.\n */\n\tfunction setMaxAmountToLock(uint256 tokenAmount) external onlyOwner returns (bool) {\n\t\trequire(tokenAmount != maxAmountToLock, \"Different token amount required\");\n\t\trequire(tokenAmount >= minAmountToLock, \">= minAmountToLock required\");\n\t\tuint256 oldValue = maxAmountToLock;\n\t\tmaxAmountToLock = tokenAmount;\n\t\temit MaxAmountToLockChanged(msg.sender, oldValue, tokenAmount);\n\t\treturn true;\n\t}\n\t\n\t/**\n * @dev Admin sets minimum amount of tokens to lock per user.\n\t * @param tokenAmount Minimum tokens amount.\n\t * @return bool True if operation was successful.\n */\n\tfunction setMinAmountToLock(uint256 tokenAmount) external onlyOwner returns (bool) {\n\t\trequire(tokenAmount != minAmountToLock, \"Different token amount required\");\n\t\trequire(tokenAmount <= maxAmountToLock, \"<= maxAmountToLock required\");\n\t\tuint256 oldValue = minAmountToLock;\n\t\tminAmountToLock = tokenAmount;\n\t\temit MinAmountToLockChanged(msg.sender, oldValue, tokenAmount);\n\t\treturn true;\n\t}\n\t\n\t/**\n * @dev User locks his tokens until specified end date.\n\t * @param amount Tokens amount to be locked.\n\t * @param endDate Lock tokens until this end date.\n\t * @return bool True if operation was successful.\n\t * REQUIREMENTS:\n\t *\tuser must have approved this contract to spend the tokens \"amount\" he wants to lock before calling this function.\n */\n\tfunction lock(uint256 amount, uint256 endDate) external whenNotPaused returns (bool) {\n\t\trequire(amount > 0 && amount >= minAmountToLock && amount <= maxAmountToLock, \"Invalid token amount\");\n\t\trequire(endDate > block.timestamp, \"Invalid end date\");\n\t\t\n\t\tassert(lockedTokensMap[msg.sender].amount == 0); //otherwise user already locked tokens\n\t\t\n\t\trequire(erc20.allowance(msg.sender, address(this)) >= amount, \"Not enough tokens approved\");\n\t\trequire(erc20.transferFrom(msg.sender, address(this), amount), \"transferFrom failed\");\n\t\t\n\t\tlockedTokensMap[msg.sender].startDate = block.timestamp;\n lockedTokensMap[msg.sender].endDate = endDate;\n lockedTokensMap[msg.sender].amount = amount;\n\t\t\n\t\ttotalAmountStaked = totalAmountStaked.add(amount);\n\t\temit TokensLocked(msg.sender, amount, block.timestamp, endDate);\n\t\treturn true;\n\t}\n\t\n\t/**\n * @dev User withdraws/releases his tokens after specified end date.\n\t * @return bool True if operation was successful.\n\t */\n\tfunction release() external returns (bool) {\n\t\t\n\t\trequire(lockedTokensMap[msg.sender].amount > 0, \"user has no locked tokens\");\n\t\trequire(lockedTokensMap[msg.sender].endDate <= block.timestamp, \"tokens release date not reached\");\n\t\t\n\t\tuint amount = lockedTokensMap[msg.sender].amount;\n\t\tlockedTokensMap[msg.sender].amount = 0;\n\t\ttotalAmountStaked = totalAmountStaked.sub(amount);\n\t\t\n\t\trequire(erc20.transfer(msg.sender, amount), \"transfer failed\");\n\t\temit TokensReleased(msg.sender, amount, block.timestamp);\n\t\treturn true;\n\t}\n\t\n\t/**\n * @dev Check if locked tokens release date has come and user can withdraw them\n\t * @return bool True if lock end date was reached\n\t */\n\tfunction canRelease(address user) external view returns (bool) {\n\t\treturn (lockedTokensMap[user].endDate <= block.timestamp);\n\t}\n\t\n\t/**\n * @dev Get locked tokens amount for a given address\n\t * @return uint256 Tokens amount for user address\n\t */\n\tfunction getLockedTokens(address user) external view returns (uint256) {\n\t\t\n\t\treturn lockedTokensMap[user].amount;\n }\n\t\n /// @dev Get locked tokens info for a given address\n\t/// @return startDate endDate amount Locked tokens info\n\tfunction getLockedTokensInfo(address user) external view returns (uint256 startDate, uint256 endDate, uint256 amount) {\n\t\t\n\t\tlockedTokensInfo memory info = lockedTokensMap[user];\n return (info.startDate, info.endDate, info.amount);\n }\n\t\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20TokenLock.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20TokenLock.sol", - "exportedSymbols": { - "ERC20TokenLock": [ - 492 - ] - }, - "id": 493, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 77, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:2" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 78, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 8774, - "src": "59:56:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 79, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 11261, - "src": "116:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 80, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 8221, - "src": "169:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 81, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 7817, - "src": "221:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 82, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11260, - "src": "279:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11260", - "typeString": "contract Pausable" - } - }, - "id": 83, - "nodeType": "InheritanceSpecifier", - "src": "279:8:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 84, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7816, - "src": "289:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7816", - "typeString": "contract Ownable" - } - }, - "id": 85, - "nodeType": "InheritanceSpecifier", - "src": "289:7:2" - } - ], - "contractDependencies": [ - 7816, - 10163, - 11260 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 492, - "linearizedBaseContracts": [ - 492, - 7816, - 11260, - 10163 - ], - "name": "ERC20TokenLock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 88, - "libraryName": { - "contractScope": null, - "id": 86, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8220, - "src": "309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8220", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "303:27:2", - "typeName": { - "id": 87, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 90, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "334:19:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8773, - "src": "334:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f2682c04", - "id": 93, - "name": "maxAmountToLock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "418:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 91, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "80506457", - "id": 96, - "name": "minAmountToLock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "497:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 94, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "530:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fe961f61", - "id": 99, - "name": "totalAmountStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "576:36:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 97, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 98, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "611:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f3e49d96", - "id": 103, - "name": "lockedTokensMap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "651:60:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo)" - }, - "typeName": { - "id": 102, - "keyType": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "660:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "651:37:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo)" - }, - "valueType": { - "contractScope": null, - "id": 101, - "name": "lockedTokensInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 110, - "src": "671:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC20TokenLock.lockedTokensInfo", - "id": 110, - "members": [ - { - "constant": false, - "id": 105, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "787:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "787:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "832:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 109, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "857:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "857:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "lockedTokensInfo", - "nodeType": "StructDefinition", - "scope": 492, - "src": "753:125:2", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 118, - "name": "MaxAmountToLockChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 112, - "indexed": false, - "name": "admin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "941:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "941:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 114, - "indexed": false, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "956:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "956:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "indexed": false, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "974:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "974:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "940:51:2" - }, - "src": "912:80:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 126, - "name": "MinAmountToLockChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 120, - "indexed": false, - "name": "admin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1055:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1055:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 122, - "indexed": false, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1070:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1070:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 124, - "indexed": false, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1088:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1054:51:2" - }, - "src": "1026:80:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 136, - "name": "TokensLocked", - "nodeType": "EventDefinition", - "parameters": { - "id": 135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1153:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1167:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1167:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "indexed": false, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1183:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1183:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "indexed": false, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1202:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1202:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1152:66:2" - }, - "src": "1134:85:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 144, - "name": "TokensReleased", - "nodeType": "EventDefinition", - "parameters": { - "id": 143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 138, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1270:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1284:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1284:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 142, - "indexed": false, - "name": "withdrawDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1300:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1300:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1269:52:2" - }, - "src": "1249:73:2" - }, - { - "body": { - "id": 155, - "nodeType": "Block", - "src": "1420:45:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 149, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1424:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 151, - "name": "_erc20TokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "1439:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 150, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8773, - "src": "1432:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$8773_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "src": "1424:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "1424:34:2" - } - ] - }, - "documentation": "@dev Constructor", - "id": 156, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 147, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 146, - "name": "_erc20TokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 156, - "src": "1385:26:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1385:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1384:28:2" - }, - "returnParameters": { - "id": 148, - "nodeType": "ParameterList", - "parameters": [], - "src": "1420:0:2" - }, - "scope": 492, - "src": "1373:92:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 163, - "nodeType": "Block", - "src": "1627:29:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 161, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1644:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 160, - "id": 162, - "nodeType": "Return", - "src": "1637:12:2" - } - ] - }, - "documentation": "@dev Returns the admin address, usually the contract owner address.\n@return address", - "functionSelector": "f851a440", - "id": 164, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "admin", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1594:2:2" - }, - "returnParameters": { - "id": 160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 159, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 164, - "src": "1618:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:9:2" - }, - "scope": 492, - "src": "1580:76:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "1919:308:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 174, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1931:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 175, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1946:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1931:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446966666572656e7420746f6b656e20616d6f756e74207265717569726564", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1963:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - }, - "value": "Different token amount required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - } - ], - "id": 173, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1923:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1923:74:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1923:74:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2009:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 182, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2024:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2009:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "3e3d206d696e416d6f756e74546f4c6f636b207265717569726564", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2041:29:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48c0bdeb24c264057555db2aec23c84a850d12a0fd580b6b12df188eda4f344c", - "typeString": "literal_string \">= minAmountToLock required\"" - }, - "value": ">= minAmountToLock required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_48c0bdeb24c264057555db2aec23c84a850d12a0fd580b6b12df188eda4f344c", - "typeString": "literal_string \">= minAmountToLock required\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2001:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2001:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 186, - "nodeType": "ExpressionStatement", - "src": "2001:70:2" - }, - { - "assignments": [ - 188 - ], - "declarations": [ - { - "constant": false, - "id": 188, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 204, - "src": "2075:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 190, - "initialValue": { - "argumentTypes": null, - "id": 189, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2094:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2075:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 191, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2113:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 192, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2131:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2113:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "nodeType": "ExpressionStatement", - "src": "2113:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 196, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2174:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2174:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 198, - "name": "oldValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "2186:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 199, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2196:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 195, - "name": "MaxAmountToLockChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 118, - "src": "2151:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2151:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 201, - "nodeType": "EmitStatement", - "src": "2146:62:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2219:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 172, - "id": 203, - "nodeType": "Return", - "src": "2212:11:2" - } - ] - }, - "documentation": "@dev Admin sets maximum amount of tokens to lock per user.\n@param tokenAmount Maximum tokens amount.\n@return bool True if operation was successful.", - "functionSelector": "e959824f", - "id": 205, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 169, - "modifierName": { - "argumentTypes": null, - "id": 168, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "1894:9:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1894:9:2" - } - ], - "name": "setMaxAmountToLock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 166, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 205, - "src": "1864:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1864:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1863:21:2" - }, - "returnParameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 171, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 205, - "src": "1913:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 170, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1913:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:6:2" - }, - "scope": 492, - "src": "1836:391:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 245, - "nodeType": "Block", - "src": "2490:308:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 215, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2502:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 216, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2517:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2502:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446966666572656e7420746f6b656e20616d6f756e74207265717569726564", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2534:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - }, - "value": "Different token amount required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - } - ], - "id": 214, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2494:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:74:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "2494:74:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 222, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2580:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2595:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2580:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "3c3d206d6178416d6f756e74546f4c6f636b207265717569726564", - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2612:29:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4fb7b7e3f1522871133b53302594514c6507ac07c0b7b511d00fba8e7f884a0", - "typeString": "literal_string \"<= maxAmountToLock required\"" - }, - "value": "<= maxAmountToLock required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4fb7b7e3f1522871133b53302594514c6507ac07c0b7b511d00fba8e7f884a0", - "typeString": "literal_string \"<= maxAmountToLock required\"" - } - ], - "id": 221, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2572:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2572:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 227, - "nodeType": "ExpressionStatement", - "src": "2572:70:2" - }, - { - "assignments": [ - 229 - ], - "declarations": [ - { - "constant": false, - "id": 229, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 245, - "src": "2646:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2646:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 231, - "initialValue": { - "argumentTypes": null, - "id": 230, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2665:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2646:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2684:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2702:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2684:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "2684:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 237, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2745:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2745:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 239, - "name": "oldValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 229, - "src": "2757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 240, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2767:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 236, - "name": "MinAmountToLockChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 126, - "src": "2722:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 242, - "nodeType": "EmitStatement", - "src": "2717:62:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2790:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 213, - "id": 244, - "nodeType": "Return", - "src": "2783:11:2" - } - ] - }, - "documentation": "@dev Admin sets minimum amount of tokens to lock per user.\n@param tokenAmount Minimum tokens amount.\n@return bool True if operation was successful.", - "functionSelector": "6c53e4fe", - "id": 246, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "2465:9:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2465:9:2" - } - ], - "name": "setMinAmountToLock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 246, - "src": "2435:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2434:21:2" - }, - "returnParameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 212, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 246, - "src": "2484:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 211, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2484:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2483:6:2" - }, - "scope": 492, - "src": "2407:391:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 362, - "nodeType": "Block", - "src": "3245:755:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3257:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3266:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3257:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 261, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3271:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 262, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "3281:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3271:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3257:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 265, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3300:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 266, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3310:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3300:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3257:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e76616c696420746f6b656e20616d6f756e74", - "id": 269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3327:22:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51e395ccdea9060dec5fa8fca2f2563cffa61f9f6f61f3f9c9b3895fa879ed58", - "typeString": "literal_string \"Invalid token amount\"" - }, - "value": "Invalid token amount" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51e395ccdea9060dec5fa8fca2f2563cffa61f9f6f61f3f9c9b3895fa879ed58", - "typeString": "literal_string \"Invalid token amount\"" - } - ], - "id": 257, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3249:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3249:101:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 271, - "nodeType": "ExpressionStatement", - "src": "3249:101:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 273, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3362:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 274, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3372:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3372:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3362:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e76616c696420656e642064617465", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3389:18:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df60a1a7f65ffce6784eec755d89900c791c4467cbd470f9ad00fba6461b6777", - "typeString": "literal_string \"Invalid end date\"" - }, - "value": "Invalid end date" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df60a1a7f65ffce6784eec755d89900c791c4467cbd470f9ad00fba6461b6777", - "typeString": "literal_string \"Invalid end date\"" - } - ], - "id": 272, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3354:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3354:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "3354:54:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 281, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3422:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 282, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3438:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3438:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3422:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "3422:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3460:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3422:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 280, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "3415:6:2", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3415:47:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 289, - "nodeType": "ExpressionStatement", - "src": "3415:47:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 293, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3532:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3532:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 297, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3552:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - ], - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3544:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3544:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3544:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 291, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "3516:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8736, - "src": "3516:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3516:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 300, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3562:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3516:52:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f75676820746f6b656e7320617070726f766564", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:28:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4e8af1c53d01c74cac4c0e9373d4b584358023ae025efc6aec5e79ce8c5c30c", - "typeString": "literal_string \"Not enough tokens approved\"" - }, - "value": "Not enough tokens approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e4e8af1c53d01c74cac4c0e9373d4b584358023ae025efc6aec5e79ce8c5c30c", - "typeString": "literal_string \"Not enough tokens approved\"" - } - ], - "id": 290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3508:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3508:91:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 304, - "nodeType": "ExpressionStatement", - "src": "3508:91:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3630:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3630:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 312, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3650:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - ], - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3642:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3642:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3642:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 314, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3657:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 306, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "3611:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8756, - "src": "3611: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": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3611:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7472616e7366657246726f6d206661696c6564", - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3666:21:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ab0f731885d207443b1e545c1c7e7ed7ac9b6ea503774981a1bcc8ac01b461c3", - "typeString": "literal_string \"transferFrom failed\"" - }, - "value": "transferFrom failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ab0f731885d207443b1e545c1c7e7ed7ac9b6ea503774981a1bcc8ac01b461c3", - "typeString": "literal_string \"transferFrom failed\"" - } - ], - "id": 305, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3603:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3603:85:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 318, - "nodeType": "ExpressionStatement", - "src": "3603:85:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 319, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3695:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3711:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3711:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3695:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 105, - "src": "3695:37:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 324, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3735:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3735:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3695:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 327, - "nodeType": "ExpressionStatement", - "src": "3695:55:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 328, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3760:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 331, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 329, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3776:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3776:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3760:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "3760:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 333, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3798:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3760:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "3760:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 336, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3815:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 339, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 337, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3831:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3831:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3815:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "3815:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 341, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3852:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3815:43:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 343, - "nodeType": "ExpressionStatement", - "src": "3815:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 344, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3865:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 347, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3907:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 345, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3885:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8054, - "src": "3885:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3865:49:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 350, - "nodeType": "ExpressionStatement", - "src": "3865:49:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 352, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3936:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3936:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 354, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3948:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 355, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3956:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3956:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 357, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3973:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 351, - "name": "TokensLocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "3923:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3923:58:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "EmitStatement", - "src": "3918:63:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3992:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 256, - "id": 361, - "nodeType": "Return", - "src": "3985:11:2" - } - ] - }, - "documentation": "@dev User locks his tokens until specified end date.\n@param amount Tokens amount to be locked.\n@param endDate Lock tokens until this end date.\n@return bool True if operation was successful.\nREQUIREMENTS:\nuser must have approved this contract to spend the tokens \"amount\" he wants to lock before calling this function.", - "functionSelector": "1338736f", - "id": 363, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 253, - "modifierName": { - "argumentTypes": null, - "id": 252, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11219, - "src": "3216:13:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3216:13:2" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 248, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3174:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3174:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 250, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3190:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3173:33:2" - }, - "returnParameters": { - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 255, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3239:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 254, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3239:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3238:6:2" - }, - "scope": 492, - "src": "3160:840:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 434, - "nodeType": "Block", - "src": "4181:483:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 369, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4196:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 372, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4212:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4212:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4196:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4196:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4233:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4196:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7573657220686173206e6f206c6f636b656420746f6b656e73", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4236:27:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_37d1e0d819ddc9d937089f8b8a0c9e936d8517898de60fb05186b425fe250591", - "typeString": "literal_string \"user has no locked tokens\"" - }, - "value": "user has no locked tokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_37d1e0d819ddc9d937089f8b8a0c9e936d8517898de60fb05186b425fe250591", - "typeString": "literal_string \"user has no locked tokens\"" - } - ], - "id": 368, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4188:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4188:76:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "4188:76:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 380, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4276:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 383, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 381, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4292:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4292:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4276:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "4276:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 385, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4315:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4315:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4276:54:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "746f6b656e732072656c656173652064617465206e6f742072656163686564", - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4332:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c559d02903883d5402891819237e384a2c1f32364d9f119822db4672e6d7486a", - "typeString": "literal_string \"tokens release date not reached\"" - }, - "value": "tokens release date not reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c559d02903883d5402891819237e384a2c1f32364d9f119822db4672e6d7486a", - "typeString": "literal_string \"tokens release date not reached\"" - } - ], - "id": 379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4268:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4268:98:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 390, - "nodeType": "ExpressionStatement", - "src": "4268:98:2" - }, - { - "assignments": [ - 392 - ], - "declarations": [ - { - "constant": false, - "id": 392, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 434, - "src": "4373:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 391, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4373:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 398, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 393, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4387:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 396, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 394, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4403:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4403:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4387:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4387:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4373:48:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 399, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4425:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 402, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4441:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4441:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4425:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4425:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4462:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4425:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 406, - "nodeType": "ExpressionStatement", - "src": "4425:38:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 407, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "4467:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 410, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4509:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 408, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "4487:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8075, - "src": "4487:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4487:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4467:49:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "4467:49:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4546:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 419, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4558:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 415, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "4531:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8727, - "src": "4531:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4531:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7472616e73666572206661696c6564", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4567:17:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df1797085e2da014ef9392ee25ab0802d6ce132451397172f17fd86110e2e02b", - "typeString": "literal_string \"transfer failed\"" - }, - "value": "transfer failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df1797085e2da014ef9392ee25ab0802d6ce132451397172f17fd86110e2e02b", - "typeString": "literal_string \"transfer failed\"" - } - ], - "id": 414, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4523:62:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 423, - "nodeType": "ExpressionStatement", - "src": "4523:62:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 425, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4609:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4609:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4621:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 428, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4629:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4629:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 424, - "name": "TokensReleased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "4594:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4594:51:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 431, - "nodeType": "EmitStatement", - "src": "4589:56:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4656:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 367, - "id": 433, - "nodeType": "Return", - "src": "4649:11:2" - } - ] - }, - "documentation": "@dev User withdraws/releases his tokens after specified end date.\n@return bool True if operation was successful.", - "functionSelector": "86d1a69f", - "id": 435, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "release", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 364, - "nodeType": "ParameterList", - "parameters": [], - "src": "4154:2:2" - }, - "returnParameters": { - "id": 367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 366, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 435, - "src": "4175:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 365, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4175:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4174:6:2" - }, - "scope": 492, - "src": "4138:526:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 451, - "nodeType": "Block", - "src": "4876:65:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 442, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4888:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 444, - "indexExpression": { - "argumentTypes": null, - "id": 443, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 437, - "src": "4904:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4888:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "4888:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 446, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4921:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4921:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4888:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 449, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4887:50:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 441, - "id": 450, - "nodeType": "Return", - "src": "4880:57:2" - } - ] - }, - "documentation": "@dev Check if locked tokens release date has come and user can withdraw them\n@return bool True if lock end date was reached", - "functionSelector": "6dfe789a", - "id": 452, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canRelease", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 437, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 452, - "src": "4833:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 436, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4833:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:14:2" - }, - "returnParameters": { - "id": 441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 440, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 452, - "src": "4870:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 439, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4870:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4869:6:2" - }, - "scope": 492, - "src": "4813:128:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 464, - "nodeType": "Block", - "src": "5134:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 459, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "5148:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 461, - "indexExpression": { - "argumentTypes": null, - "id": 460, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "5164:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5148:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "5148:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 458, - "id": 463, - "nodeType": "Return", - "src": "5141:35:2" - } - ] - }, - "documentation": "@dev Get locked tokens amount for a given address\n@return uint256 Tokens amount for user address", - "functionSelector": "6b2d95d4", - "id": 465, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 454, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 465, - "src": "5088:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5088:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5087:14:2" - }, - "returnParameters": { - "id": 458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 465, - "src": "5125:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5124:9:2" - }, - "scope": 492, - "src": "5063:120:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 490, - "nodeType": "Block", - "src": "5418:126:2", - "statements": [ - { - "assignments": [ - 477 - ], - "declarations": [ - { - "constant": false, - "id": 477, - "name": "info", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 490, - "src": "5425:28:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - }, - "typeName": { - "contractScope": null, - "id": 476, - "name": "lockedTokensInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 110, - "src": "5425:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 481, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 478, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "5456:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 480, - "indexExpression": { - "argumentTypes": null, - "id": 479, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "5472:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5456:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5425:52:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 482, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5495:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 105, - "src": "5495:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 484, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5511:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "5511:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 486, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5525:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "5525:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5494:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 475, - "id": 489, - "nodeType": "Return", - "src": "5487:50:2" - } - ] - }, - "documentation": "@dev Get locked tokens info for a given address\n @return startDate endDate amount Locked tokens info", - "functionSelector": "80acddbd", - "id": 491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedTokensInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5329:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5329:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5328:14:2" - }, - "returnParameters": { - "id": 475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 470, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5366:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 472, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5385:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5385:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 474, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5402:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5402:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5365:52:2" - }, - "scope": 492, - "src": "5300:244:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 493, - "src": "252:5296:2" - } - ], - "src": "33:5515:2" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20TokenLock.sol", - "exportedSymbols": { - "ERC20TokenLock": [ - 492 - ] - }, - "id": 493, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 77, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:2" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 78, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 8774, - "src": "59:56:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 79, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 11261, - "src": "116:52:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 80, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 8221, - "src": "169:51:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 81, - "nodeType": "ImportDirective", - "scope": 493, - "sourceUnit": 7817, - "src": "221:29:2", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 82, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11260, - "src": "279:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11260", - "typeString": "contract Pausable" - } - }, - "id": 83, - "nodeType": "InheritanceSpecifier", - "src": "279:8:2" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 84, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7816, - "src": "289:7:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$7816", - "typeString": "contract Ownable" - } - }, - "id": 85, - "nodeType": "InheritanceSpecifier", - "src": "289:7:2" - } - ], - "contractDependencies": [ - 7816, - 10163, - 11260 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 492, - "linearizedBaseContracts": [ - 492, - 7816, - 11260, - 10163 - ], - "name": "ERC20TokenLock", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 88, - "libraryName": { - "contractScope": null, - "id": 86, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8220, - "src": "309:8:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8220", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "303:27:2", - "typeName": { - "id": 87, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "322:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 90, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "334:19:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - }, - "typeName": { - "contractScope": null, - "id": 89, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8773, - "src": "334:6:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f2682c04", - "id": 93, - "name": "maxAmountToLock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "418:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 91, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "418:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 92, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "451:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "80506457", - "id": 96, - "name": "minAmountToLock", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "497:34:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 94, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "497:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 95, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "530:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fe961f61", - "id": 99, - "name": "totalAmountStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "576:36:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 97, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 98, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "611:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f3e49d96", - "id": 103, - "name": "lockedTokensMap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 492, - "src": "651:60:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo)" - }, - "typeName": { - "id": 102, - "keyType": { - "id": 100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "660:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "651:37:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo)" - }, - "valueType": { - "contractScope": null, - "id": 101, - "name": "lockedTokensInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 110, - "src": "671:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC20TokenLock.lockedTokensInfo", - "id": 110, - "members": [ - { - "constant": false, - "id": 105, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "787:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 104, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "787:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 107, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "832:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 106, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "832:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 109, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 110, - "src": "857:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 108, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "857:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "lockedTokensInfo", - "nodeType": "StructDefinition", - "scope": 492, - "src": "753:125:2", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 118, - "name": "MaxAmountToLockChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 112, - "indexed": false, - "name": "admin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "941:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "941:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 114, - "indexed": false, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "956:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "956:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 116, - "indexed": false, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 118, - "src": "974:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 115, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "974:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "940:51:2" - }, - "src": "912:80:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 126, - "name": "MinAmountToLockChanged", - "nodeType": "EventDefinition", - "parameters": { - "id": 125, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 120, - "indexed": false, - "name": "admin", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1055:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 119, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1055:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 122, - "indexed": false, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1070:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1070:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 124, - "indexed": false, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 126, - "src": "1088:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 123, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1088:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1054:51:2" - }, - "src": "1026:80:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 136, - "name": "TokensLocked", - "nodeType": "EventDefinition", - "parameters": { - "id": 135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 128, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1153:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 130, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1167:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1167:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 132, - "indexed": false, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1183:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1183:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 134, - "indexed": false, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 136, - "src": "1202:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1202:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1152:66:2" - }, - "src": "1134:85:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 144, - "name": "TokensReleased", - "nodeType": "EventDefinition", - "parameters": { - "id": 143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 138, - "indexed": false, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1270:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 140, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1284:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1284:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 142, - "indexed": false, - "name": "withdrawDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 144, - "src": "1300:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1300:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1269:52:2" - }, - "src": "1249:73:2" - }, - { - "body": { - "id": 155, - "nodeType": "Block", - "src": "1420:45:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 149, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "1424:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 151, - "name": "_erc20TokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 146, - "src": "1439:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 150, - "name": "IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8773, - "src": "1432:6:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC20_$8773_$", - "typeString": "type(contract IERC20)" - } - }, - "id": 152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:26:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "src": "1424:34:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 154, - "nodeType": "ExpressionStatement", - "src": "1424:34:2" - } - ] - }, - "documentation": "@dev Constructor", - "id": 156, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 147, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 146, - "name": "_erc20TokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 156, - "src": "1385:26:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 145, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1385:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1384:28:2" - }, - "returnParameters": { - "id": 148, - "nodeType": "ParameterList", - "parameters": [], - "src": "1420:0:2" - }, - "scope": 492, - "src": "1373:92:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 163, - "nodeType": "Block", - "src": "1627:29:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 161, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1644:5:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 160, - "id": 162, - "nodeType": "Return", - "src": "1637:12:2" - } - ] - }, - "documentation": "@dev Returns the admin address, usually the contract owner address.\n@return address", - "functionSelector": "f851a440", - "id": 164, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "admin", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 157, - "nodeType": "ParameterList", - "parameters": [], - "src": "1594:2:2" - }, - "returnParameters": { - "id": 160, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 159, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 164, - "src": "1618:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 158, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1618:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1617:9:2" - }, - "scope": 492, - "src": "1580:76:2", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 204, - "nodeType": "Block", - "src": "1919:308:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 176, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 174, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "1931:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 175, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "1946:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1931:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446966666572656e7420746f6b656e20616d6f756e74207265717569726564", - "id": 177, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1963:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - }, - "value": "Different token amount required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - } - ], - "id": 173, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1923:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1923:74:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 179, - "nodeType": "ExpressionStatement", - "src": "1923:74:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 183, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 181, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2009:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 182, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2024:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2009:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "3e3d206d696e416d6f756e74546f4c6f636b207265717569726564", - "id": 184, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2041:29:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_48c0bdeb24c264057555db2aec23c84a850d12a0fd580b6b12df188eda4f344c", - "typeString": "literal_string \">= minAmountToLock required\"" - }, - "value": ">= minAmountToLock required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_48c0bdeb24c264057555db2aec23c84a850d12a0fd580b6b12df188eda4f344c", - "typeString": "literal_string \">= minAmountToLock required\"" - } - ], - "id": 180, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2001:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2001:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 186, - "nodeType": "ExpressionStatement", - "src": "2001:70:2" - }, - { - "assignments": [ - 188 - ], - "declarations": [ - { - "constant": false, - "id": 188, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 204, - "src": "2075:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2075:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 190, - "initialValue": { - "argumentTypes": null, - "id": 189, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2094:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2075:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 191, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2113:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 192, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2131:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2113:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 194, - "nodeType": "ExpressionStatement", - "src": "2113:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 196, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2174:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2174:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 198, - "name": "oldValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 188, - "src": "2186:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 199, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 166, - "src": "2196:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 195, - "name": "MaxAmountToLockChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 118, - "src": "2151:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2151:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 201, - "nodeType": "EmitStatement", - "src": "2146:62:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2219:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 172, - "id": 203, - "nodeType": "Return", - "src": "2212:11:2" - } - ] - }, - "documentation": "@dev Admin sets maximum amount of tokens to lock per user.\n@param tokenAmount Maximum tokens amount.\n@return bool True if operation was successful.", - "functionSelector": "e959824f", - "id": 205, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 169, - "modifierName": { - "argumentTypes": null, - "id": 168, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "1894:9:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1894:9:2" - } - ], - "name": "setMaxAmountToLock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 167, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 166, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 205, - "src": "1864:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1864:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1863:21:2" - }, - "returnParameters": { - "id": 172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 171, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 205, - "src": "1913:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 170, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1913:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1912:6:2" - }, - "scope": 492, - "src": "1836:391:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 245, - "nodeType": "Block", - "src": "2490:308:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 215, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2502:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 216, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2517:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2502:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446966666572656e7420746f6b656e20616d6f756e74207265717569726564", - "id": 218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2534:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - }, - "value": "Different token amount required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7b270be3f6c51b93bbb2263f54999d55be386579a2044e2278e8c14c84cdc3a", - "typeString": "literal_string \"Different token amount required\"" - } - ], - "id": 214, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2494:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:74:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 220, - "nodeType": "ExpressionStatement", - "src": "2494:74:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 222, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2580:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 223, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "2595:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2580:30:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "3c3d206d6178416d6f756e74546f4c6f636b207265717569726564", - "id": 225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2612:29:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f4fb7b7e3f1522871133b53302594514c6507ac07c0b7b511d00fba8e7f884a0", - "typeString": "literal_string \"<= maxAmountToLock required\"" - }, - "value": "<= maxAmountToLock required" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f4fb7b7e3f1522871133b53302594514c6507ac07c0b7b511d00fba8e7f884a0", - "typeString": "literal_string \"<= maxAmountToLock required\"" - } - ], - "id": 221, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2572:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 226, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2572:70:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 227, - "nodeType": "ExpressionStatement", - "src": "2572:70:2" - }, - { - "assignments": [ - 229 - ], - "declarations": [ - { - "constant": false, - "id": 229, - "name": "oldValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 245, - "src": "2646:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 228, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2646:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 231, - "initialValue": { - "argumentTypes": null, - "id": 230, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2665:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2646:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 232, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "2684:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 233, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2702:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2684:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 235, - "nodeType": "ExpressionStatement", - "src": "2684:29:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 237, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2745:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2745:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 239, - "name": "oldValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 229, - "src": "2757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 240, - "name": "tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 207, - "src": "2767:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 236, - "name": "MinAmountToLockChanged", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 126, - "src": "2722:22:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2722:57:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 242, - "nodeType": "EmitStatement", - "src": "2717:62:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2790:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 213, - "id": 244, - "nodeType": "Return", - "src": "2783:11:2" - } - ] - }, - "documentation": "@dev Admin sets minimum amount of tokens to lock per user.\n@param tokenAmount Minimum tokens amount.\n@return bool True if operation was successful.", - "functionSelector": "6c53e4fe", - "id": 246, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 210, - "modifierName": { - "argumentTypes": null, - "id": 209, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "2465:9:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2465:9:2" - } - ], - "name": "setMinAmountToLock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 208, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 207, - "name": "tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 246, - "src": "2435:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 206, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2434:21:2" - }, - "returnParameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 212, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 246, - "src": "2484:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 211, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2484:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2483:6:2" - }, - "scope": 492, - "src": "2407:391:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 362, - "nodeType": "Block", - "src": "3245:755:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 264, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 258, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3257:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 259, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3266:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3257:10:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 261, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3271:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 262, - "name": "minAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 96, - "src": "3281:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3271:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3257:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 265, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3300:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 266, - "name": "maxAmountToLock", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 93, - "src": "3310:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3300:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "3257:68:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e76616c696420746f6b656e20616d6f756e74", - "id": 269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3327:22:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_51e395ccdea9060dec5fa8fca2f2563cffa61f9f6f61f3f9c9b3895fa879ed58", - "typeString": "literal_string \"Invalid token amount\"" - }, - "value": "Invalid token amount" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_51e395ccdea9060dec5fa8fca2f2563cffa61f9f6f61f3f9c9b3895fa879ed58", - "typeString": "literal_string \"Invalid token amount\"" - } - ], - "id": 257, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3249:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3249:101:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 271, - "nodeType": "ExpressionStatement", - "src": "3249:101:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 273, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3362:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 274, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3372:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3372:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3362:25:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e76616c696420656e642064617465", - "id": 277, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3389:18:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df60a1a7f65ffce6784eec755d89900c791c4467cbd470f9ad00fba6461b6777", - "typeString": "literal_string \"Invalid end date\"" - }, - "value": "Invalid end date" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df60a1a7f65ffce6784eec755d89900c791c4467cbd470f9ad00fba6461b6777", - "typeString": "literal_string \"Invalid end date\"" - } - ], - "id": 272, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3354:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3354:54:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 279, - "nodeType": "ExpressionStatement", - "src": "3354:54:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 281, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3422:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 284, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 282, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3438:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3438:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3422:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 285, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "3422:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3460:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3422:39:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 280, - "name": "assert", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -3, - "src": "3415:6:2", - "typeDescriptions": { - "typeIdentifier": "t_function_assert_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3415:47:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 289, - "nodeType": "ExpressionStatement", - "src": "3415:47:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 293, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3532:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3532:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 297, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3552:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - ], - "id": 296, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3544:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 295, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3544:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3544:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 291, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "3516:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 292, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8736, - "src": "3516:15:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3516:42:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 300, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3562:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3516:52:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f75676820746f6b656e7320617070726f766564", - "id": 302, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3570:28:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4e8af1c53d01c74cac4c0e9373d4b584358023ae025efc6aec5e79ce8c5c30c", - "typeString": "literal_string \"Not enough tokens approved\"" - }, - "value": "Not enough tokens approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e4e8af1c53d01c74cac4c0e9373d4b584358023ae025efc6aec5e79ce8c5c30c", - "typeString": "literal_string \"Not enough tokens approved\"" - } - ], - "id": 290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3508:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3508:91:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 304, - "nodeType": "ExpressionStatement", - "src": "3508:91:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 308, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3630:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3630:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 312, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3650:4:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20TokenLock_$492", - "typeString": "contract ERC20TokenLock" - } - ], - "id": 311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3642:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3642:7:2", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3642:13:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 314, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3657:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 306, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "3611:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8756, - "src": "3611: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": 315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3611:53:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7472616e7366657246726f6d206661696c6564", - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3666:21:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ab0f731885d207443b1e545c1c7e7ed7ac9b6ea503774981a1bcc8ac01b461c3", - "typeString": "literal_string \"transferFrom failed\"" - }, - "value": "transferFrom failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ab0f731885d207443b1e545c1c7e7ed7ac9b6ea503774981a1bcc8ac01b461c3", - "typeString": "literal_string \"transferFrom failed\"" - } - ], - "id": 305, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3603:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3603:85:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 318, - "nodeType": "ExpressionStatement", - "src": "3603:85:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 319, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3695:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3711:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3711:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3695:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 323, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 105, - "src": "3695:37:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 324, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3735:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3735:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3695:55:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 327, - "nodeType": "ExpressionStatement", - "src": "3695:55:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 328, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3760:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 331, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 329, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3776:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3776:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3760:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "3760:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 333, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3798:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3760:45:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 335, - "nodeType": "ExpressionStatement", - "src": "3760:45:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 336, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "3815:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 339, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 337, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3831:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3831:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3815:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 340, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "3815:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 341, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3852:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3815:43:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 343, - "nodeType": "ExpressionStatement", - "src": "3815:43:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 344, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3865:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 347, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3907:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 345, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "3885:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8054, - "src": "3885:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3865:49:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 350, - "nodeType": "ExpressionStatement", - "src": "3865:49:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 352, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3936:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3936:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 354, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 248, - "src": "3948:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 355, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3956:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 356, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3956:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 357, - "name": "endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "3973:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 351, - "name": "TokensLocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 136, - "src": "3923:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3923:58:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 359, - "nodeType": "EmitStatement", - "src": "3918:63:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3992:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 256, - "id": 361, - "nodeType": "Return", - "src": "3985:11:2" - } - ] - }, - "documentation": "@dev User locks his tokens until specified end date.\n@param amount Tokens amount to be locked.\n@param endDate Lock tokens until this end date.\n@return bool True if operation was successful.\nREQUIREMENTS:\nuser must have approved this contract to spend the tokens \"amount\" he wants to lock before calling this function.", - "functionSelector": "1338736f", - "id": 363, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 253, - "modifierName": { - "argumentTypes": null, - "id": 252, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11219, - "src": "3216:13:2", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3216:13:2" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 251, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 248, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3174:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 247, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3174:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 250, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3190:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3190:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3173:33:2" - }, - "returnParameters": { - "id": 256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 255, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 363, - "src": "3239:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 254, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3239:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3238:6:2" - }, - "scope": 492, - "src": "3160:840:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 434, - "nodeType": "Block", - "src": "4181:483:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 369, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4196:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 372, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 370, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4212:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4212:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4196:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4196:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4233:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4196:38:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7573657220686173206e6f206c6f636b656420746f6b656e73", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4236:27:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_37d1e0d819ddc9d937089f8b8a0c9e936d8517898de60fb05186b425fe250591", - "typeString": "literal_string \"user has no locked tokens\"" - }, - "value": "user has no locked tokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_37d1e0d819ddc9d937089f8b8a0c9e936d8517898de60fb05186b425fe250591", - "typeString": "literal_string \"user has no locked tokens\"" - } - ], - "id": 368, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4188:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4188:76:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "4188:76:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 380, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4276:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 383, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 381, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4292:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4292:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4276:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "4276:35:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 385, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4315:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4315:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4276:54:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "746f6b656e732072656c656173652064617465206e6f742072656163686564", - "id": 388, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4332:33:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c559d02903883d5402891819237e384a2c1f32364d9f119822db4672e6d7486a", - "typeString": "literal_string \"tokens release date not reached\"" - }, - "value": "tokens release date not reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c559d02903883d5402891819237e384a2c1f32364d9f119822db4672e6d7486a", - "typeString": "literal_string \"tokens release date not reached\"" - } - ], - "id": 379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4268:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4268:98:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 390, - "nodeType": "ExpressionStatement", - "src": "4268:98:2" - }, - { - "assignments": [ - 392 - ], - "declarations": [ - { - "constant": false, - "id": 392, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 434, - "src": "4373:11:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 391, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4373:4:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 398, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 393, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4387:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 396, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 394, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4403:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4403:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4387:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 397, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4387:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4373:48:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 399, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4425:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 402, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4441:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4441:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4425:27:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "4425:34:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4462:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4425:38:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 406, - "nodeType": "ExpressionStatement", - "src": "4425:38:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 407, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "4467:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 410, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4509:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 408, - "name": "totalAmountStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 99, - "src": "4487:17:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8075, - "src": "4487:21:2", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4487:29:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4467:49:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 413, - "nodeType": "ExpressionStatement", - "src": "4467:49:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4546:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 419, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4558:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 415, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 90, - "src": "4531:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$8773", - "typeString": "contract IERC20" - } - }, - "id": 416, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8727, - "src": "4531:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4531:34:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7472616e73666572206661696c6564", - "id": 421, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4567:17:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_df1797085e2da014ef9392ee25ab0802d6ce132451397172f17fd86110e2e02b", - "typeString": "literal_string \"transfer failed\"" - }, - "value": "transfer failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_df1797085e2da014ef9392ee25ab0802d6ce132451397172f17fd86110e2e02b", - "typeString": "literal_string \"transfer failed\"" - } - ], - "id": 414, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4523:7:2", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4523:62:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 423, - "nodeType": "ExpressionStatement", - "src": "4523:62:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 425, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4609:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4609:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 392, - "src": "4621:6:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 428, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4629:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4629:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 424, - "name": "TokensReleased", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 144, - "src": "4594:14:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4594:51:2", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 431, - "nodeType": "EmitStatement", - "src": "4589:56:2" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4656:4:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 367, - "id": 433, - "nodeType": "Return", - "src": "4649:11:2" - } - ] - }, - "documentation": "@dev User withdraws/releases his tokens after specified end date.\n@return bool True if operation was successful.", - "functionSelector": "86d1a69f", - "id": 435, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "release", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 364, - "nodeType": "ParameterList", - "parameters": [], - "src": "4154:2:2" - }, - "returnParameters": { - "id": 367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 366, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 435, - "src": "4175:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 365, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4175:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4174:6:2" - }, - "scope": 492, - "src": "4138:526:2", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 451, - "nodeType": "Block", - "src": "4876:65:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 442, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "4888:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 444, - "indexExpression": { - "argumentTypes": null, - "id": 443, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 437, - "src": "4904:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4888:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 445, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "4888:29:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 446, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4921:5:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4921:15:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4888:48:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 449, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4887:50:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 441, - "id": 450, - "nodeType": "Return", - "src": "4880:57:2" - } - ] - }, - "documentation": "@dev Check if locked tokens release date has come and user can withdraw them\n@return bool True if lock end date was reached", - "functionSelector": "6dfe789a", - "id": 452, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "canRelease", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 437, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 452, - "src": "4833:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 436, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4833:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:14:2" - }, - "returnParameters": { - "id": 441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 440, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 452, - "src": "4870:4:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 439, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4870:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4869:6:2" - }, - "scope": 492, - "src": "4813:128:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 464, - "nodeType": "Block", - "src": "5134:49:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 459, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "5148:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 461, - "indexExpression": { - "argumentTypes": null, - "id": 460, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 454, - "src": "5164:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5148:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "id": 462, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "5148:28:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 458, - "id": 463, - "nodeType": "Return", - "src": "5141:35:2" - } - ] - }, - "documentation": "@dev Get locked tokens amount for a given address\n@return uint256 Tokens amount for user address", - "functionSelector": "6b2d95d4", - "id": 465, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 454, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 465, - "src": "5088:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5088:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5087:14:2" - }, - "returnParameters": { - "id": 458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 457, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 465, - "src": "5125:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5125:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5124:9:2" - }, - "scope": 492, - "src": "5063:120:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 490, - "nodeType": "Block", - "src": "5418:126:2", - "statements": [ - { - "assignments": [ - 477 - ], - "declarations": [ - { - "constant": false, - "id": 477, - "name": "info", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 490, - "src": "5425:28:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - }, - "typeName": { - "contractScope": null, - "id": 476, - "name": "lockedTokensInfo", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 110, - "src": "5425:16:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 481, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 478, - "name": "lockedTokensMap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 103, - "src": "5456:15:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_lockedTokensInfo_$110_storage_$", - "typeString": "mapping(address => struct ERC20TokenLock.lockedTokensInfo storage ref)" - } - }, - "id": 480, - "indexExpression": { - "argumentTypes": null, - "id": 479, - "name": "user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 467, - "src": "5472:4:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5456:21:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_storage", - "typeString": "struct ERC20TokenLock.lockedTokensInfo storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5425:52:2" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 482, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5495:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 105, - "src": "5495:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 484, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5511:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 485, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 107, - "src": "5511:12:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 486, - "name": "info", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 477, - "src": "5525:4:2", - "typeDescriptions": { - "typeIdentifier": "t_struct$_lockedTokensInfo_$110_memory_ptr", - "typeString": "struct ERC20TokenLock.lockedTokensInfo memory" - } - }, - "id": 487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 109, - "src": "5525:11:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 488, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5494:43:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 475, - "id": 489, - "nodeType": "Return", - "src": "5487:50:2" - } - ] - }, - "documentation": "@dev Get locked tokens info for a given address\n @return startDate endDate amount Locked tokens info", - "functionSelector": "80acddbd", - "id": 491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedTokensInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 468, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 467, - "name": "user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5329:12:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5329:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5328:14:2" - }, - "returnParameters": { - "id": 475, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 470, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5366:17:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5366:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 472, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5385:15:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5385:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 474, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 491, - "src": "5402:14:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 473, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5402:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5365:52:2" - }, - "scope": 492, - "src": "5300:244:2", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 493, - "src": "252:5296:2" - } - ], - "src": "33:5515:2" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-05T14:53:35.298Z", - "devdoc": { - "methods": { - "admin()": { - "details": "Returns the admin address, usually the contract owner address.", - "returns": { - "_0": "address" - } - }, - "canRelease(address)": { - "details": "Check if locked tokens release date has come and user can withdraw them", - "returns": { - "_0": "bool True if lock end date was reached" - } - }, - "constructor": { - "details": "Constructor" - }, - "getLockedTokens(address)": { - "details": "Get locked tokens amount for a given address", - "returns": { - "_0": "uint256 Tokens amount for user address" - } - }, - "getLockedTokensInfo(address)": { - "details": "Get locked tokens info for a given address", - "returns": { - "startDate": "endDate amount Locked tokens info" - } - }, - "lock(uint256,uint256)": { - "details": "User locks his tokens until specified end date.", - "params": { - "amount": "Tokens amount to be locked.", - "endDate": "Lock tokens until this end date." - }, - "returns": { - "_0": "bool True if operation was successful. REQUIREMENTS: user must have approved this contract to spend the tokens \"amount\" he wants to lock before calling this function." - } - }, - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "release()": { - "details": "User withdraws/releases his tokens after specified end date.", - "returns": { - "_0": "bool True if operation was successful." - } - }, - "setMaxAmountToLock(uint256)": { - "details": "Admin sets maximum amount of tokens to lock per user.", - "params": { - "tokenAmount": "Maximum tokens amount." - }, - "returns": { - "_0": "bool True if operation was successful." - } - }, - "setMinAmountToLock(uint256)": { - "details": "Admin sets minimum amount of tokens to lock per user.", - "params": { - "tokenAmount": "Minimum tokens amount." - }, - "returns": { - "_0": "bool True if operation was successful." - } - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC721.json b/build/contracts/ERC721.json deleted file mode 100644 index c65f30e9..00000000 --- a/build/contracts/ERC721.json +++ /dev/null @@ -1,25285 +0,0 @@ -{ - "contractName": "ERC721", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://eips.ethereum.org/EIPS/eip-721\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Non-Fungible Token Standard basic implementation\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162001d3938038062001d39833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250620001bc91506301ffc9a760e01b90506001600160e01b036200024116565b8151620001d1906006906020850190620002c6565b508051620001e7906007906020840190620002c6565b50620002036380ac58cd60e01b6001600160e01b036200024116565b6200021e635b5e139f60e01b6001600160e01b036200024116565b6200023963780e9d6360e01b6001600160e01b036200024116565b50506200036b565b6001600160e01b03198082161415620002a1576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200030957805160ff191683800117855562000339565b8280016001018555821562000339579182015b82811115620003395782518255916020019190600101906200031c565b50620003479291506200034b565b5090565b6200036891905b8082111562000347576000815560010162000352565b90565b6119be806200037b6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561071f565b610237600480360360208110156102f757600080fd5b503561073a565b6101e56004803603602081101561031457600080fd5b5035610756565b610153610784565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107e5565b61015361084d565b61022d6004803603604081101561036757600080fd5b506001600160a01b03813516906020013515156108ae565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b3945050505050565b6101536004803603602081101561045b57600080fd5b5035610a11565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cc2565b61058f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118b3602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b682610756565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119376021913960400191505060405180910390fd5b806001600160a01b031661061b610cd5565b6001600160a01b0316148061063c575061063c81610637610cd5565b610c94565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806118066038913960400191505060405180910390fd5b6106818383610cd9565b505050565b60006106926002610d47565b905090565b6106a86106a2610cd5565b82610d52565b6106e35760405162461bcd60e51b81526004018080602001828103825260318152602001806119586031913960400191505060405180910390fd5b610681838383610df6565b6001600160a01b0382166000908152600160205260408120610716908363ffffffff610f5416565b90505b92915050565b610681838383604051806020016040528060008152506109b3565b60008061074e60028463ffffffff610f6016565b509392505050565b600061071982604051806060016040528060298152602001611868602991396002919063ffffffff610f7c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661082c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061183e602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071990610d47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108b6610cd5565b6001600160a01b0316826001600160a01b0316141561091c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610929610cd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561096d610cd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6109c46109be610cd5565b83610d52565b6109ff5760405162461bcd60e51b81526004018080602001828103825260318152602001806119586031913960400191505060405180910390fd5b610a0b84848484610f93565b50505050565b6060610a1c82610cc2565b610a575760405162461bcd60e51b815260040180806020018281038252602f815260200180611908602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505090506060610afd610784565b9050805160001415610b11575090506104ae565b815115610bd25780826040516020018083805190602001908083835b60208310610b4c5780518252601f199092019160209182019101610b2d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b945780518252601f199092019160209182019101610b75565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bdc85610fe5565b6040516020018083805190602001908083835b60208310610c0e5780518252601f199092019160209182019101610bef565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c565780518252601f199092019160209182019101610c37565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061071960028363ffffffff6110a916565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d0e82610756565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610719826110b5565b6000610d5d82610cc2565b610d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806117da602c913960400191505060405180910390fd5b6000610da383610756565b9050806001600160a01b0316846001600160a01b03161480610dde5750836001600160a01b0316610dd384610549565b6001600160a01b0316145b80610dee5750610dee8185610c94565b949350505050565b826001600160a01b0316610e0982610756565b6001600160a01b031614610e4e5760405162461bcd60e51b81526004018080602001828103825260298152602001806118df6029913960400191505060405180910390fd5b6001600160a01b038216610e935760405162461bcd60e51b81526004018080602001828103825260248152602001806117b66024913960400191505060405180910390fd5b610e9e838383610681565b610ea9600082610cd9565b6001600160a01b0383166000908152600160205260409020610ed1908263ffffffff6110b916565b506001600160a01b0382166000908152600160205260409020610efa908263ffffffff6110c516565b50610f0d6002828463ffffffff6110d116565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071683836110e7565b6000808080610f6f868661114b565b9097909650945050505050565b6000610f898484846111c6565b90505b9392505050565b610f9e848484610df6565b610faa84848484611290565b610a0b5760405162461bcd60e51b81526004018080602001828103825260328152602001806117846032913960400191505060405180910390fd5b60608161100a57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b811561102257600101600a8204915061100e565b6060816040519080825280601f01601f19166020018201604052801561104f576020820181803883390190505b50859350905060001982015b83156110a057600a840660300160f81b8282806001900393508151811061107e57fe5b60200101906001600160f81b031916908160001a905350600a8404935061105b565b50949350505050565b60006107168383611410565b5490565b60006107168383611428565b600061071683836114ee565b6000610f8984846001600160a01b038516611538565b815460009082106111295760405162461bcd60e51b81526004018080602001828103825260228152602001806117626022913960400191505060405180910390fd5b82600001828154811061113857fe5b9060005260206000200154905092915050565b81546000908190831061118f5760405162461bcd60e51b81526004018080602001828103825260228152602001806118916022913960400191505060405180910390fd5b60008460000184815481106111a057fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816112615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122657818101518382015260200161120e565b50505050905090810190601f1680156112535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061127457fe5b9060005260206000209060020201600101549150509392505050565b60006112a4846001600160a01b03166115cf565b6112b057506001610dee565b60606113d6630a85bd0160e11b6112c5610cd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561133e578181015183820152602001611326565b50505050905090810190601f16801561136b5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611784603291396001600160a01b038816919063ffffffff6115d516565b905060008180602001905160208110156113ef57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114e4578354600019808301919081019060009087908390811061145b57fe5b906000526020600020015490508087600001848154811061147857fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806114a857fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610719565b6000915050610719565b60006114fa8383611410565b61153057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610719565b506000610719565b60008281526001840160205260408120548061159d575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f8c565b828560000160018303815481106115b057fe5b9060005260206000209060020201600101819055506000915050610f8c565b3b151590565b6060610f898484600085856115e9856115cf565b61163a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116795780518252601f19909201916020918201910161165a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116db576040519150601f19603f3d011682016040523d82523d6000602084013e6116e0565b606091505b50915091506116f08282866116fb565b979650505050505050565b6060831561170a575081610f8c565b82511561171a5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561122657818101518382015260200161120e56fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220359fc9bbc8a876223fcb2bab4ffd96b3011ecf9fd7ea0a1c8924e31805a65dbe64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b0381358116916020810135909116906040013561071f565b610237600480360360208110156102f757600080fd5b503561073a565b6101e56004803603602081101561031457600080fd5b5035610756565b610153610784565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107e5565b61015361084d565b61022d6004803603604081101561036757600080fd5b506001600160a01b03813516906020013515156108ae565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109b3945050505050565b6101536004803603602081101561045b57600080fd5b5035610a11565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c94565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cc2565b61058f5760405162461bcd60e51b815260040180806020018281038252602c8152602001806118b3602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b682610756565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119376021913960400191505060405180910390fd5b806001600160a01b031661061b610cd5565b6001600160a01b0316148061063c575061063c81610637610cd5565b610c94565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806118066038913960400191505060405180910390fd5b6106818383610cd9565b505050565b60006106926002610d47565b905090565b6106a86106a2610cd5565b82610d52565b6106e35760405162461bcd60e51b81526004018080602001828103825260318152602001806119586031913960400191505060405180910390fd5b610681838383610df6565b6001600160a01b0382166000908152600160205260408120610716908363ffffffff610f5416565b90505b92915050565b610681838383604051806020016040528060008152506109b3565b60008061074e60028463ffffffff610f6016565b509392505050565b600061071982604051806060016040528060298152602001611868602991396002919063ffffffff610f7c16565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661082c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061183e602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071990610d47565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108b6610cd5565b6001600160a01b0316826001600160a01b0316141561091c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610929610cd5565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561096d610cd5565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6109c46109be610cd5565b83610d52565b6109ff5760405162461bcd60e51b81526004018080602001828103825260318152602001806119586031913960400191505060405180910390fd5b610a0b84848484610f93565b50505050565b6060610a1c82610cc2565b610a575760405162461bcd60e51b815260040180806020018281038252602f815260200180611908602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610aec5780601f10610ac157610100808354040283529160200191610aec565b820191906000526020600020905b815481529060010190602001808311610acf57829003601f168201915b505050505090506060610afd610784565b9050805160001415610b11575090506104ae565b815115610bd25780826040516020018083805190602001908083835b60208310610b4c5780518252601f199092019160209182019101610b2d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b945780518252601f199092019160209182019101610b75565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bdc85610fe5565b6040516020018083805190602001908083835b60208310610c0e5780518252601f199092019160209182019101610bef565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c565780518252601f199092019160209182019101610c37565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061071960028363ffffffff6110a916565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d0e82610756565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610719826110b5565b6000610d5d82610cc2565b610d985760405162461bcd60e51b815260040180806020018281038252602c8152602001806117da602c913960400191505060405180910390fd5b6000610da383610756565b9050806001600160a01b0316846001600160a01b03161480610dde5750836001600160a01b0316610dd384610549565b6001600160a01b0316145b80610dee5750610dee8185610c94565b949350505050565b826001600160a01b0316610e0982610756565b6001600160a01b031614610e4e5760405162461bcd60e51b81526004018080602001828103825260298152602001806118df6029913960400191505060405180910390fd5b6001600160a01b038216610e935760405162461bcd60e51b81526004018080602001828103825260248152602001806117b66024913960400191505060405180910390fd5b610e9e838383610681565b610ea9600082610cd9565b6001600160a01b0383166000908152600160205260409020610ed1908263ffffffff6110b916565b506001600160a01b0382166000908152600160205260409020610efa908263ffffffff6110c516565b50610f0d6002828463ffffffff6110d116565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071683836110e7565b6000808080610f6f868661114b565b9097909650945050505050565b6000610f898484846111c6565b90505b9392505050565b610f9e848484610df6565b610faa84848484611290565b610a0b5760405162461bcd60e51b81526004018080602001828103825260328152602001806117846032913960400191505060405180910390fd5b60608161100a57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b811561102257600101600a8204915061100e565b6060816040519080825280601f01601f19166020018201604052801561104f576020820181803883390190505b50859350905060001982015b83156110a057600a840660300160f81b8282806001900393508151811061107e57fe5b60200101906001600160f81b031916908160001a905350600a8404935061105b565b50949350505050565b60006107168383611410565b5490565b60006107168383611428565b600061071683836114ee565b6000610f8984846001600160a01b038516611538565b815460009082106111295760405162461bcd60e51b81526004018080602001828103825260228152602001806117626022913960400191505060405180910390fd5b82600001828154811061113857fe5b9060005260206000200154905092915050565b81546000908190831061118f5760405162461bcd60e51b81526004018080602001828103825260228152602001806118916022913960400191505060405180910390fd5b60008460000184815481106111a057fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816112615760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122657818101518382015260200161120e565b50505050905090810190601f1680156112535780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061127457fe5b9060005260206000209060020201600101549150509392505050565b60006112a4846001600160a01b03166115cf565b6112b057506001610dee565b60606113d6630a85bd0160e11b6112c5610cd5565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561133e578181015183820152602001611326565b50505050905090810190601f16801561136b5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611784603291396001600160a01b038816919063ffffffff6115d516565b905060008180602001905160208110156113ef57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114e4578354600019808301919081019060009087908390811061145b57fe5b906000526020600020015490508087600001848154811061147857fe5b6000918252602080832090910192909255828152600189810190925260409020908401905586548790806114a857fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610719565b6000915050610719565b60006114fa8383611410565b61153057508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610719565b506000610719565b60008281526001840160205260408120548061159d575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f8c565b828560000160018303815481106115b057fe5b9060005260206000209060020201600101819055506000915050610f8c565b3b151590565b6060610f898484600085856115e9856115cf565b61163a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116795780518252601f19909201916020918201910161165a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116db576040519150601f19603f3d011682016040523d82523d6000602084013e6116e0565b606091505b50915091506116f08282866116fb565b979650505050505050565b6060831561170a575081610f8c565b82511561171a5782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561122657818101518382015260200161120e56fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220359fc9bbc8a876223fcb2bab4ffd96b3011ecf9fd7ea0a1c8924e31805a65dbe64736f6c63430006020033", - "sourceMap": "571:16534:16:-:0;;;3577:369;8:9:-1;5:2;;;30:1;27;20:12;5:2;3577:369:16;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3577:369:16;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;3577:369:16;;420:4:-1;411:14;;;;3577:369:16;;;;;411:14:-1;3577:369:16;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3577:369:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;3577:369:16;;420:4:-1;411:14;;;;3577:369:16;;;;;411:14:-1;3577:369:16;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3577:369:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3577:369:16;;-1:-1:-1;768:40:11;;-1:-1:-1;;;;787:20:11;-1:-1:-1;;;;;;768:18:11;:40;:::i;:::-;3651:13:16;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:16;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:16;-1:-1:-1;;;;;;;;3779:18:16;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:16;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:16;:51;:::i;:::-;3577:369;;571:16534;;1507:198:11;-1:-1:-1;;;;;;1590:25:11;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:11;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:11;1694:4;1658:40;;;1507:198::o;571:16534:16:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:16534:16;;;-1:-1:-1;571:16534:16;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "571:16534:16:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;571:16534:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;965:148:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:11;-1:-1:-1;;;;;;965:148:11;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:16;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:16;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:16;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:16;;;;;;;;:::i;:::-;;6260:208;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:16;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:16;;;;;;;;:::i;8452:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:16;;;;;;;;;;;;;;;;;:::i;6540:169::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:16;;:::i;4280:175::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:16;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:16;-1:-1:-1;;;;;4005:218:16;;:::i;4679:102::-;;;:::i;7506:290::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:16;;;;;;;;;;:::i;8667:282::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:16;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:16;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:16;;-1:-1:-1;8667:282:16;;-1:-1:-1;;;;;8667:282:16:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:16;;:::i;7862:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:16;;;;;;;;;;:::i;965:148:11:-;-1:-1:-1;;;;;;1073:33:11;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:16:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:16;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:16;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:16;:2;-1:-1:-1;;;;;6903:11:16;;;6895:57;;;;-1:-1:-1;;;6895:57:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:16;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:16;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;6260:208::-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:16;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;8452:149::-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;6540:169::-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:16;6540:169;-1:-1:-1;;;6540:169:16:o;4280:175::-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:16;;4096:74;;;;-1:-1:-1;;;4096:74:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:16;;;;;;:13;:20;;;;;:29;;:27;:29::i;4679:102::-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:16;:8;-1:-1:-1;;;;;7608:24:16;;;7600:62;;;;;-1:-1:-1;;;7600:62:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:16;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:16;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:16;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:16;;;;;;;;;;;;;;7506:290;;:::o;8667:282::-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:16;-1:-1:-1;5229:16:16;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::16;;;;;;;;;;-1:-1:-1;5415:33:16;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:16;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:16;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:16;;;;;;;;;;-1:-1:-1;5573:42:16;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:16;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:16;;;5559:57;;;;4847:776;;;:::o;7862:162::-;-1:-1:-1;;;;;7982:25:16;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;10383:125::-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:22:-;685:10;598:104;:::o;16225:189:16:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:16;-1:-1:-1;;;;;16299:29:16;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:16;;;;;;;;;;;16225:189;;:::o;7820:121:23:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:16:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:16;:7;-1:-1:-1;;;;;10915:16:16;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:16;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:16;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:16:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:16;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:16;;13796:85;;;;-1:-1:-1;;;13796:85:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:16;;13909:65;;;;-1:-1:-1;;;13909:65:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:16;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:16;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:16;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:16;14266:4;-1:-1:-1;;;;;14257:27:16;;;;;;;;;;;13707:584;;;:::o;9250:135:24:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:23:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:23;-1:-1:-1;;;;;8269:233:23:o;9522:211::-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:23;;;;;;:::o;9811:269:16:-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:26;266:13;483:10;479:51;;-1:-1:-1;509:10:26;;;;;;;;;;;;-1:-1:-1;;;509:10:26;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;699:17:26;87:34:-1;135:17;;-1:-1;699:17:26;-1:-1:-1;769:5:26;;-1:-1:-1;677:39:26;-1:-1:-1;;;742:10:26;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:26;;;;;;;;-1:-1:-1;885:2:26;877:10;;;;784:114;;;-1:-1:-1;921:6:26;210:725;-1:-1:-1;;;;210:725:26:o;7588:149:23:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:24:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:23:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:23;;7139:4;:64::i;4452:201:24:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:24;;;;-1:-1:-1;;;4538:73:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:23:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:23;;;;-1:-1:-1;;;5037:74:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;15524:589:16:-;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:16;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:16;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:16;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:16;-1:-1:-1;;;;;15773:175:16;;;;;;-1:-1:-1;;;;;15773:175:16;-1:-1:-1;;;;;15773:175:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:16;;;;-1:-1:-1;;;;;15773:175:16;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:16;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:16;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16029:32:16;-1:-1:-1;;;;;;16079:26:16;-1:-1:-1;;;16079:26:16;;-1:-1:-1;;;15524:589:16;;;;;;:::o;4278:123:23:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:24:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:24;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:24;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:24;2015:12;;1836:678:23;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:23;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:23;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;726:413:21;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:21;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:21;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:21;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:21:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:21;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:21;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"../../utils/Context.sol\";\nimport \"./IERC721.sol\";\nimport \"./IERC721Metadata.sol\";\nimport \"./IERC721Enumerable.sol\";\nimport \"./IERC721Receiver.sol\";\nimport \"../../introspection/ERC165.sol\";\nimport \"../../math/SafeMath.sol\";\nimport \"../../utils/Address.sol\";\nimport \"../../utils/EnumerableSet.sol\";\nimport \"../../utils/EnumerableMap.sol\";\nimport \"../../utils/Strings.sol\";\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic implementation\n * @dev see https://eips.ethereum.org/EIPS/eip-721\n */\ncontract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable {\n using SafeMath for uint256;\n using Address for address;\n using EnumerableSet for EnumerableSet.UintSet;\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n using Strings for uint256;\n\n // Equals to `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`\n // which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`\n bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;\n\n // Mapping from holder address to their (enumerable) set of owned tokens\n mapping (address => EnumerableSet.UintSet) private _holderTokens;\n\n // Enumerable mapping from token ids to their owners\n EnumerableMap.UintToAddressMap private _tokenOwners;\n\n // Mapping from token ID to approved address\n mapping (uint256 => address) private _tokenApprovals;\n\n // Mapping from owner to operator approvals\n mapping (address => mapping (address => bool)) private _operatorApprovals;\n\n // Token name\n string private _name;\n\n // Token symbol\n string private _symbol;\n\n // Optional mapping for token URIs\n mapping (uint256 => string) private _tokenURIs;\n\n // Base URI\n string private _baseURI;\n\n /*\n * bytes4(keccak256('balanceOf(address)')) == 0x70a08231\n * bytes4(keccak256('ownerOf(uint256)')) == 0x6352211e\n * bytes4(keccak256('approve(address,uint256)')) == 0x095ea7b3\n * bytes4(keccak256('getApproved(uint256)')) == 0x081812fc\n * bytes4(keccak256('setApprovalForAll(address,bool)')) == 0xa22cb465\n * bytes4(keccak256('isApprovedForAll(address,address)')) == 0xe985e9c5\n * bytes4(keccak256('transferFrom(address,address,uint256)')) == 0x23b872dd\n * bytes4(keccak256('safeTransferFrom(address,address,uint256)')) == 0x42842e0e\n * bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) == 0xb88d4fde\n *\n * => 0x70a08231 ^ 0x6352211e ^ 0x095ea7b3 ^ 0x081812fc ^\n * 0xa22cb465 ^ 0xe985e9c5 ^ 0x23b872dd ^ 0x42842e0e ^ 0xb88d4fde == 0x80ac58cd\n */\n bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;\n\n /*\n * bytes4(keccak256('name()')) == 0x06fdde03\n * bytes4(keccak256('symbol()')) == 0x95d89b41\n * bytes4(keccak256('tokenURI(uint256)')) == 0xc87b56dd\n *\n * => 0x06fdde03 ^ 0x95d89b41 ^ 0xc87b56dd == 0x5b5e139f\n */\n bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f;\n\n /*\n * bytes4(keccak256('totalSupply()')) == 0x18160ddd\n * bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) == 0x2f745c59\n * bytes4(keccak256('tokenByIndex(uint256)')) == 0x4f6ccce7\n *\n * => 0x18160ddd ^ 0x2f745c59 ^ 0x4f6ccce7 == 0x780e9d63\n */\n bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63;\n\n /**\n * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection.\n */\n constructor (string memory name_, string memory symbol_) public {\n _name = name_;\n _symbol = symbol_;\n\n // register the supported interfaces to conform to ERC721 via ERC165\n _registerInterface(_INTERFACE_ID_ERC721);\n _registerInterface(_INTERFACE_ID_ERC721_METADATA);\n _registerInterface(_INTERFACE_ID_ERC721_ENUMERABLE);\n }\n\n /**\n * @dev See {IERC721-balanceOf}.\n */\n function balanceOf(address owner) public view virtual override returns (uint256) {\n require(owner != address(0), \"ERC721: balance query for the zero address\");\n return _holderTokens[owner].length();\n }\n\n /**\n * @dev See {IERC721-ownerOf}.\n */\n function ownerOf(uint256 tokenId) public view virtual override returns (address) {\n return _tokenOwners.get(tokenId, \"ERC721: owner query for nonexistent token\");\n }\n\n /**\n * @dev See {IERC721Metadata-name}.\n */\n function name() public view virtual override returns (string memory) {\n return _name;\n }\n\n /**\n * @dev See {IERC721Metadata-symbol}.\n */\n function symbol() public view virtual override returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev See {IERC721Metadata-tokenURI}.\n */\n function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {\n require(_exists(tokenId), \"ERC721Metadata: URI query for nonexistent token\");\n\n string memory _tokenURI = _tokenURIs[tokenId];\n string memory base = baseURI();\n\n // If there is no base URI, return the token URI.\n if (bytes(base).length == 0) {\n return _tokenURI;\n }\n // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked).\n if (bytes(_tokenURI).length > 0) {\n return string(abi.encodePacked(base, _tokenURI));\n }\n // If there is a baseURI but no tokenURI, concatenate the tokenID to the baseURI.\n return string(abi.encodePacked(base, tokenId.toString()));\n }\n\n /**\n * @dev Returns the base URI set via {_setBaseURI}. This will be\n * automatically added as a prefix in {tokenURI} to each token's URI, or\n * to the token ID if no specific URI is set for that token ID.\n */\n function baseURI() public view virtual returns (string memory) {\n return _baseURI;\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {\n return _holderTokens[owner].at(index);\n }\n\n /**\n * @dev See {IERC721Enumerable-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n // _tokenOwners are indexed by tokenIds, so .length() returns the number of tokenIds\n return _tokenOwners.length();\n }\n\n /**\n * @dev See {IERC721Enumerable-tokenByIndex}.\n */\n function tokenByIndex(uint256 index) public view virtual override returns (uint256) {\n (uint256 tokenId, ) = _tokenOwners.at(index);\n return tokenId;\n }\n\n /**\n * @dev See {IERC721-approve}.\n */\n function approve(address to, uint256 tokenId) public virtual override {\n address owner = ERC721.ownerOf(tokenId);\n require(to != owner, \"ERC721: approval to current owner\");\n\n require(_msgSender() == owner || ERC721.isApprovedForAll(owner, _msgSender()),\n \"ERC721: approve caller is not owner nor approved for all\"\n );\n\n _approve(to, tokenId);\n }\n\n /**\n * @dev See {IERC721-getApproved}.\n */\n function getApproved(uint256 tokenId) public view virtual override returns (address) {\n require(_exists(tokenId), \"ERC721: approved query for nonexistent token\");\n\n return _tokenApprovals[tokenId];\n }\n\n /**\n * @dev See {IERC721-setApprovalForAll}.\n */\n function setApprovalForAll(address operator, bool approved) public virtual override {\n require(operator != _msgSender(), \"ERC721: approve to caller\");\n\n _operatorApprovals[_msgSender()][operator] = approved;\n emit ApprovalForAll(_msgSender(), operator, approved);\n }\n\n /**\n * @dev See {IERC721-isApprovedForAll}.\n */\n function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {\n return _operatorApprovals[owner][operator];\n }\n\n /**\n * @dev See {IERC721-transferFrom}.\n */\n function transferFrom(address from, address to, uint256 tokenId) public virtual override {\n //solhint-disable-next-line max-line-length\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n\n _transfer(from, to, tokenId);\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {\n safeTransferFrom(from, to, tokenId, \"\");\n }\n\n /**\n * @dev See {IERC721-safeTransferFrom}.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual override {\n require(_isApprovedOrOwner(_msgSender(), tokenId), \"ERC721: transfer caller is not owner nor approved\");\n _safeTransfer(from, to, tokenId, _data);\n }\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n *\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\n * implement alternative mechanisms to perform token transfer, such as signature-based.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeTransfer(address from, address to, uint256 tokenId, bytes memory _data) internal virtual {\n _transfer(from, to, tokenId);\n require(_checkOnERC721Received(from, to, tokenId, _data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Returns whether `tokenId` exists.\n *\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n *\n * Tokens start existing when they are minted (`_mint`),\n * and stop existing when they are burned (`_burn`).\n */\n function _exists(uint256 tokenId) internal view virtual returns (bool) {\n return _tokenOwners.contains(tokenId);\n }\n\n /**\n * @dev Returns whether `spender` is allowed to manage `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {\n require(_exists(tokenId), \"ERC721: operator query for nonexistent token\");\n address owner = ERC721.ownerOf(tokenId);\n return (spender == owner || getApproved(tokenId) == spender || ERC721.isApprovedForAll(owner, spender));\n }\n\n /**\n * @dev Safely mints `tokenId` and transfers it to `to`.\n *\n * Requirements:\n d*\n * - `tokenId` must not exist.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function _safeMint(address to, uint256 tokenId) internal virtual {\n _safeMint(to, tokenId, \"\");\n }\n\n /**\n * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\n * forwarded in {IERC721Receiver-onERC721Received} to contract recipients.\n */\n function _safeMint(address to, uint256 tokenId, bytes memory _data) internal virtual {\n _mint(to, tokenId);\n require(_checkOnERC721Received(address(0), to, tokenId, _data), \"ERC721: transfer to non ERC721Receiver implementer\");\n }\n\n /**\n * @dev Mints `tokenId` and transfers it to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n *\n * Requirements:\n *\n * - `tokenId` must not exist.\n * - `to` cannot be the zero address.\n *\n * Emits a {Transfer} event.\n */\n function _mint(address to, uint256 tokenId) internal virtual {\n require(to != address(0), \"ERC721: mint to the zero address\");\n require(!_exists(tokenId), \"ERC721: token already minted\");\n\n _beforeTokenTransfer(address(0), to, tokenId);\n\n _holderTokens[to].add(tokenId);\n\n _tokenOwners.set(tokenId, to);\n\n emit Transfer(address(0), to, tokenId);\n }\n\n /**\n * @dev Destroys `tokenId`.\n * The approval is cleared when the token is burned.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n *\n * Emits a {Transfer} event.\n */\n function _burn(uint256 tokenId) internal virtual {\n address owner = ERC721.ownerOf(tokenId); // internal owner\n\n _beforeTokenTransfer(owner, address(0), tokenId);\n\n // Clear approvals\n _approve(address(0), tokenId);\n\n // Clear metadata (if any)\n if (bytes(_tokenURIs[tokenId]).length != 0) {\n delete _tokenURIs[tokenId];\n }\n\n _holderTokens[owner].remove(tokenId);\n\n _tokenOwners.remove(tokenId);\n\n emit Transfer(owner, address(0), tokenId);\n }\n\n /**\n * @dev Transfers `tokenId` from `from` to `to`.\n * As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n *\n * Emits a {Transfer} event.\n */\n function _transfer(address from, address to, uint256 tokenId) internal virtual {\n require(ERC721.ownerOf(tokenId) == from, \"ERC721: transfer of token that is not own\"); // internal owner\n require(to != address(0), \"ERC721: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, tokenId);\n\n // Clear approvals from the previous owner\n _approve(address(0), tokenId);\n\n _holderTokens[from].remove(tokenId);\n _holderTokens[to].add(tokenId);\n\n _tokenOwners.set(tokenId, to);\n\n emit Transfer(from, to, tokenId);\n }\n\n /**\n * @dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {\n require(_exists(tokenId), \"ERC721Metadata: URI set of nonexistent token\");\n _tokenURIs[tokenId] = _tokenURI;\n }\n\n /**\n * @dev Internal function to set the base URI for all token IDs. It is\n * automatically added as a prefix to the value returned in {tokenURI},\n * or to the token ID if {tokenURI} is empty.\n */\n function _setBaseURI(string memory baseURI_) internal virtual {\n _baseURI = baseURI_;\n }\n\n /**\n * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\n * The call is not executed if the target address is not a contract.\n *\n * @param from address representing the previous owner of the given token ID\n * @param to target address that will receive the tokens\n * @param tokenId uint256 ID of the token to be transferred\n * @param _data bytes optional data to send along with the call\n * @return bool whether the call correctly returned the expected magic value\n */\n function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)\n private returns (bool)\n {\n if (!to.isContract()) {\n return true;\n }\n bytes memory returndata = to.functionCall(abi.encodeWithSelector(\n IERC721Receiver(to).onERC721Received.selector,\n _msgSender(),\n from,\n tokenId,\n _data\n ), \"ERC721: transfer to non ERC721Receiver implementer\");\n bytes4 retval = abi.decode(returndata, (bytes4));\n return (retval == _ERC721_RECEIVED);\n }\n\n /**\n * @dev Approve `to` to operate on `tokenId`\n *\n * Emits an {Approval} event.\n */\n function _approve(address to, uint256 tokenId) internal virtual {\n _tokenApprovals[tokenId] = to;\n emit Approval(ERC721.ownerOf(tokenId), to, tokenId); // internal owner\n }\n\n /**\n * @dev Hook that is called before any token transfer. This includes minting\n * and burning.\n *\n * Calling conditions:\n *\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\n * transferred to `to`.\n * - When `from` is zero, `tokenId` will be minted for `to`.\n * - When `to` is zero, ``from``'s `tokenId` will be burned.\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual { }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "ERC721": [ - 9254 - ] - }, - "id": 9255, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8343, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:16" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 8344, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9732, - "src": "66:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 8345, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9358, - "src": "100:23:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "file": "./IERC721Metadata.sol", - "id": 8346, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9408, - "src": "124:31:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "file": "./IERC721Enumerable.sol", - "id": 8347, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9385, - "src": "156:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 8348, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9424, - "src": "190:31:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "file": "../../introspection/ERC165.sol", - "id": 8349, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 7438, - "src": "222:40:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 8350, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 7789, - "src": "263:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 8351, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9709, - "src": "297:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "file": "../../utils/EnumerableSet.sol", - "id": 8352, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10746, - "src": "331:39:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "file": "../../utils/EnumerableMap.sol", - "id": 8353, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10275, - "src": "371:39:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 8354, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10914, - "src": "411:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8355, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "590:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 8356, - "nodeType": "InheritanceSpecifier", - "src": "590:7:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8357, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7437, - "src": "599:6:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$7437", - "typeString": "contract ERC165" - } - }, - "id": 8358, - "nodeType": "InheritanceSpecifier", - "src": "599:6:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8359, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "607:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 8360, - "nodeType": "InheritanceSpecifier", - "src": "607:7:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8361, - "name": "IERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9407, - "src": "616:15:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Metadata_$9407", - "typeString": "contract IERC721Metadata" - } - }, - "id": 8362, - "nodeType": "InheritanceSpecifier", - "src": "616:15:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8363, - "name": "IERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9384, - "src": "633:17:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Enumerable_$9384", - "typeString": "contract IERC721Enumerable" - } - }, - "id": 8364, - "nodeType": "InheritanceSpecifier", - "src": "633:17:16" - } - ], - "contractDependencies": [ - 7437, - 7447, - 9357, - 9384, - 9407, - 9731 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 9254, - "linearizedBaseContracts": [ - 9254, - 9384, - 9407, - 9357, - 7437, - 7447, - 9731 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8367, - "libraryName": { - "contractScope": null, - "id": 8365, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7788, - "src": "663:8:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7788", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "657:27:16", - "typeName": { - "id": 8366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8370, - "libraryName": { - "contractScope": null, - "id": 8368, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9708, - "src": "695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "689:26:16", - "typeName": { - "id": 8369, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 8373, - "libraryName": { - "contractScope": null, - "id": 8371, - "name": "EnumerableSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10745, - "src": "726:13:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableSet_$10745", - "typeString": "library EnumerableSet" - } - }, - "nodeType": "UsingForDirective", - "src": "720:46:16", - "typeName": { - "contractScope": null, - "id": 8372, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "744:21:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - { - "id": 8376, - "libraryName": { - "contractScope": null, - "id": 8374, - "name": "EnumerableMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10274, - "src": "777:13:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableMap_$10274", - "typeString": "library EnumerableMap" - } - }, - "nodeType": "UsingForDirective", - "src": "771:55:16", - "typeName": { - "contractScope": null, - "id": 8375, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "795:30:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - } - }, - { - "id": 8379, - "libraryName": { - "contractScope": null, - "id": 8377, - "name": "Strings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10913, - "src": "837:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Strings_$10913", - "typeString": "library Strings" - } - }, - "nodeType": "UsingForDirective", - "src": "831:26:16", - "typeName": { - "id": 8378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 8382, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1035:53:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8380, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1035:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 8381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1078:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 8386, - "name": "_holderTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1172:64:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "typeName": { - "id": 8385, - "keyType": { - "id": 8383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1181:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1172:42:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "valueType": { - "contractScope": null, - "id": 8384, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "1192:21:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8388, - "name": "_tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1300:51:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 8387, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "1300:30:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8392, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1407:52:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 8391, - "keyType": { - "id": 8389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1416:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1407:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 8390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1427:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8398, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1514:73:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 8397, - "keyType": { - "id": 8393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1523:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1514:46:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 8396, - "keyType": { - "id": 8394, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1543:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1534:25:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 8395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1554:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8400, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1612:20:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8399, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1612:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8402, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1659:22:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8401, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1659:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8406, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1727:46:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 8405, - "keyType": { - "id": 8403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1727:27:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 8404, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1747:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8408, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1796:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8407, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1796:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 8411, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "2695:57:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8409, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2695:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 8410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2742:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8414, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "3018:66:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8412, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3018:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 8413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8417, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "3389:68:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8415, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3389:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 8416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3447:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 8444, - "nodeType": "Block", - "src": "3641:305:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8424, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8400, - "src": "3651:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8425, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8419, - "src": "3659:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3651:13:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8427, - "nodeType": "ExpressionStatement", - "src": "3651:13:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8428, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8402, - "src": "3674:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8429, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8421, - "src": "3684:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3674:17:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8431, - "nodeType": "ExpressionStatement", - "src": "3674:17:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8433, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8411, - "src": "3798:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8432, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3779:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3779:40:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8435, - "nodeType": "ExpressionStatement", - "src": "3779:40:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8437, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8414, - "src": "3848:29:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8436, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3829:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:49:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8439, - "nodeType": "ExpressionStatement", - "src": "3829:49:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8441, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8417, - "src": "3907:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8440, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3888:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3888:51:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8443, - "nodeType": "ExpressionStatement", - "src": "3888:51:16" - } - ] - }, - "documentation": "@dev Initializes the contract by setting a `name` and a `symbol` to the token collection.", - "id": 8445, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8419, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8445, - "src": "3590:19:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8418, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3590:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8421, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8445, - "src": "3611:21:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3611:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:44:16" - }, - "returnParameters": { - "id": 8423, - "nodeType": "ParameterList", - "parameters": [], - "src": "3641:0:16" - }, - "scope": 9254, - "src": "3577:369:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 9290 - ], - "body": { - "id": 8469, - "nodeType": "Block", - "src": "4086:137:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8454, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8447, - "src": "4104:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4121:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8455, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4113:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4113:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4104:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 8460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:44:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 8453, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4096:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:74:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8462, - "nodeType": "ExpressionStatement", - "src": "4096:74:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8463, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "4187:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8465, - "indexExpression": { - "argumentTypes": null, - "id": 8464, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8447, - "src": "4201:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4187:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10725, - "src": "4187:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10655_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" - } - }, - "id": 8467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8452, - "id": 8468, - "nodeType": "Return", - "src": "4180:36:16" - } - ] - }, - "documentation": "@dev See {IERC721-balanceOf}.", - "functionSelector": "70a08231", - "id": 8470, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8449, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4059:8:16" - }, - "parameters": { - "id": 8448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8447, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8470, - "src": "4024:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4024:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4023:15:16" - }, - "returnParameters": { - "id": 8452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8451, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8470, - "src": "4077:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:9:16" - }, - "scope": 9254, - "src": "4005:218:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9297 - ], - "body": { - "id": 8484, - "nodeType": "Block", - "src": "4361:94:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8480, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8472, - "src": "4395:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4404:43:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - }, - "value": "ERC721: owner query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 8478, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "4378:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 10273, - "src": "4378:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,string memory) view returns (address)" - } - }, - "id": 8482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4378:70:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8477, - "id": 8483, - "nodeType": "Return", - "src": "4371:77:16" - } - ] - }, - "documentation": "@dev See {IERC721-ownerOf}.", - "functionSelector": "6352211e", - "id": 8485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8474, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4334:8:16" - }, - "parameters": { - "id": 8473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8472, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "4297:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4297:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:17:16" - }, - "returnParameters": { - "id": 8477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "4352:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4352:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4351:9:16" - }, - "scope": 9254, - "src": "4280:175:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9394 - ], - "body": { - "id": 8493, - "nodeType": "Block", - "src": "4586:29:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8491, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8400, - "src": "4603:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8490, - "id": 8492, - "nodeType": "Return", - "src": "4596:12:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-name}.", - "functionSelector": "06fdde03", - "id": 8494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8487, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4553:8:16" - }, - "parameters": { - "id": 8486, - "nodeType": "ParameterList", - "parameters": [], - "src": "4530:2:16" - }, - "returnParameters": { - "id": 8490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8489, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "4571:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8488, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4571:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4570:15:16" - }, - "scope": 9254, - "src": "4517:98:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9399 - ], - "body": { - "id": 8502, - "nodeType": "Block", - "src": "4750:31:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8500, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8402, - "src": "4767:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8499, - "id": 8501, - "nodeType": "Return", - "src": "4760:14:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-symbol}.", - "functionSelector": "95d89b41", - "id": 8503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8496, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4717:8:16" - }, - "parameters": { - "id": 8495, - "nodeType": "ParameterList", - "parameters": [], - "src": "4694:2:16" - }, - "returnParameters": { - "id": 8499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8498, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8503, - "src": "4735:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8497, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4735:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:15:16" - }, - "scope": 9254, - "src": "4679:102:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9406 - ], - "body": { - "id": 8569, - "nodeType": "Block", - "src": "4935:688:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8513, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "4961:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8512, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "4953:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4953:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4971:49:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 8511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4945:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:76:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8517, - "nodeType": "ExpressionStatement", - "src": "4945:76:16" - }, - { - "assignments": [ - 8519 - ], - "declarations": [ - { - "constant": false, - "id": 8519, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8569, - "src": "5032:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8518, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5032:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8523, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8520, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "5058:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8522, - "indexExpression": { - "argumentTypes": null, - "id": 8521, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "5069:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5058:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5032:45:16" - }, - { - "assignments": [ - 8525 - ], - "declarations": [ - { - "constant": false, - "id": 8525, - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8569, - "src": "5087:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8524, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5087:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8528, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8526, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "5108:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 8527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5108:9:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5087:30:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8531, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5196:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5190:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8529, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5190:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5190:11:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5190:18:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5212:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5190:23:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8539, - "nodeType": "IfStatement", - "src": "5186:70:16", - "trueBody": { - "id": 8538, - "nodeType": "Block", - "src": "5215:41:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8536, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5236:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8537, - "nodeType": "Return", - "src": "5229:16:16" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8542, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5364:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5358:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8540, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5358:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5358:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:23:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5358:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8557, - "nodeType": "IfStatement", - "src": "5354:106:16", - "trueBody": { - "id": 8556, - "nodeType": "Block", - "src": "5387:73:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8551, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5432:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8552, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5438:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 8549, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5415:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5415:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5415:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5408:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8547, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5408:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5408:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8555, - "nodeType": "Return", - "src": "5401:48:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8562, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5590:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8563, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "5596:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10912, - "src": "5596:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 8565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5596:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 8560, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5573:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5573:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5573:42:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5566:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8558, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5566:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:50:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8568, - "nodeType": "Return", - "src": "5559:57:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-tokenURI}.", - "functionSelector": "c87b56dd", - "id": 8570, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8507, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4902:8:16" - }, - "parameters": { - "id": 8506, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8505, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "4865:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4865:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4864:17:16" - }, - "returnParameters": { - "id": 8510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8509, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "4920:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4920:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4919:15:16" - }, - "scope": 9254, - "src": "4847:776:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8577, - "nodeType": "Block", - "src": "5918:32:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8575, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8408, - "src": "5935:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8574, - "id": 8576, - "nodeType": "Return", - "src": "5928:15:16" - } - ] - }, - "documentation": "@dev Returns the base URI set via {_setBaseURI}. This will be\nautomatically added as a prefix in {tokenURI} to each token's URI, or\nto the token ID if no specific URI is set for that token ID.", - "functionSelector": "6c0360eb", - "id": 8578, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8571, - "nodeType": "ParameterList", - "parameters": [], - "src": "5871:2:16" - }, - "returnParameters": { - "id": 8574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8573, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8578, - "src": "5903:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5903:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5902:15:16" - }, - "scope": 9254, - "src": "5855:95:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9376 - ], - "body": { - "id": 8595, - "nodeType": "Block", - "src": "6135:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8592, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8582, - "src": "6176:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8588, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "6152:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8590, - "indexExpression": { - "argumentTypes": null, - "id": 8589, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8580, - "src": "6166:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6152:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8591, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10744, - "src": "6152:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" - } - }, - "id": 8593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6152:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8587, - "id": 8594, - "nodeType": "Return", - "src": "6145:37:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenOfOwnerByIndex}.", - "functionSelector": "2f745c59", - "id": 8596, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8584, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6108:8:16" - }, - "parameters": { - "id": 8583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8580, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6058:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8579, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6058:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8582, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6073:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6073:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6057:30:16" - }, - "returnParameters": { - "id": 8587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8586, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6126:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6125:9:16" - }, - "scope": 9254, - "src": "6029:160:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9367 - ], - "body": { - "id": 8606, - "nodeType": "Block", - "src": "6330:138:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8602, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "6440:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10138, - "src": "6440:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer) view returns (uint256)" - } - }, - "id": 8604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6440:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8601, - "id": 8605, - "nodeType": "Return", - "src": "6433:28:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-totalSupply}.", - "functionSelector": "18160ddd", - "id": 8607, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8598, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6303:8:16" - }, - "parameters": { - "id": 8597, - "nodeType": "ParameterList", - "parameters": [], - "src": "6280:2:16" - }, - "returnParameters": { - "id": 8601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8600, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8607, - "src": "6321:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6321:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6320:9:16" - }, - "scope": 9254, - "src": "6260:208:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9383 - ], - "body": { - "id": 8624, - "nodeType": "Block", - "src": "6624:85:16", - "statements": [ - { - "assignments": [ - 8616, - null - ], - "declarations": [ - { - "constant": false, - "id": 8616, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8624, - "src": "6635:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6635:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8621, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8619, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8609, - "src": "6672:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8617, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "6656:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10176, - "src": "6656:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (uint256,address)" - } - }, - "id": 8620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6656:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6634:44:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8622, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "6695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8614, - "id": 8623, - "nodeType": "Return", - "src": "6688:14:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenByIndex}.", - "functionSelector": "4f6ccce7", - "id": 8625, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8611, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6597:8:16" - }, - "parameters": { - "id": 8610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8609, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8625, - "src": "6562:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6562:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6561:15:16" - }, - "returnParameters": { - "id": 8614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8613, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8625, - "src": "6615:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6614:9:16" - }, - "scope": 9254, - "src": "6540:169:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9322 - ], - "body": { - "id": 8667, - "nodeType": "Block", - "src": "6836:325:16", - "statements": [ - { - "assignments": [ - 8634 - ], - "declarations": [ - { - "constant": false, - "id": 8634, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "6846:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6846:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8637, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8629, - "src": "6877:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8635, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "6862:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "6862:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6862:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6846:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8641, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8627, - "src": "6903:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 8642, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "6909:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6903:11:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 8644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6916:35:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 8640, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6895:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6895:57:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8646, - "nodeType": "ExpressionStatement", - "src": "6895:57:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8648, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6971:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6971:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8650, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "6987:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6971:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8654, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "7020:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8655, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7027:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 8652, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "6996:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8738, - "src": "6996:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:44:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6971:69:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 8659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7054:58:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 8647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6963:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6963:159:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8661, - "nodeType": "ExpressionStatement", - "src": "6963:159:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8663, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8627, - "src": "7142:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8664, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8629, - "src": "7146:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8662, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "7133:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7133:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8666, - "nodeType": "ExpressionStatement", - "src": "7133:21:16" - } - ] - }, - "documentation": "@dev See {IERC721-approve}.", - "functionSelector": "095ea7b3", - "id": 8668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8631, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6827:8:16" - }, - "parameters": { - "id": 8630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8627, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "6783:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6783:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8629, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "6795:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6795:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:29:16" - }, - "returnParameters": { - "id": 8632, - "nodeType": "ParameterList", - "parameters": [], - "src": "6836:0:16" - }, - "scope": 9254, - "src": "6766:395:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9329 - ], - "body": { - "id": 8687, - "nodeType": "Block", - "src": "7307:132:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8678, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8670, - "src": "7333:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8677, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "7325:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7343:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 8676, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7317:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7317:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8682, - "nodeType": "ExpressionStatement", - "src": "7317:73:16" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8683, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "7408:15:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 8685, - "indexExpression": { - "argumentTypes": null, - "id": 8684, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8670, - "src": "7424:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7408:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8675, - "id": 8686, - "nodeType": "Return", - "src": "7401:31:16" - } - ] - }, - "documentation": "@dev See {IERC721-getApproved}.", - "functionSelector": "081812fc", - "id": 8688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8672, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7280:8:16" - }, - "parameters": { - "id": 8671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8670, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8688, - "src": "7243:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7243:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7242:17:16" - }, - "returnParameters": { - "id": 8675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8674, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8688, - "src": "7298:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7298:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7297:9:16" - }, - "scope": 9254, - "src": "7222:217:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9336 - ], - "body": { - "id": 8720, - "nodeType": "Block", - "src": "7590:206:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8697, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7608:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8698, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7620:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7620:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7608:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:27:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - }, - "value": "ERC721: approve to caller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - } - ], - "id": 8696, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7600:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7600:62:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8703, - "nodeType": "ExpressionStatement", - "src": "7600:62:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8704, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "7673:18:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8708, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8705, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7692:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7692:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7673:32:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8709, - "indexExpression": { - "argumentTypes": null, - "id": 8707, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7706:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7673:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8710, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "7718:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7673:53:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8712, - "nodeType": "ExpressionStatement", - "src": "7673:53:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8714, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7756:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7756:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8716, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7770:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8717, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "7780:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 8713, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9283, - "src": "7741:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 8718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7741:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8719, - "nodeType": "EmitStatement", - "src": "7736:53:16" - } - ] - }, - "documentation": "@dev See {IERC721-setApprovalForAll}.", - "functionSelector": "a22cb465", - "id": 8721, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8694, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7581:8:16" - }, - "parameters": { - "id": 8693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8690, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8721, - "src": "7533:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7533:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8692, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8721, - "src": "7551:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7551:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7532:33:16" - }, - "returnParameters": { - "id": 8695, - "nodeType": "ParameterList", - "parameters": [], - "src": "7590:0:16" - }, - "scope": 9254, - "src": "7506:290:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9345 - ], - "body": { - "id": 8737, - "nodeType": "Block", - "src": "7965:59:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8731, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "7982:18:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8733, - "indexExpression": { - "argumentTypes": null, - "id": 8732, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8723, - "src": "8001:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:25:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8735, - "indexExpression": { - "argumentTypes": null, - "id": 8734, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8725, - "src": "8008:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8730, - "id": 8736, - "nodeType": "Return", - "src": "7975:42:16" - } - ] - }, - "documentation": "@dev See {IERC721-isApprovedForAll}.", - "functionSelector": "e985e9c5", - "id": 8738, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8727, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7941:8:16" - }, - "parameters": { - "id": 8726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8723, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7888:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7888:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8725, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7903:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7903:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7887:33:16" - }, - "returnParameters": { - "id": 8730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8729, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7959:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8728, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7959:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7958:6:16" - }, - "scope": 9254, - "src": "7862:162:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9315 - ], - "body": { - "id": 8763, - "nodeType": "Block", - "src": "8175:211:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8750, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "8264:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8264:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8752, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8744, - "src": "8278:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8749, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "8245:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8245:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8288:51:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 8748, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8237:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:103:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8756, - "nodeType": "ExpressionStatement", - "src": "8237:103:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8758, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "8361:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8759, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8742, - "src": "8367:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8760, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8744, - "src": "8371:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8757, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "8351:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8351:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8762, - "nodeType": "ExpressionStatement", - "src": "8351:28:16" - } - ] - }, - "documentation": "@dev See {IERC721-transferFrom}.", - "functionSelector": "23b872dd", - "id": 8764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8746, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8166:8:16" - }, - "parameters": { - "id": 8745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8740, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8108:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8108:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8742, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8122:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8122:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8744, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8134:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8107:43:16" - }, - "returnParameters": { - "id": 8747, - "nodeType": "ParameterList", - "parameters": [], - "src": "8175:0:16" - }, - "scope": 9254, - "src": "8086:300:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9306 - ], - "body": { - "id": 8781, - "nodeType": "Block", - "src": "8545:56:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8775, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8766, - "src": "8572:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8776, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8768, - "src": "8578:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8770, - "src": "8582:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8591:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 8774, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8782, - 8811 - ], - "referencedDeclaration": 8811, - "src": "8555:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 8779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8780, - "nodeType": "ExpressionStatement", - "src": "8555:39:16" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "42842e0e", - "id": 8782, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8772, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8536:8:16" - }, - "parameters": { - "id": 8771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8766, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8478:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8478:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8768, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8492:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8492:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8770, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8504:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8504:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8477:43:16" - }, - "returnParameters": { - "id": 8773, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:16" - }, - "scope": 9254, - "src": "8452:149:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9356 - ], - "body": { - "id": 8810, - "nodeType": "Block", - "src": "8780:169:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8796, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "8817:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8817:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "8831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8795, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "8798:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8798:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8841:51:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 8794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8790:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8790:103:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8802, - "nodeType": "ExpressionStatement", - "src": "8790:103:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8804, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8784, - "src": "8917:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8805, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8786, - "src": "8923:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8806, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "8927:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8807, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8790, - "src": "8936:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8803, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8839, - "src": "8903:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 8808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8809, - "nodeType": "ExpressionStatement", - "src": "8903:39:16" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "b88d4fde", - "id": 8811, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8792, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8771:8:16" - }, - "parameters": { - "id": 8791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8784, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8693:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8783, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8693:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8786, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8707:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8707:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8788, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8719:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8719:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8790, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8736:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8789, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8736:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8692:63:16" - }, - "returnParameters": { - "id": 8793, - "nodeType": "ParameterList", - "parameters": [], - "src": "8780:0:16" - }, - "scope": 9254, - "src": "8667:282:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8838, - "nodeType": "Block", - "src": "9914:166:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8823, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8813, - "src": "9934:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8824, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8815, - "src": "9940:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8825, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8817, - "src": "9944:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8822, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9924:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9924:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8827, - "nodeType": "ExpressionStatement", - "src": "9924:28:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8830, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8813, - "src": "9993:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8831, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8815, - "src": "9999:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8832, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8817, - "src": "10003:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8833, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8819, - "src": "10012:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8829, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "9970:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 8834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10020:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 8828, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9962:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9962:111:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8837, - "nodeType": "ExpressionStatement", - "src": "9962:111:16" - } - ] - }, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\nimplement alternative mechanisms to perform token transfer, such as signature-based.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "id": 8839, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8813, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9834:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9834:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8815, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9848:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9848:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8817, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9860:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9860:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8819, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9877:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8818, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9877:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9833:63:16" - }, - "returnParameters": { - "id": 8821, - "nodeType": "ParameterList", - "parameters": [], - "src": "9914:0:16" - }, - "scope": 9254, - "src": "9811:269:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8851, - "nodeType": "Block", - "src": "10454:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8848, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8841, - "src": "10493:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8846, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "10471:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 10125, - "src": "10471:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (bool)" - } - }, - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10471:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8845, - "id": 8850, - "nodeType": "Return", - "src": "10464:37:16" - } - ] - }, - "documentation": "@dev Returns whether `tokenId` exists.\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n * Tokens start existing when they are minted (`_mint`),\nand stop existing when they are burned (`_burn`).", - "id": 8852, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8841, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "10400:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10400:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10399:17:16" - }, - "returnParameters": { - "id": 8845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8844, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "10448:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8843, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10448:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10447:6:16" - }, - "scope": 9254, - "src": "10383:125:16", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8892, - "nodeType": "Block", - "src": "10765:252:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8863, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10791:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8862, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "10783:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10783:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10801:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - }, - "value": "ERC721: operator query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - } - ], - "id": 8861, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10775:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10775:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8867, - "nodeType": "ExpressionStatement", - "src": "10775:73:16" - }, - { - "assignments": [ - 8869 - ], - "declarations": [ - { - "constant": false, - "id": 8869, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8892, - "src": "10858:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10858:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8874, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8872, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10889:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8870, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "10874:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "10874:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10858:39:16" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8875, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "10915:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8876, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8869, - "src": "10926:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10915:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8879, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10947:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8878, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8688, - "src": "10935:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8881, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "10959:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10935:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:51:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8886, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8869, - "src": "10994:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8887, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "11001:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8884, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "10970:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8738, - "src": "10970:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10970:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:94:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 8890, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10914:96:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8860, - "id": 8891, - "nodeType": "Return", - "src": "10907:103:16" - } - ] - }, - "documentation": "@dev Returns whether `spender` is allowed to manage `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8893, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8854, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10694:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10694:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8856, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10711:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10711:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10693:34:16" - }, - "returnParameters": { - "id": 8860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8859, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10759:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8858, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10759:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10758:6:16" - }, - "scope": 9254, - "src": "10666:351:16", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8906, - "nodeType": "Block", - "src": "11413:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8901, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8895, - "src": "11433:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8902, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "11437:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11446:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 8900, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8907, - 8935 - ], - "referencedDeclaration": 8935, - "src": "11423:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11423:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8905, - "nodeType": "ExpressionStatement", - "src": "11423:26:16" - } - ] - }, - "documentation": "@dev Safely mints `tokenId` and transfers it to `to`.\n * Requirements:\nd*\n- `tokenId` must not exist.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "id": 8907, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8895, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8907, - "src": "11367:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11367:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8897, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8907, - "src": "11379:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11379:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11366:29:16" - }, - "returnParameters": { - "id": 8899, - "nodeType": "ParameterList", - "parameters": [], - "src": "11413:0:16" - }, - "scope": 9254, - "src": "11348:108:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8934, - "nodeType": "Block", - "src": "11762:162:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8917, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8909, - "src": "11778:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8911, - "src": "11782:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8916, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8993, - "src": "11772:5:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8920, - "nodeType": "ExpressionStatement", - "src": "11772:18:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11831:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11831:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8927, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8909, - "src": "11843:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8928, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8911, - "src": "11847:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8929, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8913, - "src": "11856:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8922, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "11808:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 8930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11808:54:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11864:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 8921, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11800:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11800:117:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8933, - "nodeType": "ExpressionStatement", - "src": "11800:117:16" - } - ] - }, - "documentation": "@dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\nforwarded in {IERC721Receiver-onERC721Received} to contract recipients.", - "id": 8935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8909, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11696:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11696:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8911, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11708:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8910, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11708:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8913, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11725:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8912, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11725:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11695:49:16" - }, - "returnParameters": { - "id": 8915, - "nodeType": "ParameterList", - "parameters": [], - "src": "11762:0:16" - }, - "scope": 9254, - "src": "11677:247:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8992, - "nodeType": "Block", - "src": "12307:332:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8943, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12325:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12339:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12331:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12331:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "12325:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12343:34:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 8942, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12317:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12317:61:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8951, - "nodeType": "ExpressionStatement", - "src": "12317:61:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12396:17:16", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8954, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12405:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8953, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "12397:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12397:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12415:30:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 8952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12388:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12388:58:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8959, - "nodeType": "ExpressionStatement", - "src": "12388:58:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12486:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12478:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12478:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8965, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12490:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8966, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12494:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8960, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "12457:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12457:45:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8968, - "nodeType": "ExpressionStatement", - "src": "12457:45:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8973, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12535:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8969, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "12513:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8971, - "indexExpression": { - "argumentTypes": null, - "id": 8970, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12527:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12513:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10674, - "src": "12513:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12513:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8975, - "nodeType": "ExpressionStatement", - "src": "12513:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8979, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12571:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8980, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12580:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8976, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "12554:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 10087, - "src": "12554:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12554:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8982, - "nodeType": "ExpressionStatement", - "src": "12554:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12616:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12608:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12608:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12608:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8988, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12620:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8989, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12624:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8983, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "12599:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12599:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8991, - "nodeType": "EmitStatement", - "src": "12594:38:16" - } - ] - }, - "documentation": "@dev Mints `tokenId` and transfers it to `to`.\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n * Requirements:\n * - `tokenId` must not exist.\n- `to` cannot be the zero address.\n * Emits a {Transfer} event.", - "id": 8993, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8937, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8993, - "src": "12261:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8936, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12261:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8939, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8993, - "src": "12273:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12273:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12260:29:16" - }, - "returnParameters": { - "id": 8941, - "nodeType": "ParameterList", - "parameters": [], - "src": "12307:0:16" - }, - "scope": 9254, - "src": "12246:393:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9060, - "nodeType": "Block", - "src": "12905:478:16", - "statements": [ - { - "assignments": [ - 8999 - ], - "declarations": [ - { - "constant": false, - "id": 8999, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9060, - "src": "12915:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12915:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9004, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9002, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "12946:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9000, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "12931:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "12931:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12931:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12915:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9006, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13004:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13019:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13011:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13011:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13011:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9011, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13023:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9005, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "12983:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12983:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9013, - "nodeType": "ExpressionStatement", - "src": "12983:48:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13086:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13078:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13078:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13078:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9019, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13090:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9014, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "13069:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13069:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9021, - "nodeType": "ExpressionStatement", - "src": "13069:29:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9024, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "13154:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9026, - "indexExpression": { - "argumentTypes": null, - "id": 9025, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13165:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13154:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 9023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13148:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 9022, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13148:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13148:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13148:33:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13185:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13148:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9037, - "nodeType": "IfStatement", - "src": "13144:95:16", - "trueBody": { - "id": 9036, - "nodeType": "Block", - "src": "13188:51:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "13202:26:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9031, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "13209:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9033, - "indexExpression": { - "argumentTypes": null, - "id": 9032, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13220:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13209:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9035, - "nodeType": "ExpressionStatement", - "src": "13202:26:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9042, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13277:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9038, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "13249:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9040, - "indexExpression": { - "argumentTypes": null, - "id": 9039, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13263:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10693, - "src": "13249:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13249:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9044, - "nodeType": "ExpressionStatement", - "src": "13249:36:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9048, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13316:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9045, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "13296:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 9047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10106, - "src": "13296:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) returns (bool)" - } - }, - "id": 9049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13296:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9050, - "nodeType": "ExpressionStatement", - "src": "13296:28:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9052, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13349:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13364:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13356:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13356:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13356:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9057, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13368:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9051, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "13340:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13340:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9059, - "nodeType": "EmitStatement", - "src": "13335:41:16" - } - ] - }, - "documentation": "@dev Destroys `tokenId`.\nThe approval is cleared when the token is burned.\n * Requirements:\n * - `tokenId` must exist.\n * Emits a {Transfer} event.", - "id": 9061, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8995, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9061, - "src": "12871:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12871:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12870:17:16" - }, - "returnParameters": { - "id": 8997, - "nodeType": "ParameterList", - "parameters": [], - "src": "12905:0:16" - }, - "scope": 9254, - "src": "12856:527:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9131, - "nodeType": "Block", - "src": "13786:505:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9073, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "13819:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9071, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "13804:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "13804:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13804:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9075, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "13831:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13804:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 9077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13837:43:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 9070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13796:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13796:85:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9079, - "nodeType": "ExpressionStatement", - "src": "13796:85:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9081, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "13917:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13923:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9082, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13923:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13923:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13917:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 9087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13935:38:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 9080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13909:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13909:65:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9089, - "nodeType": "ExpressionStatement", - "src": "13909:65:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9091, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14006:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9092, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14012:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14016:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9090, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "13985:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13985:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9095, - "nodeType": "ExpressionStatement", - "src": "13985:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14103:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14095:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14095:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14095:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9101, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14107:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9096, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "14086:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14086:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9103, - "nodeType": "ExpressionStatement", - "src": "14086:29:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9108, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14153:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9104, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "14126:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9106, - "indexExpression": { - "argumentTypes": null, - "id": 9105, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14140:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14126:19:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9107, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10693, - "src": "14126:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14126:35:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9110, - "nodeType": "ExpressionStatement", - "src": "14126:35:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9115, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14193:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9111, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "14171:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9113, - "indexExpression": { - "argumentTypes": null, - "id": 9112, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14185:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14171:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10674, - "src": "14171:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14171:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9117, - "nodeType": "ExpressionStatement", - "src": "14171:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9121, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14229:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9122, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14238:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 9118, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "14212:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 9120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 10087, - "src": "14212:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 9123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14212:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9124, - "nodeType": "ExpressionStatement", - "src": "14212:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9126, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14266:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9127, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14272:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9128, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14276:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9125, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "14257:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9130, - "nodeType": "EmitStatement", - "src": "14252:32:16" - } - ] - }, - "documentation": "@dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n * Requirements:\n * - `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n * Emits a {Transfer} event.", - "id": 9132, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9063, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13726:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13726:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9065, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13740:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13740:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9067, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13752:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13752:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13725:43:16" - }, - "returnParameters": { - "id": 9069, - "nodeType": "ParameterList", - "parameters": [], - "src": "13786:0:16" - }, - "scope": 9254, - "src": "13707:584:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9152, - "nodeType": "Block", - "src": "14519:131:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9141, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9134, - "src": "14545:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9140, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "14537:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 9142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14537:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 9143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14555:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - }, - "value": "ERC721Metadata: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - } - ], - "id": 9139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14529:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14529:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9145, - "nodeType": "ExpressionStatement", - "src": "14529:73:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 9150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9146, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "14612:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9148, - "indexExpression": { - "argumentTypes": null, - "id": 9147, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9134, - "src": "14623:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14612:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9149, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9136, - "src": "14634:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14612:31:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 9151, - "nodeType": "ExpressionStatement", - "src": "14612:31:16" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 9153, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9134, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "14460:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14460:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9136, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "14477:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9135, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14477:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14459:42:16" - }, - "returnParameters": { - "id": 9138, - "nodeType": "ParameterList", - "parameters": [], - "src": "14519:0:16" - }, - "scope": 9254, - "src": "14438:212:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9162, - "nodeType": "Block", - "src": "14935:36:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9158, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8408, - "src": "14945:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9159, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9155, - "src": "14956:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14945:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 9161, - "nodeType": "ExpressionStatement", - "src": "14945:19:16" - } - ] - }, - "documentation": "@dev Internal function to set the base URI for all token IDs. It is\nautomatically added as a prefix to the value returned in {tokenURI},\nor to the token ID if {tokenURI} is empty.", - "id": 9163, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9155, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9163, - "src": "14894:22:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14894:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14893:24:16" - }, - "returnParameters": { - "id": 9157, - "nodeType": "ParameterList", - "parameters": [], - "src": "14935:0:16" - }, - "scope": 9254, - "src": "14873:98:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9219, - "nodeType": "Block", - "src": "15654:459:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15668:16:16", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9176, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15669:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 9441, - "src": "15669:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15669:15:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9183, - "nodeType": "IfStatement", - "src": "15664:58:16", - "trueBody": { - "id": 9182, - "nodeType": "Block", - "src": "15686:36:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15707:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9175, - "id": 9181, - "nodeType": "Return", - "src": "15700:11:16" - } - ] - } - }, - { - "assignments": [ - 9185 - ], - "declarations": [ - { - "constant": false, - "id": 9185, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "15731:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15731:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9203, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9191, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15825:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9190, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "15809:15:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$9423_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15809:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$9423", - "typeString": "contract IERC721Receiver" - } - }, - "id": 9193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "15809:36:16", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 9194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15809:45:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9195, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "15868:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 9196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15868:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9197, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9165, - "src": "15894:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9198, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9169, - "src": "15912:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9199, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9171, - "src": "15933:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9188, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15773:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15773:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 9200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:175:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 9201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15950:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 9186, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15757:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "functionCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 9509, - "src": "15757:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_address_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:246:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15731:272:16" - }, - { - "assignments": [ - 9205 - ], - "declarations": [ - { - "constant": false, - "id": 9205, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "16013:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9204, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16013:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9213, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9208, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9185, - "src": "16040:10:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16053:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 9209, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16053:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 9211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16052:8:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - } - ], - "expression": { - "argumentTypes": null, - "id": 9206, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16029:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16029:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 9212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16029:32:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16013:48:16" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 9216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9214, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9205, - "src": "16079:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9215, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "16089:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "16079:26:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 9217, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16078:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9175, - "id": 9218, - "nodeType": "Return", - "src": "16071:35:16" - } - ] - }, - "documentation": "@dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\nThe call is not executed if the target address is not a contract.\n * @param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return bool whether the call correctly returned the expected magic value", - "id": 9220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9165, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15556:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15556:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9167, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15570:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15570:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9169, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15582:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15582:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9171, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15599:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15599:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15555:63:16" - }, - "returnParameters": { - "id": 9175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9174, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15644:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9173, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15644:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15643:6:16" - }, - "scope": 9254, - "src": "15524:589:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9242, - "nodeType": "Block", - "src": "16289:125:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9227, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "16299:15:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 9229, - "indexExpression": { - "argumentTypes": null, - "id": 9228, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16315:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16299:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9230, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9222, - "src": "16326:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16299:29:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9232, - "nodeType": "ExpressionStatement", - "src": "16299:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9236, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16367:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9234, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "16352:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "16352:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9238, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9222, - "src": "16377:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9239, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16381:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9233, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "16343:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16343:46:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9241, - "nodeType": "EmitStatement", - "src": "16338:51:16" - } - ] - }, - "documentation": "@dev Approve `to` to operate on `tokenId`\n * Emits an {Approval} event.", - "id": 9243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9222, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9243, - "src": "16243:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16243:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9224, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9243, - "src": "16255:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16255:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16242:29:16" - }, - "returnParameters": { - "id": 9226, - "nodeType": "ParameterList", - "parameters": [], - "src": "16289:0:16" - }, - "scope": 9254, - "src": "16225:189:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9252, - "nodeType": "Block", - "src": "17100:3:16", - "statements": [] - }, - "documentation": "@dev Hook that is called before any token transfer. This includes minting\nand burning.\n * Calling conditions:\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\ntransferred to `to`.\n- When `from` is zero, `tokenId` will be minted for `to`.\n- When `to` is zero, ``from``'s `tokenId` will be burned.\n- `from` cannot be the zero address.\n- `to` cannot be the zero address.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].", - "id": 9253, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9245, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17040:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17040:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9247, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17054:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9249, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17066:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17066:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17039:43:16" - }, - "returnParameters": { - "id": 9251, - "nodeType": "ParameterList", - "parameters": [], - "src": "17100:0:16" - }, - "scope": 9254, - "src": "17010:93:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9255, - "src": "571:16534:16" - } - ], - "src": "33:17073:16" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "exportedSymbols": { - "ERC721": [ - 9254 - ] - }, - "id": 9255, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8343, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:16" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "../../utils/Context.sol", - "id": 8344, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9732, - "src": "66:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 8345, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9358, - "src": "100:23:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "file": "./IERC721Metadata.sol", - "id": 8346, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9408, - "src": "124:31:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "file": "./IERC721Enumerable.sol", - "id": 8347, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9385, - "src": "156:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "file": "./IERC721Receiver.sol", - "id": 8348, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9424, - "src": "190:31:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/ERC165.sol", - "file": "../../introspection/ERC165.sol", - "id": 8349, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 7438, - "src": "222:40:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 8350, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 7789, - "src": "263:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 8351, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 9709, - "src": "297:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "file": "../../utils/EnumerableSet.sol", - "id": 8352, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10746, - "src": "331:39:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "file": "../../utils/EnumerableMap.sol", - "id": 8353, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10275, - "src": "371:39:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "file": "../../utils/Strings.sol", - "id": 8354, - "nodeType": "ImportDirective", - "scope": 9255, - "sourceUnit": 10914, - "src": "411:33:16", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8355, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "590:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 8356, - "nodeType": "InheritanceSpecifier", - "src": "590:7:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8357, - "name": "ERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7437, - "src": "599:6:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC165_$7437", - "typeString": "contract ERC165" - } - }, - "id": 8358, - "nodeType": "InheritanceSpecifier", - "src": "599:6:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8359, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "607:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 8360, - "nodeType": "InheritanceSpecifier", - "src": "607:7:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8361, - "name": "IERC721Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9407, - "src": "616:15:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Metadata_$9407", - "typeString": "contract IERC721Metadata" - } - }, - "id": 8362, - "nodeType": "InheritanceSpecifier", - "src": "616:15:16" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 8363, - "name": "IERC721Enumerable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9384, - "src": "633:17:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Enumerable_$9384", - "typeString": "contract IERC721Enumerable" - } - }, - "id": 8364, - "nodeType": "InheritanceSpecifier", - "src": "633:17:16" - } - ], - "contractDependencies": [ - 7437, - 7447, - 9357, - 9384, - 9407, - 9731 - ], - "contractKind": "contract", - "documentation": "@title ERC721 Non-Fungible Token Standard basic implementation\n@dev see https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": true, - "id": 9254, - "linearizedBaseContracts": [ - 9254, - 9384, - 9407, - 9357, - 7437, - 7447, - 9731 - ], - "name": "ERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 8367, - "libraryName": { - "contractScope": null, - "id": 8365, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7788, - "src": "663:8:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$7788", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "657:27:16", - "typeName": { - "id": 8366, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 8370, - "libraryName": { - "contractScope": null, - "id": 8368, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9708, - "src": "695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$9708", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "689:26:16", - "typeName": { - "id": 8369, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "707:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "id": 8373, - "libraryName": { - "contractScope": null, - "id": 8371, - "name": "EnumerableSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10745, - "src": "726:13:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableSet_$10745", - "typeString": "library EnumerableSet" - } - }, - "nodeType": "UsingForDirective", - "src": "720:46:16", - "typeName": { - "contractScope": null, - "id": 8372, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "744:21:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - { - "id": 8376, - "libraryName": { - "contractScope": null, - "id": 8374, - "name": "EnumerableMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10274, - "src": "777:13:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_EnumerableMap_$10274", - "typeString": "library EnumerableMap" - } - }, - "nodeType": "UsingForDirective", - "src": "771:55:16", - "typeName": { - "contractScope": null, - "id": 8375, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "795:30:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - } - }, - { - "id": 8379, - "libraryName": { - "contractScope": null, - "id": 8377, - "name": "Strings", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10913, - "src": "837:7:16", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Strings_$10913", - "typeString": "library Strings" - } - }, - "nodeType": "UsingForDirective", - "src": "831:26:16", - "typeName": { - "id": 8378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": true, - "id": 8382, - "name": "_ERC721_RECEIVED", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1035:53:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8380, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1035:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783135306237613032", - "id": 8381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1078:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_353073666_by_1", - "typeString": "int_const 353073666" - }, - "value": "0x150b7a02" - }, - "visibility": "private" - }, - { - "constant": false, - "id": 8386, - "name": "_holderTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1172:64:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "typeName": { - "id": 8385, - "keyType": { - "id": 8383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1181:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1172:42:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet)" - }, - "valueType": { - "contractScope": null, - "id": 8384, - "name": "EnumerableSet.UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "1192:21:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8388, - "name": "_tokenOwners", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1300:51:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 8387, - "name": "EnumerableMap.UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "1300:30:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8392, - "name": "_tokenApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1407:52:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 8391, - "keyType": { - "id": 8389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1416:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1407:28:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 8390, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1427:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8398, - "name": "_operatorApprovals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1514:73:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 8397, - "keyType": { - "id": 8393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1523:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1514:46:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 8396, - "keyType": { - "id": 8394, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1543:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1534:25:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 8395, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1554:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8400, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1612:20:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8399, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1612:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8402, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1659:22:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8401, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1659:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8406, - "name": "_tokenURIs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1727:46:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 8405, - "keyType": { - "id": 8403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1736:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1727:27:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 8404, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1747:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 8408, - "name": "_baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "1796:23:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 8407, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1796:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": true, - "id": 8411, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "2695:57:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8409, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2695:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783830616335386364", - "id": 8410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2742:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2158778573_by_1", - "typeString": "int_const 2158778573" - }, - "value": "0x80ac58cd" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8414, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "3018:66:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8412, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3018:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783562356531333966", - "id": 8413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3074:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1532892063_by_1", - "typeString": "int_const 1532892063" - }, - "value": "0x5b5e139f" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 8417, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9254, - "src": "3389:68:16", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 8415, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3389:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783738306539643633", - "id": 8416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3447:10:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2014223715_by_1", - "typeString": "int_const 2014223715" - }, - "value": "0x780e9d63" - }, - "visibility": "private" - }, - { - "body": { - "id": 8444, - "nodeType": "Block", - "src": "3641:305:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8424, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8400, - "src": "3651:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8425, - "name": "name_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8419, - "src": "3659:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3651:13:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8427, - "nodeType": "ExpressionStatement", - "src": "3651:13:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8428, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8402, - "src": "3674:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8429, - "name": "symbol_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8421, - "src": "3684:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "3674:17:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8431, - "nodeType": "ExpressionStatement", - "src": "3674:17:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8433, - "name": "_INTERFACE_ID_ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8411, - "src": "3798:20:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8432, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3779:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3779:40:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8435, - "nodeType": "ExpressionStatement", - "src": "3779:40:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8437, - "name": "_INTERFACE_ID_ERC721_METADATA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8414, - "src": "3848:29:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8436, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3829:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3829:49:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8439, - "nodeType": "ExpressionStatement", - "src": "3829:49:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8441, - "name": "_INTERFACE_ID_ERC721_ENUMERABLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8417, - "src": "3907:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 8440, - "name": "_registerInterface", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7436, - "src": "3888:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes4_$returns$__$", - "typeString": "function (bytes4)" - } - }, - "id": 8442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3888:51:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8443, - "nodeType": "ExpressionStatement", - "src": "3888:51:16" - } - ] - }, - "documentation": "@dev Initializes the contract by setting a `name` and a `symbol` to the token collection.", - "id": 8445, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8422, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8419, - "name": "name_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8445, - "src": "3590:19:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8418, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3590:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8421, - "name": "symbol_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8445, - "src": "3611:21:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8420, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3611:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:44:16" - }, - "returnParameters": { - "id": 8423, - "nodeType": "ParameterList", - "parameters": [], - "src": "3641:0:16" - }, - "scope": 9254, - "src": "3577:369:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 9290 - ], - "body": { - "id": 8469, - "nodeType": "Block", - "src": "4086:137:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8454, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8447, - "src": "4104:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4121:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8455, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4113:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4113:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4104:19:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65726f2061646472657373", - "id": 8460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:44:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - }, - "value": "ERC721: balance query for the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "typeString": "literal_string \"ERC721: balance query for the zero address\"" - } - ], - "id": 8453, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4096:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:74:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8462, - "nodeType": "ExpressionStatement", - "src": "4096:74:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8463, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "4187:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8465, - "indexExpression": { - "argumentTypes": null, - "id": 8464, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8447, - "src": "4201:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4187:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8466, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10725, - "src": "4187:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10655_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer) view returns (uint256)" - } - }, - "id": 8467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4187:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8452, - "id": 8468, - "nodeType": "Return", - "src": "4180:36:16" - } - ] - }, - "documentation": "@dev See {IERC721-balanceOf}.", - "functionSelector": "70a08231", - "id": 8470, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8449, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4059:8:16" - }, - "parameters": { - "id": 8448, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8447, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8470, - "src": "4024:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8446, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4024:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4023:15:16" - }, - "returnParameters": { - "id": 8452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8451, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8470, - "src": "4077:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4077:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4076:9:16" - }, - "scope": 9254, - "src": "4005:218:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9297 - ], - "body": { - "id": 8484, - "nodeType": "Block", - "src": "4361:94:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8480, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8472, - "src": "4395:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8481, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4404:43:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - }, - "value": "ERC721: owner query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "typeString": "literal_string \"ERC721: owner query for nonexistent token\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 8478, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "4378:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8479, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "get", - "nodeType": "MemberAccess", - "referencedDeclaration": 10273, - "src": "4378:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_string_memory_ptr_$returns$_t_address_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,string memory) view returns (address)" - } - }, - "id": 8482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4378:70:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8477, - "id": 8483, - "nodeType": "Return", - "src": "4371:77:16" - } - ] - }, - "documentation": "@dev See {IERC721-ownerOf}.", - "functionSelector": "6352211e", - "id": 8485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8474, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4334:8:16" - }, - "parameters": { - "id": 8473, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8472, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "4297:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4297:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:17:16" - }, - "returnParameters": { - "id": 8477, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8476, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8485, - "src": "4352:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4352:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4351:9:16" - }, - "scope": 9254, - "src": "4280:175:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9394 - ], - "body": { - "id": 8493, - "nodeType": "Block", - "src": "4586:29:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8491, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8400, - "src": "4603:5:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8490, - "id": 8492, - "nodeType": "Return", - "src": "4596:12:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-name}.", - "functionSelector": "06fdde03", - "id": 8494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8487, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4553:8:16" - }, - "parameters": { - "id": 8486, - "nodeType": "ParameterList", - "parameters": [], - "src": "4530:2:16" - }, - "returnParameters": { - "id": 8490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8489, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8494, - "src": "4571:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8488, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4571:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4570:15:16" - }, - "scope": 9254, - "src": "4517:98:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9399 - ], - "body": { - "id": 8502, - "nodeType": "Block", - "src": "4750:31:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8500, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8402, - "src": "4767:7:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8499, - "id": 8501, - "nodeType": "Return", - "src": "4760:14:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-symbol}.", - "functionSelector": "95d89b41", - "id": 8503, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8496, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4717:8:16" - }, - "parameters": { - "id": 8495, - "nodeType": "ParameterList", - "parameters": [], - "src": "4694:2:16" - }, - "returnParameters": { - "id": 8499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8498, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8503, - "src": "4735:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8497, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4735:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4734:15:16" - }, - "scope": 9254, - "src": "4679:102:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9406 - ], - "body": { - "id": 8569, - "nodeType": "Block", - "src": "4935:688:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8513, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "4961:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8512, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "4953:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4953:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4971:49:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - }, - "value": "ERC721Metadata: URI query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "typeString": "literal_string \"ERC721Metadata: URI query for nonexistent token\"" - } - ], - "id": 8511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4945:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4945:76:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8517, - "nodeType": "ExpressionStatement", - "src": "4945:76:16" - }, - { - "assignments": [ - 8519 - ], - "declarations": [ - { - "constant": false, - "id": 8519, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8569, - "src": "5032:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8518, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5032:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8523, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8520, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "5058:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 8522, - "indexExpression": { - "argumentTypes": null, - "id": 8521, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "5069:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5058:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5032:45:16" - }, - { - "assignments": [ - 8525 - ], - "declarations": [ - { - "constant": false, - "id": 8525, - "name": "base", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8569, - "src": "5087:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8524, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5087:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8528, - "initialValue": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8526, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8578, - "src": "5108:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 8527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5108:9:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5087:30:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8531, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5196:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5190:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8529, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5190:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5190:11:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5190:18:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5212:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5190:23:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8539, - "nodeType": "IfStatement", - "src": "5186:70:16", - "trueBody": { - "id": 8538, - "nodeType": "Block", - "src": "5215:41:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8536, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5236:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8537, - "nodeType": "Return", - "src": "5229:16:16" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8542, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5364:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5358:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 8540, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5358:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5358:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 8544, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:23:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5384:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5358:27:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 8557, - "nodeType": "IfStatement", - "src": "5354:106:16", - "trueBody": { - "id": 8556, - "nodeType": "Block", - "src": "5387:73:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8551, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5432:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8552, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8519, - "src": "5438:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 8549, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5415:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5415:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5415:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5408:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8547, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5408:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5408:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8555, - "nodeType": "Return", - "src": "5401:48:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8562, - "name": "base", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8525, - "src": "5590:4:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8563, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8505, - "src": "5596:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "toString", - "nodeType": "MemberAccess", - "referencedDeclaration": 10912, - "src": "5596:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_uint256_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 8565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5596:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 8560, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "5573:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 8561, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5573:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 8566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5573:42:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5566:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 8558, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5566:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5566:50:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 8510, - "id": 8568, - "nodeType": "Return", - "src": "5559:57:16" - } - ] - }, - "documentation": "@dev See {IERC721Metadata-tokenURI}.", - "functionSelector": "c87b56dd", - "id": 8570, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8507, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "4902:8:16" - }, - "parameters": { - "id": 8506, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8505, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "4865:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8504, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4865:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4864:17:16" - }, - "returnParameters": { - "id": 8510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8509, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8570, - "src": "4920:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4920:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4919:15:16" - }, - "scope": 9254, - "src": "4847:776:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8577, - "nodeType": "Block", - "src": "5918:32:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8575, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8408, - "src": "5935:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 8574, - "id": 8576, - "nodeType": "Return", - "src": "5928:15:16" - } - ] - }, - "documentation": "@dev Returns the base URI set via {_setBaseURI}. This will be\nautomatically added as a prefix in {tokenURI} to each token's URI, or\nto the token ID if no specific URI is set for that token ID.", - "functionSelector": "6c0360eb", - "id": 8578, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "baseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8571, - "nodeType": "ParameterList", - "parameters": [], - "src": "5871:2:16" - }, - "returnParameters": { - "id": 8574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8573, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8578, - "src": "5903:13:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5903:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5902:15:16" - }, - "scope": 9254, - "src": "5855:95:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9376 - ], - "body": { - "id": 8595, - "nodeType": "Block", - "src": "6135:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8592, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8582, - "src": "6176:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8588, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "6152:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8590, - "indexExpression": { - "argumentTypes": null, - "id": 8589, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8580, - "src": "6166:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6152:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8591, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10744, - "src": "6152:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) view returns (uint256)" - } - }, - "id": 8593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6152:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8587, - "id": 8594, - "nodeType": "Return", - "src": "6145:37:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenOfOwnerByIndex}.", - "functionSelector": "2f745c59", - "id": 8596, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8584, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6108:8:16" - }, - "parameters": { - "id": 8583, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8580, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6058:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8579, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6058:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8582, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6073:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6073:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6057:30:16" - }, - "returnParameters": { - "id": 8587, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8586, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8596, - "src": "6126:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6126:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6125:9:16" - }, - "scope": 9254, - "src": "6029:160:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9367 - ], - "body": { - "id": 8606, - "nodeType": "Block", - "src": "6330:138:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 8602, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "6440:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": 10138, - "src": "6440:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer) view returns (uint256)" - } - }, - "id": 8604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6440:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8601, - "id": 8605, - "nodeType": "Return", - "src": "6433:28:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-totalSupply}.", - "functionSelector": "18160ddd", - "id": 8607, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8598, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6303:8:16" - }, - "parameters": { - "id": 8597, - "nodeType": "ParameterList", - "parameters": [], - "src": "6280:2:16" - }, - "returnParameters": { - "id": 8601, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8600, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8607, - "src": "6321:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6321:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6320:9:16" - }, - "scope": 9254, - "src": "6260:208:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9383 - ], - "body": { - "id": 8624, - "nodeType": "Block", - "src": "6624:85:16", - "statements": [ - { - "assignments": [ - 8616, - null - ], - "declarations": [ - { - "constant": false, - "id": 8616, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8624, - "src": "6635:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8615, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6635:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 8621, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8619, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8609, - "src": "6672:5:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8617, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "6656:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "at", - "nodeType": "MemberAccess", - "referencedDeclaration": 10176, - "src": "6656:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_uint256_$_t_address_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (uint256,address)" - } - }, - "id": 8620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6656:22:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_$", - "typeString": "tuple(uint256,address)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6634:44:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8622, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8616, - "src": "6695:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 8614, - "id": 8623, - "nodeType": "Return", - "src": "6688:14:16" - } - ] - }, - "documentation": "@dev See {IERC721Enumerable-tokenByIndex}.", - "functionSelector": "4f6ccce7", - "id": 8625, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8611, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6597:8:16" - }, - "parameters": { - "id": 8610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8609, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8625, - "src": "6562:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8608, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6562:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6561:15:16" - }, - "returnParameters": { - "id": 8614, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8613, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8625, - "src": "6615:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8612, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6614:9:16" - }, - "scope": 9254, - "src": "6540:169:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9322 - ], - "body": { - "id": 8667, - "nodeType": "Block", - "src": "6836:325:16", - "statements": [ - { - "assignments": [ - 8634 - ], - "declarations": [ - { - "constant": false, - "id": 8634, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8667, - "src": "6846:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6846:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8639, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8637, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8629, - "src": "6877:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8635, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "6862:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "6862:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6862:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6846:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8641, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8627, - "src": "6903:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 8642, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "6909:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6903:11:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e6572", - "id": 8644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6916:35:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - }, - "value": "ERC721: approval to current owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", - "typeString": "literal_string \"ERC721: approval to current owner\"" - } - ], - "id": 8640, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6895:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6895:57:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8646, - "nodeType": "ExpressionStatement", - "src": "6895:57:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8648, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "6971:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6971:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8650, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "6987:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "6971:21:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8654, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8634, - "src": "7020:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8655, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7027:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7027:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 8652, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "6996:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8738, - "src": "6996:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6996:44:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6971:69:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c", - "id": 8659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7054:58:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - }, - "value": "ERC721: approve caller is not owner nor approved for all" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", - "typeString": "literal_string \"ERC721: approve caller is not owner nor approved for all\"" - } - ], - "id": 8647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6963:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6963:159:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8661, - "nodeType": "ExpressionStatement", - "src": "6963:159:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8663, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8627, - "src": "7142:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8664, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8629, - "src": "7146:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8662, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "7133:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8665, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7133:21:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8666, - "nodeType": "ExpressionStatement", - "src": "7133:21:16" - } - ] - }, - "documentation": "@dev See {IERC721-approve}.", - "functionSelector": "095ea7b3", - "id": 8668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8631, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "6827:8:16" - }, - "parameters": { - "id": 8630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8627, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "6783:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8626, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6783:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8629, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8668, - "src": "6795:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6795:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6782:29:16" - }, - "returnParameters": { - "id": 8632, - "nodeType": "ParameterList", - "parameters": [], - "src": "6836:0:16" - }, - "scope": 9254, - "src": "6766:395:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9329 - ], - "body": { - "id": 8687, - "nodeType": "Block", - "src": "7307:132:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8678, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8670, - "src": "7333:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8677, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "7325:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7343:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - }, - "value": "ERC721: approved query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "typeString": "literal_string \"ERC721: approved query for nonexistent token\"" - } - ], - "id": 8676, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7317:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7317:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8682, - "nodeType": "ExpressionStatement", - "src": "7317:73:16" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8683, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "7408:15:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 8685, - "indexExpression": { - "argumentTypes": null, - "id": 8684, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8670, - "src": "7424:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7408:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "functionReturnParameters": 8675, - "id": 8686, - "nodeType": "Return", - "src": "7401:31:16" - } - ] - }, - "documentation": "@dev See {IERC721-getApproved}.", - "functionSelector": "081812fc", - "id": 8688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8672, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7280:8:16" - }, - "parameters": { - "id": 8671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8670, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8688, - "src": "7243:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7243:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7242:17:16" - }, - "returnParameters": { - "id": 8675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8674, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8688, - "src": "7298:7:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8673, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7298:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7297:9:16" - }, - "scope": 9254, - "src": "7222:217:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9336 - ], - "body": { - "id": 8720, - "nodeType": "Block", - "src": "7590:206:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8697, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7608:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8698, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7620:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7620:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7608:24:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "id": 8701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7634:27:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - }, - "value": "ERC721: approve to caller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "typeString": "literal_string \"ERC721: approve to caller\"" - } - ], - "id": 8696, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7600:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7600:62:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8703, - "nodeType": "ExpressionStatement", - "src": "7600:62:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 8711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8704, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "7673:18:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8708, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8705, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7692:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7692:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7673:32:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8709, - "indexExpression": { - "argumentTypes": null, - "id": 8707, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7706:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7673:42:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8710, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "7718:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "7673:53:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8712, - "nodeType": "ExpressionStatement", - "src": "7673:53:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8714, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "7756:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7756:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8716, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8690, - "src": "7770:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8717, - "name": "approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8692, - "src": "7780:8:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 8713, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9283, - "src": "7741:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 8718, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7741:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8719, - "nodeType": "EmitStatement", - "src": "7736:53:16" - } - ] - }, - "documentation": "@dev See {IERC721-setApprovalForAll}.", - "functionSelector": "a22cb465", - "id": 8721, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8694, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7581:8:16" - }, - "parameters": { - "id": 8693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8690, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8721, - "src": "7533:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7533:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8692, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8721, - "src": "7551:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7551:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7532:33:16" - }, - "returnParameters": { - "id": 8695, - "nodeType": "ParameterList", - "parameters": [], - "src": "7590:0:16" - }, - "scope": 9254, - "src": "7506:290:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9345 - ], - "body": { - "id": 8737, - "nodeType": "Block", - "src": "7965:59:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8731, - "name": "_operatorApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8398, - "src": "7982:18:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 8733, - "indexExpression": { - "argumentTypes": null, - "id": 8732, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8723, - "src": "8001:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:25:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 8735, - "indexExpression": { - "argumentTypes": null, - "id": 8734, - "name": "operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8725, - "src": "8008:8:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7982:35:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8730, - "id": 8736, - "nodeType": "Return", - "src": "7975:42:16" - } - ] - }, - "documentation": "@dev See {IERC721-isApprovedForAll}.", - "functionSelector": "e985e9c5", - "id": 8738, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8727, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "7941:8:16" - }, - "parameters": { - "id": 8726, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8723, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7888:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8722, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7888:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8725, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7903:16:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8724, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7903:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7887:33:16" - }, - "returnParameters": { - "id": 8730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8729, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8738, - "src": "7959:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8728, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7959:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7958:6:16" - }, - "scope": 9254, - "src": "7862:162:16", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9315 - ], - "body": { - "id": 8763, - "nodeType": "Block", - "src": "8175:211:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8750, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "8264:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8264:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8752, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8744, - "src": "8278:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8749, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "8245:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8245:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8288:51:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 8748, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8237:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8237:103:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8756, - "nodeType": "ExpressionStatement", - "src": "8237:103:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8758, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8740, - "src": "8361:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8759, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8742, - "src": "8367:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8760, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8744, - "src": "8371:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8757, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "8351:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8351:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8762, - "nodeType": "ExpressionStatement", - "src": "8351:28:16" - } - ] - }, - "documentation": "@dev See {IERC721-transferFrom}.", - "functionSelector": "23b872dd", - "id": 8764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8746, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8166:8:16" - }, - "parameters": { - "id": 8745, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8740, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8108:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8739, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8108:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8742, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8122:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8741, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8122:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8744, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8764, - "src": "8134:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8134:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8107:43:16" - }, - "returnParameters": { - "id": 8747, - "nodeType": "ParameterList", - "parameters": [], - "src": "8175:0:16" - }, - "scope": 9254, - "src": "8086:300:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9306 - ], - "body": { - "id": 8781, - "nodeType": "Block", - "src": "8545:56:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8775, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8766, - "src": "8572:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8776, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8768, - "src": "8578:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8777, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8770, - "src": "8582:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8591:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 8774, - "name": "safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8782, - 8811 - ], - "referencedDeclaration": 8811, - "src": "8555:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 8779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8555:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8780, - "nodeType": "ExpressionStatement", - "src": "8555:39:16" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "42842e0e", - "id": 8782, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8772, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8536:8:16" - }, - "parameters": { - "id": 8771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8766, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8478:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8765, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8478:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8768, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8492:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8767, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8492:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8770, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8782, - "src": "8504:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8769, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8504:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8477:43:16" - }, - "returnParameters": { - "id": 8773, - "nodeType": "ParameterList", - "parameters": [], - "src": "8545:0:16" - }, - "scope": 9254, - "src": "8452:149:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "baseFunctions": [ - 9356 - ], - "body": { - "id": 8810, - "nodeType": "Block", - "src": "8780:169:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 8796, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "8817:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 8797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8817:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8798, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "8831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8795, - "name": "_isApprovedOrOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8893, - "src": "8798:18:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) view returns (bool)" - } - }, - "id": 8799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8798:41:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 8800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8841:51:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - }, - "value": "ERC721: transfer caller is not owner nor approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", - "typeString": "literal_string \"ERC721: transfer caller is not owner nor approved\"" - } - ], - "id": 8794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8790:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8790:103:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8802, - "nodeType": "ExpressionStatement", - "src": "8790:103:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8804, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8784, - "src": "8917:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8805, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8786, - "src": "8923:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8806, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8788, - "src": "8927:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8807, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8790, - "src": "8936:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8803, - "name": "_safeTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8839, - "src": "8903:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,bytes memory)" - } - }, - "id": 8808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8903:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8809, - "nodeType": "ExpressionStatement", - "src": "8903:39:16" - } - ] - }, - "documentation": "@dev See {IERC721-safeTransferFrom}.", - "functionSelector": "b88d4fde", - "id": 8811, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 8792, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "8771:8:16" - }, - "parameters": { - "id": 8791, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8784, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8693:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8783, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8693:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8786, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8707:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8785, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8707:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8788, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8719:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8719:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8790, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8811, - "src": "8736:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8789, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "8736:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8692:63:16" - }, - "returnParameters": { - "id": 8793, - "nodeType": "ParameterList", - "parameters": [], - "src": "8780:0:16" - }, - "scope": 9254, - "src": "8667:282:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 8838, - "nodeType": "Block", - "src": "9914:166:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8823, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8813, - "src": "9934:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8824, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8815, - "src": "9940:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8825, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8817, - "src": "9944:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8822, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9132, - "src": "9924:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9924:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8827, - "nodeType": "ExpressionStatement", - "src": "9924:28:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8830, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8813, - "src": "9993:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8831, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8815, - "src": "9999:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8832, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8817, - "src": "10003:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8833, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8819, - "src": "10012:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8829, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "9970:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 8834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9970:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10020:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 8828, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9962:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9962:111:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8837, - "nodeType": "ExpressionStatement", - "src": "9962:111:16" - } - ] - }, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * `_data` is additional data, it has no specified format and it is sent in call to `to`.\n * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g.\nimplement alternative mechanisms to perform token transfer, such as signature-based.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "id": 8839, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8820, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8813, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9834:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8812, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9834:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8815, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9848:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8814, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9848:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8817, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9860:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9860:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8819, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8839, - "src": "9877:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8818, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "9877:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9833:63:16" - }, - "returnParameters": { - "id": 8821, - "nodeType": "ParameterList", - "parameters": [], - "src": "9914:0:16" - }, - "scope": 9254, - "src": "9811:269:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8851, - "nodeType": "Block", - "src": "10454:54:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8848, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8841, - "src": "10493:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8846, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "10471:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "contains", - "nodeType": "MemberAccess", - "referencedDeclaration": 10125, - "src": "10471:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) view returns (bool)" - } - }, - "id": 8849, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10471:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8845, - "id": 8850, - "nodeType": "Return", - "src": "10464:37:16" - } - ] - }, - "documentation": "@dev Returns whether `tokenId` exists.\n * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.\n * Tokens start existing when they are minted (`_mint`),\nand stop existing when they are burned (`_burn`).", - "id": 8852, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8841, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "10400:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8840, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10400:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10399:17:16" - }, - "returnParameters": { - "id": 8845, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8844, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8852, - "src": "10448:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8843, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10448:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10447:6:16" - }, - "scope": 9254, - "src": "10383:125:16", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8892, - "nodeType": "Block", - "src": "10765:252:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8863, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10791:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8862, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "10783:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10783:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e", - "id": 8865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10801:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - }, - "value": "ERC721: operator query for nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "typeString": "literal_string \"ERC721: operator query for nonexistent token\"" - } - ], - "id": 8861, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10775:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10775:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8867, - "nodeType": "ExpressionStatement", - "src": "10775:73:16" - }, - { - "assignments": [ - 8869 - ], - "declarations": [ - { - "constant": false, - "id": 8869, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8892, - "src": "10858:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8868, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10858:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8874, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8872, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10889:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 8870, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "10874:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "10874:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8873, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10874:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10858:39:16" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8889, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 8883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8875, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "10915:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8876, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8869, - "src": "10926:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10915:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8879, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8856, - "src": "10947:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8878, - "name": "getApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8688, - "src": "10935:11:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 8880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10935:20:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8881, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "10959:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "10935:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:51:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8886, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8869, - "src": "10994:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8887, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8854, - "src": "11001:7:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8884, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "10970:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 8885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isApprovedForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 8738, - "src": "10970:23:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 8888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10970:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "10915:94:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 8890, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "10914:96:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 8860, - "id": 8891, - "nodeType": "Return", - "src": "10907:103:16" - } - ] - }, - "documentation": "@dev Returns whether `spender` is allowed to manage `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 8893, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_isApprovedOrOwner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8857, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8854, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10694:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8853, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10694:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8856, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10711:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10711:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10693:34:16" - }, - "returnParameters": { - "id": 8860, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8859, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8893, - "src": "10759:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8858, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "10759:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10758:6:16" - }, - "scope": 9254, - "src": "10666:351:16", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8906, - "nodeType": "Block", - "src": "11413:43:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8901, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8895, - "src": "11433:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8902, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8897, - "src": "11437:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "", - "id": 8903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11446:2:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - } - ], - "id": 8900, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 8907, - 8935 - ], - "referencedDeclaration": 8935, - "src": "11423:9:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 8904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11423:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8905, - "nodeType": "ExpressionStatement", - "src": "11423:26:16" - } - ] - }, - "documentation": "@dev Safely mints `tokenId` and transfers it to `to`.\n * Requirements:\nd*\n- `tokenId` must not exist.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "id": 8907, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8895, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8907, - "src": "11367:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8894, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11367:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8897, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8907, - "src": "11379:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8896, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11379:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11366:29:16" - }, - "returnParameters": { - "id": 8899, - "nodeType": "ParameterList", - "parameters": [], - "src": "11413:0:16" - }, - "scope": 9254, - "src": "11348:108:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8934, - "nodeType": "Block", - "src": "11762:162:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8917, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8909, - "src": "11778:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8911, - "src": "11782:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8916, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8993, - "src": "11772:5:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11772:18:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8920, - "nodeType": "ExpressionStatement", - "src": "11772:18:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8925, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11839:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8924, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11831:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8923, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11831:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11831:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8927, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8909, - "src": "11843:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8928, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8911, - "src": "11847:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8929, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8913, - "src": "11856:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 8922, - "name": "_checkOnERC721Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9220, - "src": "11808:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 8930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11808:54:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 8931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11864:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "id": 8921, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11800:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11800:117:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8933, - "nodeType": "ExpressionStatement", - "src": "11800:117:16" - } - ] - }, - "documentation": "@dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is\nforwarded in {IERC721Receiver-onERC721Received} to contract recipients.", - "id": 8935, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeMint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8914, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8909, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11696:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8908, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11696:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8911, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11708:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8910, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11708:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8913, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8935, - "src": "11725:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 8912, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "11725:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11695:49:16" - }, - "returnParameters": { - "id": 8915, - "nodeType": "ParameterList", - "parameters": [], - "src": "11762:0:16" - }, - "scope": 9254, - "src": "11677:247:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 8992, - "nodeType": "Block", - "src": "12307:332:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 8948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8943, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12325:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8946, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12339:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8945, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12331:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8944, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12331:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8947, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12331:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "12325:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", - "id": 8949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12343:34:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - }, - "value": "ERC721: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", - "typeString": "literal_string \"ERC721: mint to the zero address\"" - } - ], - "id": 8942, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12317:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12317:61:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8951, - "nodeType": "ExpressionStatement", - "src": "12317:61:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "12396:17:16", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8954, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12405:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8953, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "12397:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 8955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12397:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", - "id": 8957, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12415:30:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - }, - "value": "ERC721: token already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", - "typeString": "literal_string \"ERC721: token already minted\"" - } - ], - "id": 8952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12388:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8958, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12388:58:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8959, - "nodeType": "ExpressionStatement", - "src": "12388:58:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12486:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8962, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12478:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8961, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12478:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12478:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8965, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12490:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8966, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12494:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8960, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "12457:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12457:45:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8968, - "nodeType": "ExpressionStatement", - "src": "12457:45:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8973, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12535:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8969, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "12513:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 8971, - "indexExpression": { - "argumentTypes": null, - "id": 8970, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12527:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12513:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 8972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10674, - "src": "12513:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 8974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12513:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8975, - "nodeType": "ExpressionStatement", - "src": "12513:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8979, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12571:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8980, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12580:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 8976, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "12554:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 8978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 10087, - "src": "12554:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 8981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12554:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8982, - "nodeType": "ExpressionStatement", - "src": "12554:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 8986, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12616:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 8985, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "12608:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 8984, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12608:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 8987, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12608:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8988, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8937, - "src": "12620:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8989, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8939, - "src": "12624:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8983, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "12599:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 8990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12599:33:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8991, - "nodeType": "EmitStatement", - "src": "12594:38:16" - } - ] - }, - "documentation": "@dev Mints `tokenId` and transfers it to `to`.\n * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible\n * Requirements:\n * - `tokenId` must not exist.\n- `to` cannot be the zero address.\n * Emits a {Transfer} event.", - "id": 8993, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8937, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8993, - "src": "12261:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8936, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12261:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8939, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8993, - "src": "12273:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8938, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12273:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12260:29:16" - }, - "returnParameters": { - "id": 8941, - "nodeType": "ParameterList", - "parameters": [], - "src": "12307:0:16" - }, - "scope": 9254, - "src": "12246:393:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9060, - "nodeType": "Block", - "src": "12905:478:16", - "statements": [ - { - "assignments": [ - 8999 - ], - "declarations": [ - { - "constant": false, - "id": 8999, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9060, - "src": "12915:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12915:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9004, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9002, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "12946:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9000, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "12931:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9001, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "12931:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12931:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12915:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9006, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13004:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13019:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9008, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13011:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9007, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13011:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13011:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9011, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13023:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9005, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "12983:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12983:48:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9013, - "nodeType": "ExpressionStatement", - "src": "12983:48:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13086:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9016, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13078:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9015, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13078:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13078:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9019, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13090:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9014, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "13069:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13069:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9021, - "nodeType": "ExpressionStatement", - "src": "13069:29:16" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9030, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9024, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "13154:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9026, - "indexExpression": { - "argumentTypes": null, - "id": 9025, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13165:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13154:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 9023, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13148:5:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 9022, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "13148:5:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13148:26:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - }, - "id": 9028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13148:33:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9029, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13185:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13148:38:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9037, - "nodeType": "IfStatement", - "src": "13144:95:16", - "trueBody": { - "id": 9036, - "nodeType": "Block", - "src": "13188:51:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "13202:26:16", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9031, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "13209:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9033, - "indexExpression": { - "argumentTypes": null, - "id": 9032, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13220:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13209:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9035, - "nodeType": "ExpressionStatement", - "src": "13202:26:16" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9042, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13277:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9038, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "13249:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9040, - "indexExpression": { - "argumentTypes": null, - "id": 9039, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13263:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13249:20:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10693, - "src": "13249:27:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13249:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9044, - "nodeType": "ExpressionStatement", - "src": "13249:36:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9048, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13316:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9045, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "13296:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 9047, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10106, - "src": "13296:19:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256) returns (bool)" - } - }, - "id": 9049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13296:28:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9050, - "nodeType": "ExpressionStatement", - "src": "13296:28:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9052, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8999, - "src": "13349:5:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9055, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13364:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13356:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9053, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13356:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9056, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13356:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9057, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8995, - "src": "13368:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9051, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "13340:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13340:36:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9059, - "nodeType": "EmitStatement", - "src": "13335:41:16" - } - ] - }, - "documentation": "@dev Destroys `tokenId`.\nThe approval is cleared when the token is burned.\n * Requirements:\n * - `tokenId` must exist.\n * Emits a {Transfer} event.", - "id": 9061, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8995, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9061, - "src": "12871:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8994, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12871:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12870:17:16" - }, - "returnParameters": { - "id": 8997, - "nodeType": "ParameterList", - "parameters": [], - "src": "12905:0:16" - }, - "scope": 9254, - "src": "12856:527:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9131, - "nodeType": "Block", - "src": "13786:505:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9076, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9073, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "13819:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9071, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "13804:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "13804:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13804:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9075, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "13831:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "13804:31:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e", - "id": 9077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13837:43:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - }, - "value": "ERC721: transfer of token that is not own" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a01073130a885d6c1c1af6ac75fc3b1c4f9403c235362962bbf528e2bd87d950", - "typeString": "literal_string \"ERC721: transfer of token that is not own\"" - } - ], - "id": 9070, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13796:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13796:85:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9079, - "nodeType": "ExpressionStatement", - "src": "13796:85:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 9086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9081, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "13917:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13931:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "13923:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9082, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13923:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9085, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13923:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13917:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 9087, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13935:38:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - }, - "value": "ERC721: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", - "typeString": "literal_string \"ERC721: transfer to the zero address\"" - } - ], - "id": 9080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13909:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13909:65:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9089, - "nodeType": "ExpressionStatement", - "src": "13909:65:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9091, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14006:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9092, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14012:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9093, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14016:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9090, - "name": "_beforeTokenTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9253, - "src": "13985:20:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13985:39:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9095, - "nodeType": "ExpressionStatement", - "src": "13985:39:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 9099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14103:1:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 9098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "14095:7:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 9097, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "14095:7:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 9100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14095:10:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9101, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14107:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9096, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9243, - "src": "14086:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 9102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14086:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9103, - "nodeType": "ExpressionStatement", - "src": "14086:29:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9108, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14153:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9104, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "14126:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9106, - "indexExpression": { - "argumentTypes": null, - "id": 9105, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14140:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14126:19:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9107, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 10693, - "src": "14126:26:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14126:35:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9110, - "nodeType": "ExpressionStatement", - "src": "14126:35:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9115, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14193:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9111, - "name": "_holderTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8386, - "src": "14171:13:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_UintSet_$10655_storage_$", - "typeString": "mapping(address => struct EnumerableSet.UintSet storage ref)" - } - }, - "id": 9113, - "indexExpression": { - "argumentTypes": null, - "id": 9112, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14185:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14171:17:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage", - "typeString": "struct EnumerableSet.UintSet storage ref" - } - }, - "id": 9114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 10674, - "src": "14171:21:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintSet_$10655_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_UintSet_$10655_storage_ptr_$", - "typeString": "function (struct EnumerableSet.UintSet storage pointer,uint256) returns (bool)" - } - }, - "id": 9116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14171:30:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9117, - "nodeType": "ExpressionStatement", - "src": "14171:30:16" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9121, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14229:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9122, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14238:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 9118, - "name": "_tokenOwners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8388, - "src": "14212:12:16", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage", - "typeString": "struct EnumerableMap.UintToAddressMap storage ref" - } - }, - "id": 9120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "set", - "nodeType": "MemberAccess", - "referencedDeclaration": 10087, - "src": "14212:16:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_UintToAddressMap_$10056_storage_ptr_$_t_uint256_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_UintToAddressMap_$10056_storage_ptr_$", - "typeString": "function (struct EnumerableMap.UintToAddressMap storage pointer,uint256,address) returns (bool)" - } - }, - "id": 9123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14212:29:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 9124, - "nodeType": "ExpressionStatement", - "src": "14212:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9126, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9063, - "src": "14266:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9127, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9065, - "src": "14272:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9128, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9067, - "src": "14276:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9125, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9267, - "src": "14257:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14257:27:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9130, - "nodeType": "EmitStatement", - "src": "14252:32:16" - } - ] - }, - "documentation": "@dev Transfers `tokenId` from `from` to `to`.\n As opposed to {transferFrom}, this imposes no restrictions on msg.sender.\n * Requirements:\n * - `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n * Emits a {Transfer} event.", - "id": 9132, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9068, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9063, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13726:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9062, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13726:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9065, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13740:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9064, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "13740:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9067, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9132, - "src": "13752:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9066, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13752:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13725:43:16" - }, - "returnParameters": { - "id": 9069, - "nodeType": "ParameterList", - "parameters": [], - "src": "13786:0:16" - }, - "scope": 9254, - "src": "13707:584:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9152, - "nodeType": "Block", - "src": "14519:131:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9141, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9134, - "src": "14545:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9140, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8852, - "src": "14537:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 9142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14537:16:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e", - "id": 9143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14555:46:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - }, - "value": "ERC721Metadata: URI set of nonexistent token" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_94be4a260caaeac1b145f03ffa2e70bc612b64982d04f24073aaf3a5f9009978", - "typeString": "literal_string \"ERC721Metadata: URI set of nonexistent token\"" - } - ], - "id": 9139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14529:7:16", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14529:73:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9145, - "nodeType": "ExpressionStatement", - "src": "14529:73:16" - }, - { - "expression": { - "argumentTypes": null, - "id": 9150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9146, - "name": "_tokenURIs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8406, - "src": "14612:10:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 9148, - "indexExpression": { - "argumentTypes": null, - "id": 9147, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9134, - "src": "14623:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14612:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9149, - "name": "_tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9136, - "src": "14634:9:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14612:31:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 9151, - "nodeType": "ExpressionStatement", - "src": "14612:31:16" - } - ] - }, - "documentation": "@dev Sets `_tokenURI` as the tokenURI of `tokenId`.\n * Requirements:\n * - `tokenId` must exist.", - "id": 9153, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9137, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9134, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "14460:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9133, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14460:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9136, - "name": "_tokenURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9153, - "src": "14477:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9135, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14477:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14459:42:16" - }, - "returnParameters": { - "id": 9138, - "nodeType": "ParameterList", - "parameters": [], - "src": "14519:0:16" - }, - "scope": 9254, - "src": "14438:212:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9162, - "nodeType": "Block", - "src": "14935:36:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 9158, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8408, - "src": "14945:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9159, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9155, - "src": "14956:8:16", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "14945:19:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 9161, - "nodeType": "ExpressionStatement", - "src": "14945:19:16" - } - ] - }, - "documentation": "@dev Internal function to set the base URI for all token IDs. It is\nautomatically added as a prefix to the value returned in {tokenURI},\nor to the token ID if {tokenURI} is empty.", - "id": 9163, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9156, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9155, - "name": "baseURI_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9163, - "src": "14894:22:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9154, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "14894:6:16", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14893:24:16" - }, - "returnParameters": { - "id": 9157, - "nodeType": "ParameterList", - "parameters": [], - "src": "14935:0:16" - }, - "scope": 9254, - "src": "14873:98:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9219, - "nodeType": "Block", - "src": "15654:459:16", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 9179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "15668:16:16", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 9176, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15669:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 9441, - "src": "15669:13:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 9178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15669:15:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9183, - "nodeType": "IfStatement", - "src": "15664:58:16", - "trueBody": { - "id": 9182, - "nodeType": "Block", - "src": "15686:36:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15707:4:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9175, - "id": 9181, - "nodeType": "Return", - "src": "15700:11:16" - } - ] - } - }, - { - "assignments": [ - 9185 - ], - "declarations": [ - { - "constant": false, - "id": 9185, - "name": "returndata", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "15731:23:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15731:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9203, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9191, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15825:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 9190, - "name": "IERC721Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9423, - "src": "15809:15:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC721Receiver_$9423_$", - "typeString": "type(contract IERC721Receiver)" - } - }, - "id": 9192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15809:19:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721Receiver_$9423", - "typeString": "contract IERC721Receiver" - } - }, - "id": 9193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC721Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 9422, - "src": "15809:36:16", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 9194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "selector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15809:45:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 9195, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "15868:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 9196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15868:12:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 9197, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9165, - "src": "15894:4:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9198, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9169, - "src": "15912:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 9199, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9171, - "src": "15933:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 9188, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "15773:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9189, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodeWithSelector", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15773:22:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", - "typeString": "function (bytes4) pure returns (bytes memory)" - } - }, - "id": 9200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15773:175:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e746572", - "id": 9201, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15950:52:16", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - }, - "value": "ERC721: transfer to non ERC721Receiver implementer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "typeString": "literal_string \"ERC721: transfer to non ERC721Receiver implementer\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 9186, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9167, - "src": "15757:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "functionCall", - "nodeType": "MemberAccess", - "referencedDeclaration": 9509, - "src": "15757:15:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$bound_to$_t_address_$", - "typeString": "function (address,bytes memory,string memory) returns (bytes memory)" - } - }, - "id": 9202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15757:246:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15731:272:16" - }, - { - "assignments": [ - 9205 - ], - "declarations": [ - { - "constant": false, - "id": 9205, - "name": "retval", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9219, - "src": "16013:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9204, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16013:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9213, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9208, - "name": "returndata", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9185, - "src": "16040:10:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 9210, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "16053:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 9209, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "16053:6:16", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 9211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16052:8:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - } - ], - "expression": { - "argumentTypes": null, - "id": 9206, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "16029:3:16", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 9207, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16029:10:16", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 9212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16029:32:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16013:48:16" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 9216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9214, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9205, - "src": "16079:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 9215, - "name": "_ERC721_RECEIVED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8382, - "src": "16089:16:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "16079:26:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 9217, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16078:28:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9175, - "id": 9218, - "nodeType": "Return", - "src": "16071:35:16" - } - ] - }, - "documentation": "@dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address.\nThe call is not executed if the target address is not a contract.\n * @param from address representing the previous owner of the given token ID\n@param to target address that will receive the tokens\n@param tokenId uint256 ID of the token to be transferred\n@param _data bytes optional data to send along with the call\n@return bool whether the call correctly returned the expected magic value", - "id": 9220, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_checkOnERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9172, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9165, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15556:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9164, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15556:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9167, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15570:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15570:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9169, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15582:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15582:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9171, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15599:18:16", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9170, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "15599:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15555:63:16" - }, - "returnParameters": { - "id": 9175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9174, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9220, - "src": "15644:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9173, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15644:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15643:6:16" - }, - "scope": 9254, - "src": "15524:589:16", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9242, - "nodeType": "Block", - "src": "16289:125:16", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 9227, - "name": "_tokenApprovals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8392, - "src": "16299:15:16", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 9229, - "indexExpression": { - "argumentTypes": null, - "id": 9228, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16315:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "16299:24:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9230, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9222, - "src": "16326:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "16299:29:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 9232, - "nodeType": "ExpressionStatement", - "src": "16299:29:16" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9236, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16367:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 9234, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9254, - "src": "16352:6:16", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$9254_$", - "typeString": "type(contract ERC721)" - } - }, - "id": 9235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8485, - "src": "16352:14:16", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view returns (address)" - } - }, - "id": 9237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16352:23:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9238, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9222, - "src": "16377:2:16", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 9239, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9224, - "src": "16381:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 9233, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9275, - "src": "16343:8:16", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 9240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16343:46:16", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9241, - "nodeType": "EmitStatement", - "src": "16338:51:16" - } - ] - }, - "documentation": "@dev Approve `to` to operate on `tokenId`\n * Emits an {Approval} event.", - "id": 9243, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9225, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9222, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9243, - "src": "16243:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16243:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9224, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9243, - "src": "16255:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16255:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16242:29:16" - }, - "returnParameters": { - "id": 9226, - "nodeType": "ParameterList", - "parameters": [], - "src": "16289:0:16" - }, - "scope": 9254, - "src": "16225:189:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 9252, - "nodeType": "Block", - "src": "17100:3:16", - "statements": [] - }, - "documentation": "@dev Hook that is called before any token transfer. This includes minting\nand burning.\n * Calling conditions:\n * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be\ntransferred to `to`.\n- When `from` is zero, `tokenId` will be minted for `to`.\n- When `to` is zero, ``from``'s `tokenId` will be burned.\n- `from` cannot be the zero address.\n- `to` cannot be the zero address.\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].", - "id": 9253, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9245, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17040:12:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17040:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9247, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17054:10:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9246, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17054:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9249, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9253, - "src": "17066:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17066:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17039:43:16" - }, - "returnParameters": { - "id": 9251, - "nodeType": "ParameterList", - "parameters": [], - "src": "17100:0:16" - }, - "scope": 9254, - "src": "17010:93:16", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 9255, - "src": "571:16534:16" - } - ], - "src": "33:17073:16" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.631Z", - "devdoc": { - "details": "see https://eips.ethereum.org/EIPS/eip-721", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." - }, - "constructor": { - "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "title": "ERC721 Non-Fungible Token Standard basic implementation" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC721Colectibles.json b/build/contracts/ERC721Colectibles.json deleted file mode 100644 index 4ff02d47..00000000 --- a/build/contracts/ERC721Colectibles.json +++ /dev/null @@ -1,17405 +0,0 @@ -{ - "contractName": "ERC721Colectibles", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "limitedAmount", - "type": "uint256" - }, - { - "internalType": "contract ERC20", - "name": "_purchaseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "baseFeeAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "otherAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "openedPacks", - "type": "uint256" - } - ], - "name": "Opening", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "MAX_PURCHASE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_baseFeeAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_baseFeeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_closed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_currentTokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_feeAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_feeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_isLimited", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_limitedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_openedPacks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_otherAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_otherShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_pricePerPack", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_purchaseToken", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "alreadyMinted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDs", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDsArray", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "feeAddress", - "type": "address" - } - ], - "name": "setFeeAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "otherAddress", - "type": "address" - } - ], - "name": "setOtherAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setPricePerPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "purchaseToken", - "type": "address" - } - ], - "name": "setPurchaseTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "feeShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "otherShare", - "type": "uint256" - } - ], - "name": "setShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "name": "setTokenURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenIdToMint", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "openPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getRegisteredIDs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"limitedAmount\",\"type\":\"uint256\"},{\"internalType\":\"contract ERC20\",\"name\":\"_purchaseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseFeeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"openedPacks\",\"type\":\"uint256\"}],\"name\":\"Opening\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_PURCHASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_baseFeeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_baseFeeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_closed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_currentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_feeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_feeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_isLimited\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_limitedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_openedPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_otherAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_otherShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_pricePerPack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_purchaseToken\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"alreadyMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getRegisteredIDs\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenIdToMint\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDsArray\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeAddress\",\"type\":\"address\"}],\"name\":\"setFeeAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"}],\"name\":\"setOtherAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPricePerPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"purchaseToken\",\"type\":\"address\"}],\"name\":\"setPurchaseTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"feeShare\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"otherShare\",\"type\":\"uint256\"}],\"name\":\"setShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":\"ERC721Colectibles\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":{\"keccak256\":\"0xca13d9073b93953cb5c2e880cac04c7468603679a1d75f8692aad9057f3098b4\",\"urls\":[\"bzz-raw://f2b01995565cd4b08581a76277a04ac4848431a4958d351808fb04c5aca0aa38\",\"dweb:/ipfs/QmYywnxuH7K2e7dJvjHg3pr5LFccXvgkdpRpEUD2zk96oP\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040526004805460ff60a01b191690556103e8600555670de0b6b3a76400006007556001600b556063600c556000600d819055600a600e55600f805460ff191690556010553480156200005357600080fd5b506040516200315538038062003155833981810160405260e08110156200007957600080fd5b81019080805160405193929190846401000000008211156200009a57600080fd5b908301906020820185811115620000b057600080fd5b8251640100000000811182820188101715620000cb57600080fd5b82525081516020918201929091019080838360005b83811015620000fa578181015183820152602001620000e0565b50505050905090810190601f168015620001285780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200014c57600080fd5b9083019060208201858111156200016257600080fd5b82516401000000008111828201881017156200017d57600080fd5b82525081516020918201929091019080838360005b83811015620001ac57818101518382015260200162000192565b50505050905090810190601f168015620001da5780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608084015160a09094015160008054336001600160a01b0319918216179091556001805482166001600160a01b03808716919091179091556002805483168286161790556003805483168289161790556004805490921690831617905592955090935091908686858585858a801562000275576004805460ff60a01b1916600160a01b1790555b600655506200029992506301ffc9a760e01b9150506001600160e01b036200032516565b8151620002ae906017906020850190620003aa565b508051620002c4906018906020840190620003aa565b50620002e06380ac58cd60e01b6001600160e01b036200032516565b620002fb635b5e139f60e01b6001600160e01b036200032516565b6200031663780e9d6360e01b6001600160e01b036200032516565b5050505050505050506200044f565b6001600160e01b0319808216141562000385576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152601160205260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003ed57805160ff19168380011785556200041d565b828001600101855582156200041d579182015b828111156200041d57825182559160200191906001019062000400565b506200042b9291506200042f565b5090565b6200044c91905b808211156200042b576000815560010162000436565b90565b612cf6806200045f6000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80636c0360eb11610182578063a69df4b5116100e9578063dd7c5e54116100a2578063f24a9e4e1161007c578063f24a9e4e146109d9578063f2fde38b146109e1578063f4d3698614610a07578063f83d08ba14610a2d576102bb565b8063dd7c5e541461099b578063e985e9c5146109a3578063eb8800d0146109d1576102bb565b8063a69df4b514610883578063b7365f1f1461088b578063b88d4fde146108a8578063c3a9896d1461096e578063c87b56dd14610976578063c963483c14610993576102bb565b80638da5cb5b1161013b5780638da5cb5b146108035780639456b2321461080b57806395d89b411461081357806398bdd8031461081b578063a0712d6814610838578063a22cb46514610855576102bb565b80636c0360eb1461079757806370a082311461079f5780637146bd08146107c5578063759b2b3c146107cd578063790411be146107d55780638705fcd4146107dd576102bb565b80632aca3e7d116102265780634f6ccce7116101df5780634f6ccce71461068a57806350a88c7e146106a757806353facd01146106c457806355f804b3146106cc5780636352211e1461077257806369c7d8a31461078f576102bb565b80632aca3e7d1461056a5780632c6860301461058d5780632f745c59146106035780632f80f7501461062f57806342842e0e146106375780634f558e791461066d576102bb565b8063095ea7b311610278578063095ea7b3146103ff578063162094c41461042d57806318160ddd146104da5780631e14a533146104e257806323b872dd1461050e578063298489d214610544576102bb565b80630119b740146102c05780630135f740146102dc57806301d243a61461030057806301ffc9a71461033e57806306fdde0314610365578063081812fc146103e2575b600080fd5b6102c8610a35565b604080519115158252519081900360200190f35b6102e4610a45565b604080516001600160a01b039092168252519081900360200190f35b61032c6004803603604081101561031657600080fd5b506001600160a01b038135169060200135610a54565b60408051918252519081900360200190f35b6102c86004803603602081101561035457600080fd5b50356001600160e01b031916610a82565b61036d610aa5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103a757818101518382015260200161038f565b50505050905090810190601f1680156103d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e4600480360360208110156103f857600080fd5b5035610b3c565b61042b6004803603604081101561041557600080fd5b506001600160a01b038135169060200135610b9e565b005b61042b6004803603604081101561044357600080fd5b8135919081019060408101602082013564010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c79945050505050565b61032c610c9e565b6102c8600480360360408110156104f857600080fd5b506001600160a01b038135169060200135610caf565b61042b6004803603606081101561052457600080fd5b506001600160a01b03813581169160208101359091169060400135610ccf565b61042b6004803603602081101561055a57600080fd5b50356001600160a01b0316610d26565b61042b6004803603604081101561058057600080fd5b5080359060200135610d5f565b6105b3600480360360208110156105a357600080fd5b50356001600160a01b0316610dd1565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ef5781810151838201526020016105d7565b505050509050019250505060405180910390f35b61032c6004803603604081101561061957600080fd5b506001600160a01b038135169060200135610e3d565b6102e4610e6e565b61042b6004803603606081101561064d57600080fd5b506001600160a01b03813581169160208101359091169060400135610e7d565b6102c86004803603602081101561068357600080fd5b5035610e98565b61032c600480360360208110156106a057600080fd5b5035610ea3565b61042b600480360360208110156106bd57600080fd5b5035610ebf565b61032c610ecb565b61042b600480360360208110156106e257600080fd5b8101906020810181356401000000008111156106fd57600080fd5b82018360208201111561070f57600080fd5b8035906020019184600183028401116401000000008311171561073157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ed1945050505050565b6102e46004803603602081101561078857600080fd5b5035610ef1565b6102e4610f1f565b61036d610f2e565b61032c600480360360208110156107b557600080fd5b50356001600160a01b0316610f8f565b61032c610ff7565b61032c610ffd565b61032c611003565b61042b600480360360208110156107f357600080fd5b50356001600160a01b0316611009565b6102e4611042565b6102e4611051565b61036d611060565b61042b6004803603602081101561083157600080fd5b50356110c1565b61042b6004803603602081101561084e57600080fd5b50356110dd565b61042b6004803603604081101561086b57600080fd5b506001600160a01b0381351690602001351515611205565b61042b61130a565b6102c8600480360360208110156108a157600080fd5b503561132d565b61042b600480360360808110156108be57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184600183028401116401000000008311171561092d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611342945050505050565b61032c6113a0565b61036d6004803603602081101561098c57600080fd5b50356113a6565b61032c611629565b6102c861162f565b6102c8600480360360408110156109b957600080fd5b506001600160a01b0381358116916020013516611638565b61032c611666565b61032c61166c565b61042b600480360360208110156109f757600080fd5b50356001600160a01b0316611672565b61042b60048036036020811015610a1d57600080fd5b50356001600160a01b03166116f7565b61042b611730565b600454600160a01b900460ff1681565b6003546001600160a01b031681565b60096020528160005260406000208181548110610a6d57fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526011602052604090205460ff165b919050565b60178054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b820191906000526020600020905b815481529060010190602001808311610b1457829003601f168201915b505050505090505b90565b6000610b4782611756565b610b825760405162461bcd60e51b815260040180806020018281038252602c815260200180612b8d602c913960400191505060405180910390fd5b506000908152601560205260409020546001600160a01b031690565b6000610ba982610ef1565b9050806001600160a01b0316836001600160a01b03161415610bfc5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c6f6021913960400191505060405180910390fd5b806001600160a01b0316610c0e611769565b6001600160a01b03161480610c2f5750610c2f81610c2a611769565b611638565b610c6a5760405162461bcd60e51b8152600401808060200182810382526038815260200180612abf6038913960400191505060405180910390fd5b610c74838361176d565b505050565b6000546001600160a01b03163314610c9057600080fd5b610c9a82826117db565b5050565b6000610caa601361183e565b905090565b600860209081526000928352604080842090915290825290205460ff1681565b610ce0610cda611769565b82611849565b610d1b5760405162461bcd60e51b8152600401808060200182810382526031815260200180612c906031913960400191505060405180910390fd5b610c748383836118ed565b6000546001600160a01b03163314610d3d57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d7657600080fd5b600b5482820101606414610dc9576040805162461bcd60e51b81526020600482015260156024820152740446f65736e27742061646420757020746f2031303605c1b604482015290519081900360640190fd5b600d55600c55565b6001600160a01b038116600090815260096020908152604091829020805483518184028101840190945280845260609392830182828015610e3157602002820191906000526020600020905b815481526020019060010190808311610e1d575b50505050509050919050565b6001600160a01b0382166000908152601260205260408120610e65908363ffffffff611a4b16565b90505b92915050565b6004546001600160a01b031681565b610c7483838360405180602001604052806000815250611342565b6000610e6882611756565b600080610eb760138463ffffffff611a5716565b509392505050565b610ec881611a73565b50565b600b5481565b6000546001600160a01b03163314610ee857600080fd5b610ec881611d57565b6000610e6882604051806060016040528060298152602001612b21602991396013919063ffffffff611d6a16565b6001546001600160a01b031681565b601a8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b60006001600160a01b038216610fd65760405162461bcd60e51b815260040180806020018281038252602a815260200180612af7602a913960400191505060405180910390fd5b6001600160a01b0382166000908152601260205260409020610e689061183e565b600e5481565b60065481565b60075481565b6000546001600160a01b0316331461102057600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002546001600160a01b031681565b60188054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b6000546001600160a01b031633146110d857600080fd5b600755565b600554811115611134576040805162461bcd60e51b815260206004820152601760248201527f546f6b656e204964206e6f742072656769737465726564000000000000000000604482015290519081900360640190fd5b33600090815260086020908152604080832084845290915290205460ff1661118d5760405162461bcd60e51b8152600401808060200182810382526032815260200180612be56032913960400191505060405180910390fd5b6000818152600a602052604090205460ff16156111e2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600a60205260409020805460ff19166001179055610ec83382611d81565b61120d611769565b6001600160a01b0316826001600160a01b03161415611273576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060166000611280611769565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556112c4611769565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461132157600080fd5b600f805460ff19169055565b600a6020526000908152604090205460ff1681565b61135361134d611769565b83611849565b61138e5760405162461bcd60e51b8152600401808060200182810382526031815260200180612c906031913960400191505060405180910390fd5b61139a84848484611d9b565b50505050565b600c5481565b60606113b182611756565b6113ec5760405162461bcd60e51b815260040180806020018281038252602f815260200180612c40602f913960400191505060405180910390fd5b60008281526019602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505090506060611492610f2e565b90508051600014156114a657509050610aa0565b8151156115675780826040516020018083805190602001908083835b602083106114e15780518252601f1990920191602091820191016114c2565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106115295780518252601f19909201916020918201910161150a565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050610aa0565b8061157185611ded565b6040516020018083805190602001908083835b602083106115a35780518252601f199092019160209182019101611584565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106115eb5780518252601f1990920191602091820191016115cc565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60055481565b600f5460ff1681565b6001600160a01b03918216600090815260166020908152604080832093909416825291909152205460ff1690565b60105481565b600d5481565b6000546001600160a01b0316331461168957600080fd5b6001600160a01b03811661169c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461170e57600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461174757600080fd5b600f805460ff19166001179055565b6000610e6860138363ffffffff611eb116565b3390565b600081815260156020526040902080546001600160a01b0319166001600160a01b03841690811790915581906117a282610ef1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6117e482611756565b61181f5760405162461bcd60e51b815260040180806020018281038252602c815260200180612bb9602c913960400191505060405180910390fd5b60008281526019602090815260409091208251610c7492840190612982565b6000610e6882611ebd565b600061185482611756565b61188f5760405162461bcd60e51b815260040180806020018281038252602c815260200180612a93602c913960400191505060405180910390fd5b600061189a83610ef1565b9050806001600160a01b0316846001600160a01b031614806118d55750836001600160a01b03166118ca84610b3c565b6001600160a01b0316145b806118e557506118e58185611638565b949350505050565b826001600160a01b031661190082610ef1565b6001600160a01b0316146119455760405162461bcd60e51b8152600401808060200182810382526029815260200180612c176029913960400191505060405180910390fd5b6001600160a01b03821661198a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612a6f6024913960400191505060405180910390fd5b611995838383610c74565b6119a060008261176d565b6001600160a01b03831660009081526012602052604090206119c8908263ffffffff611ec116565b506001600160a01b03821660009081526012602052604090206119f1908263ffffffff611ecd16565b50611a046013828463ffffffff611ed916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610e658383611eef565b6000808080611a668686611f53565b9097909650945050505050565b600f5460ff1615611abe576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b600754600090611ad4908363ffffffff611fce16565b60015460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015611b2a57600080fd5b505afa158015611b3e573d6000803e3d6000fd5b505050506040513d6020811015611b5457600080fd5b50511015611ba9576040805162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768206d6f6e657920706572207061636b00000000000000604482015290519081900360640190fd5b600e543390831115611c02576040805162461bcd60e51b815260206004820152601b60248201527f4d61782070757263686173652070657220747820726561636865640000000000604482015290519081900360640190fd5b600454600160a01b900460ff1615611c7d57601054611c27908463ffffffff61202716565b6006541015611c7d576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206f66207061636b73206e6f7420617661696c61626c65000000604482015290519081900360640190fd5b611c878183612081565b60105460408051858152602081019290925280516001600160a01b038416927f836ddd803a6e03cf1f1512425a9f88798f8287a3b75501d3c552810c8b1142d792908290030190a260108054840190556005545b600554611cee908563ffffffff61202716565b811015611d3c573360008181526008602090815260408083208584528252808320805460ff191660019081179091559383526009825282208054808501825590835291200182905501611cdb565b506005805484019055600754606490606d0204600755505050565b8051610c9a90601a906020840190612982565b6000611d7784848461225b565b90505b9392505050565b610c9a828260405180602001604052806000815250612325565b611da68484846118ed565b611db284848484612377565b61139a5760405162461bcd60e51b8152600401808060200182810382526032815260200180612a3d6032913960400191505060405180910390fd5b606081611e1257506040805180820190915260018152600360fc1b6020820152610aa0565b8160005b8115611e2a57600101600a82049150611e16565b6060816040519080825280601f01601f191660200182016040528015611e57576020820181803883390190505b50859350905060001982015b8315611ea857600a840660300160f81b82828060019003935081518110611e8657fe5b60200101906001600160f81b031916908160001a905350600a84049350611e63565b50949350505050565b6000610e6583836124f7565b5490565b6000610e65838361250f565b6000610e6583836125d5565b6000611d7784846001600160a01b03851661261f565b81546000908210611f315760405162461bcd60e51b8152600401808060200182810382526022815260200180612a1b6022913960400191505060405180910390fd5b826000018281548110611f4057fe5b9060005260206000200154905092915050565b815460009081908310611f975760405162461bcd60e51b8152600401808060200182810382526022815260200180612b4a6022913960400191505060405180910390fd5b6000846000018481548110611fa857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082611fdd57506000610e68565b82820282848281611fea57fe5b0414610e655760405162461bcd60e51b8152600401808060200182810382526021815260200180612b6c6021913960400191505060405180910390fd5b600082820183811015610e65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154600254600b54604080516323b872dd60e01b81526001600160a01b038781166004830152938416602482015260649286028390046044820152905192909316926323b872dd92818301926020928290030181600087803b1580156120e757600080fd5b505af11580156120fb573d6000803e3d6000fd5b505050506040513d602081101561211157600080fd5b5050600c546001600160a01b0316156121b757600154600354600c54604080516323b872dd60e01b81526001600160a01b038781166004830152938416602482015260649286028390046044820152905192909316926323b872dd92818301926020928290030181600087803b15801561218a57600080fd5b505af115801561219e573d6000803e3d6000fd5b505050506040513d60208110156121b457600080fd5b50505b6004546001600160a01b031615610c9a5760015460048054600d54604080516323b872dd60e01b81526001600160a01b03888116958201959095529284166024840152606491860282900460448401525192909316926323b872dd9282820192602092908290030181600087803b15801561223157600080fd5b505af1158015612245573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b600082815260018401602052604081205482816122f65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122bb5781810151838201526020016122a3565b50505050905090810190601f1680156122e85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061230957fe5b9060005260206000209060020201600101549150509392505050565b61232f83836126b6565b61233c6000848484612377565b610c745760405162461bcd60e51b8152600401808060200182810382526032815260200180612a3d6032913960400191505060405180910390fd5b600061238b846001600160a01b03166127f0565b612397575060016118e5565b60606124bd630a85bd0160e11b6123ac611769565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561242557818101518382015260200161240d565b50505050905090810190601f1680156124525780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001612a3d603291396001600160a01b038816919063ffffffff6127f616565b905060008180602001905160208110156124d657600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156125cb578354600019808301919081019060009087908390811061254257fe5b906000526020600020015490508087600001848154811061255f57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061258f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610e68565b6000915050610e68565b60006125e183836124f7565b61261757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e68565b506000610e68565b600082815260018401602052604081205480612684575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611d7a565b8285600001600183038154811061269757fe5b9060005260206000209060020201600101819055506000915050611d7a565b6001600160a01b038216612711576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61271a81611756565b1561276c576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61277860008383610c74565b6001600160a01b03821660009081526012602052604090206127a0908263ffffffff611ecd16565b506127b36013828463ffffffff611ed916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b6060611d7784846000858561280a856127f0565b61285b576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061289a5780518252601f19909201916020918201910161287b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128fc576040519150601f19603f3d011682016040523d82523d6000602084013e612901565b606091505b509150915061291182828661291c565b979650505050505050565b6060831561292b575081611d7a565b82511561293b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156122bb5781810151838201526020016122a3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129c357805160ff19168380011785556129f0565b828001600101855582156129f0579182015b828111156129f05782518255916020019190600101906129d5565b506129fc929150612a00565b5090565b610b3991905b808211156129fc5760008155600101612a0656fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220f0a3d3022971e56a5606c9e3fe6cfc2ca96359f4c221736b797bb5577ca1b34c64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102bb5760003560e01c80636c0360eb11610182578063a69df4b5116100e9578063dd7c5e54116100a2578063f24a9e4e1161007c578063f24a9e4e146109d9578063f2fde38b146109e1578063f4d3698614610a07578063f83d08ba14610a2d576102bb565b8063dd7c5e541461099b578063e985e9c5146109a3578063eb8800d0146109d1576102bb565b8063a69df4b514610883578063b7365f1f1461088b578063b88d4fde146108a8578063c3a9896d1461096e578063c87b56dd14610976578063c963483c14610993576102bb565b80638da5cb5b1161013b5780638da5cb5b146108035780639456b2321461080b57806395d89b411461081357806398bdd8031461081b578063a0712d6814610838578063a22cb46514610855576102bb565b80636c0360eb1461079757806370a082311461079f5780637146bd08146107c5578063759b2b3c146107cd578063790411be146107d55780638705fcd4146107dd576102bb565b80632aca3e7d116102265780634f6ccce7116101df5780634f6ccce71461068a57806350a88c7e146106a757806353facd01146106c457806355f804b3146106cc5780636352211e1461077257806369c7d8a31461078f576102bb565b80632aca3e7d1461056a5780632c6860301461058d5780632f745c59146106035780632f80f7501461062f57806342842e0e146106375780634f558e791461066d576102bb565b8063095ea7b311610278578063095ea7b3146103ff578063162094c41461042d57806318160ddd146104da5780631e14a533146104e257806323b872dd1461050e578063298489d214610544576102bb565b80630119b740146102c05780630135f740146102dc57806301d243a61461030057806301ffc9a71461033e57806306fdde0314610365578063081812fc146103e2575b600080fd5b6102c8610a35565b604080519115158252519081900360200190f35b6102e4610a45565b604080516001600160a01b039092168252519081900360200190f35b61032c6004803603604081101561031657600080fd5b506001600160a01b038135169060200135610a54565b60408051918252519081900360200190f35b6102c86004803603602081101561035457600080fd5b50356001600160e01b031916610a82565b61036d610aa5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103a757818101518382015260200161038f565b50505050905090810190601f1680156103d45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e4600480360360208110156103f857600080fd5b5035610b3c565b61042b6004803603604081101561041557600080fd5b506001600160a01b038135169060200135610b9e565b005b61042b6004803603604081101561044357600080fd5b8135919081019060408101602082013564010000000081111561046557600080fd5b82018360208201111561047757600080fd5b8035906020019184600183028401116401000000008311171561049957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610c79945050505050565b61032c610c9e565b6102c8600480360360408110156104f857600080fd5b506001600160a01b038135169060200135610caf565b61042b6004803603606081101561052457600080fd5b506001600160a01b03813581169160208101359091169060400135610ccf565b61042b6004803603602081101561055a57600080fd5b50356001600160a01b0316610d26565b61042b6004803603604081101561058057600080fd5b5080359060200135610d5f565b6105b3600480360360208110156105a357600080fd5b50356001600160a01b0316610dd1565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ef5781810151838201526020016105d7565b505050509050019250505060405180910390f35b61032c6004803603604081101561061957600080fd5b506001600160a01b038135169060200135610e3d565b6102e4610e6e565b61042b6004803603606081101561064d57600080fd5b506001600160a01b03813581169160208101359091169060400135610e7d565b6102c86004803603602081101561068357600080fd5b5035610e98565b61032c600480360360208110156106a057600080fd5b5035610ea3565b61042b600480360360208110156106bd57600080fd5b5035610ebf565b61032c610ecb565b61042b600480360360208110156106e257600080fd5b8101906020810181356401000000008111156106fd57600080fd5b82018360208201111561070f57600080fd5b8035906020019184600183028401116401000000008311171561073157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ed1945050505050565b6102e46004803603602081101561078857600080fd5b5035610ef1565b6102e4610f1f565b61036d610f2e565b61032c600480360360208110156107b557600080fd5b50356001600160a01b0316610f8f565b61032c610ff7565b61032c610ffd565b61032c611003565b61042b600480360360208110156107f357600080fd5b50356001600160a01b0316611009565b6102e4611042565b6102e4611051565b61036d611060565b61042b6004803603602081101561083157600080fd5b50356110c1565b61042b6004803603602081101561084e57600080fd5b50356110dd565b61042b6004803603604081101561086b57600080fd5b506001600160a01b0381351690602001351515611205565b61042b61130a565b6102c8600480360360208110156108a157600080fd5b503561132d565b61042b600480360360808110156108be57600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184600183028401116401000000008311171561092d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611342945050505050565b61032c6113a0565b61036d6004803603602081101561098c57600080fd5b50356113a6565b61032c611629565b6102c861162f565b6102c8600480360360408110156109b957600080fd5b506001600160a01b0381358116916020013516611638565b61032c611666565b61032c61166c565b61042b600480360360208110156109f757600080fd5b50356001600160a01b0316611672565b61042b60048036036020811015610a1d57600080fd5b50356001600160a01b03166116f7565b61042b611730565b600454600160a01b900460ff1681565b6003546001600160a01b031681565b60096020528160005260406000208181548110610a6d57fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526011602052604090205460ff165b919050565b60178054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b820191906000526020600020905b815481529060010190602001808311610b1457829003601f168201915b505050505090505b90565b6000610b4782611756565b610b825760405162461bcd60e51b815260040180806020018281038252602c815260200180612b8d602c913960400191505060405180910390fd5b506000908152601560205260409020546001600160a01b031690565b6000610ba982610ef1565b9050806001600160a01b0316836001600160a01b03161415610bfc5760405162461bcd60e51b8152600401808060200182810382526021815260200180612c6f6021913960400191505060405180910390fd5b806001600160a01b0316610c0e611769565b6001600160a01b03161480610c2f5750610c2f81610c2a611769565b611638565b610c6a5760405162461bcd60e51b8152600401808060200182810382526038815260200180612abf6038913960400191505060405180910390fd5b610c74838361176d565b505050565b6000546001600160a01b03163314610c9057600080fd5b610c9a82826117db565b5050565b6000610caa601361183e565b905090565b600860209081526000928352604080842090915290825290205460ff1681565b610ce0610cda611769565b82611849565b610d1b5760405162461bcd60e51b8152600401808060200182810382526031815260200180612c906031913960400191505060405180910390fd5b610c748383836118ed565b6000546001600160a01b03163314610d3d57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610d7657600080fd5b600b5482820101606414610dc9576040805162461bcd60e51b81526020600482015260156024820152740446f65736e27742061646420757020746f2031303605c1b604482015290519081900360640190fd5b600d55600c55565b6001600160a01b038116600090815260096020908152604091829020805483518184028101840190945280845260609392830182828015610e3157602002820191906000526020600020905b815481526020019060010190808311610e1d575b50505050509050919050565b6001600160a01b0382166000908152601260205260408120610e65908363ffffffff611a4b16565b90505b92915050565b6004546001600160a01b031681565b610c7483838360405180602001604052806000815250611342565b6000610e6882611756565b600080610eb760138463ffffffff611a5716565b509392505050565b610ec881611a73565b50565b600b5481565b6000546001600160a01b03163314610ee857600080fd5b610ec881611d57565b6000610e6882604051806060016040528060298152602001612b21602991396013919063ffffffff611d6a16565b6001546001600160a01b031681565b601a8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b60006001600160a01b038216610fd65760405162461bcd60e51b815260040180806020018281038252602a815260200180612af7602a913960400191505060405180910390fd5b6001600160a01b0382166000908152601260205260409020610e689061183e565b600e5481565b60065481565b60075481565b6000546001600160a01b0316331461102057600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002546001600160a01b031681565b60188054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610b315780601f10610b0657610100808354040283529160200191610b31565b6000546001600160a01b031633146110d857600080fd5b600755565b600554811115611134576040805162461bcd60e51b815260206004820152601760248201527f546f6b656e204964206e6f742072656769737465726564000000000000000000604482015290519081900360640190fd5b33600090815260086020908152604080832084845290915290205460ff1661118d5760405162461bcd60e51b8152600401808060200182810382526032815260200180612be56032913960400191505060405180910390fd5b6000818152600a602052604090205460ff16156111e2576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600a60205260409020805460ff19166001179055610ec83382611d81565b61120d611769565b6001600160a01b0316826001600160a01b03161415611273576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060166000611280611769565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff1916921515929092179091556112c4611769565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461132157600080fd5b600f805460ff19169055565b600a6020526000908152604090205460ff1681565b61135361134d611769565b83611849565b61138e5760405162461bcd60e51b8152600401808060200182810382526031815260200180612c906031913960400191505060405180910390fd5b61139a84848484611d9b565b50505050565b600c5481565b60606113b182611756565b6113ec5760405162461bcd60e51b815260040180806020018281038252602f815260200180612c40602f913960400191505060405180910390fd5b60008281526019602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156114815780601f1061145657610100808354040283529160200191611481565b820191906000526020600020905b81548152906001019060200180831161146457829003601f168201915b505050505090506060611492610f2e565b90508051600014156114a657509050610aa0565b8151156115675780826040516020018083805190602001908083835b602083106114e15780518252601f1990920191602091820191016114c2565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106115295780518252601f19909201916020918201910161150a565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050610aa0565b8061157185611ded565b6040516020018083805190602001908083835b602083106115a35780518252601f199092019160209182019101611584565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106115eb5780518252601f1990920191602091820191016115cc565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60055481565b600f5460ff1681565b6001600160a01b03918216600090815260166020908152604080832093909416825291909152205460ff1690565b60105481565b600d5481565b6000546001600160a01b0316331461168957600080fd5b6001600160a01b03811661169c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461170e57600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461174757600080fd5b600f805460ff19166001179055565b6000610e6860138363ffffffff611eb116565b3390565b600081815260156020526040902080546001600160a01b0319166001600160a01b03841690811790915581906117a282610ef1565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6117e482611756565b61181f5760405162461bcd60e51b815260040180806020018281038252602c815260200180612bb9602c913960400191505060405180910390fd5b60008281526019602090815260409091208251610c7492840190612982565b6000610e6882611ebd565b600061185482611756565b61188f5760405162461bcd60e51b815260040180806020018281038252602c815260200180612a93602c913960400191505060405180910390fd5b600061189a83610ef1565b9050806001600160a01b0316846001600160a01b031614806118d55750836001600160a01b03166118ca84610b3c565b6001600160a01b0316145b806118e557506118e58185611638565b949350505050565b826001600160a01b031661190082610ef1565b6001600160a01b0316146119455760405162461bcd60e51b8152600401808060200182810382526029815260200180612c176029913960400191505060405180910390fd5b6001600160a01b03821661198a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612a6f6024913960400191505060405180910390fd5b611995838383610c74565b6119a060008261176d565b6001600160a01b03831660009081526012602052604090206119c8908263ffffffff611ec116565b506001600160a01b03821660009081526012602052604090206119f1908263ffffffff611ecd16565b50611a046013828463ffffffff611ed916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610e658383611eef565b6000808080611a668686611f53565b9097909650945050505050565b600f5460ff1615611abe576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b600754600090611ad4908363ffffffff611fce16565b60015460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015611b2a57600080fd5b505afa158015611b3e573d6000803e3d6000fd5b505050506040513d6020811015611b5457600080fd5b50511015611ba9576040805162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768206d6f6e657920706572207061636b00000000000000604482015290519081900360640190fd5b600e543390831115611c02576040805162461bcd60e51b815260206004820152601b60248201527f4d61782070757263686173652070657220747820726561636865640000000000604482015290519081900360640190fd5b600454600160a01b900460ff1615611c7d57601054611c27908463ffffffff61202716565b6006541015611c7d576040805162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206f66207061636b73206e6f7420617661696c61626c65000000604482015290519081900360640190fd5b611c878183612081565b60105460408051858152602081019290925280516001600160a01b038416927f836ddd803a6e03cf1f1512425a9f88798f8287a3b75501d3c552810c8b1142d792908290030190a260108054840190556005545b600554611cee908563ffffffff61202716565b811015611d3c573360008181526008602090815260408083208584528252808320805460ff191660019081179091559383526009825282208054808501825590835291200182905501611cdb565b506005805484019055600754606490606d0204600755505050565b8051610c9a90601a906020840190612982565b6000611d7784848461225b565b90505b9392505050565b610c9a828260405180602001604052806000815250612325565b611da68484846118ed565b611db284848484612377565b61139a5760405162461bcd60e51b8152600401808060200182810382526032815260200180612a3d6032913960400191505060405180910390fd5b606081611e1257506040805180820190915260018152600360fc1b6020820152610aa0565b8160005b8115611e2a57600101600a82049150611e16565b6060816040519080825280601f01601f191660200182016040528015611e57576020820181803883390190505b50859350905060001982015b8315611ea857600a840660300160f81b82828060019003935081518110611e8657fe5b60200101906001600160f81b031916908160001a905350600a84049350611e63565b50949350505050565b6000610e6583836124f7565b5490565b6000610e65838361250f565b6000610e6583836125d5565b6000611d7784846001600160a01b03851661261f565b81546000908210611f315760405162461bcd60e51b8152600401808060200182810382526022815260200180612a1b6022913960400191505060405180910390fd5b826000018281548110611f4057fe5b9060005260206000200154905092915050565b815460009081908310611f975760405162461bcd60e51b8152600401808060200182810382526022815260200180612b4a6022913960400191505060405180910390fd5b6000846000018481548110611fa857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082611fdd57506000610e68565b82820282848281611fea57fe5b0414610e655760405162461bcd60e51b8152600401808060200182810382526021815260200180612b6c6021913960400191505060405180910390fd5b600082820183811015610e65576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154600254600b54604080516323b872dd60e01b81526001600160a01b038781166004830152938416602482015260649286028390046044820152905192909316926323b872dd92818301926020928290030181600087803b1580156120e757600080fd5b505af11580156120fb573d6000803e3d6000fd5b505050506040513d602081101561211157600080fd5b5050600c546001600160a01b0316156121b757600154600354600c54604080516323b872dd60e01b81526001600160a01b038781166004830152938416602482015260649286028390046044820152905192909316926323b872dd92818301926020928290030181600087803b15801561218a57600080fd5b505af115801561219e573d6000803e3d6000fd5b505050506040513d60208110156121b457600080fd5b50505b6004546001600160a01b031615610c9a5760015460048054600d54604080516323b872dd60e01b81526001600160a01b03888116958201959095529284166024840152606491860282900460448401525192909316926323b872dd9282820192602092908290030181600087803b15801561223157600080fd5b505af1158015612245573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b600082815260018401602052604081205482816122f65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122bb5781810151838201526020016122a3565b50505050905090810190601f1680156122e85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061230957fe5b9060005260206000209060020201600101549150509392505050565b61232f83836126b6565b61233c6000848484612377565b610c745760405162461bcd60e51b8152600401808060200182810382526032815260200180612a3d6032913960400191505060405180910390fd5b600061238b846001600160a01b03166127f0565b612397575060016118e5565b60606124bd630a85bd0160e11b6123ac611769565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561242557818101518382015260200161240d565b50505050905090810190601f1680156124525780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001612a3d603291396001600160a01b038816919063ffffffff6127f616565b905060008180602001905160208110156124d657600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156125cb578354600019808301919081019060009087908390811061254257fe5b906000526020600020015490508087600001848154811061255f57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061258f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610e68565b6000915050610e68565b60006125e183836124f7565b61261757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e68565b506000610e68565b600082815260018401602052604081205480612684575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611d7a565b8285600001600183038154811061269757fe5b9060005260206000209060020201600101819055506000915050611d7a565b6001600160a01b038216612711576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b61271a81611756565b1561276c576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61277860008383610c74565b6001600160a01b03821660009081526012602052604090206127a0908263ffffffff611ecd16565b506127b36013828463ffffffff611ed916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b6060611d7784846000858561280a856127f0565b61285b576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061289a5780518252601f19909201916020918201910161287b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146128fc576040519150601f19603f3d011682016040523d82523d6000602084013e612901565b606091505b509150915061291182828661291c565b979650505050505050565b6060831561292b575081611d7a565b82511561293b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156122bb5781810151838201526020016122a3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106129c357805160ff19168380011785556129f0565b828001600101855582156129f0579182015b828111156129f05782518255916020019190600101906129d5565b506129fc929150612a00565b5090565b610b3991905b808211156129fc5760008155600101612a0656fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a2646970667358221220f0a3d3022971e56a5606c9e3fe6cfc2ca96359f4c221736b797bb5577ca1b34c64736f6c63430006020033", - "sourceMap": "5126:1392:3:-:0;;;406:30;;;-1:-1:-1;;;;406:30:3;;;475:4;442:37;;551:8;520:39;;406:30;950:32;;1015:2;988:29;;431:5;1023:30;;;;1089:2;1059:32;;1098:27;;;-1:-1:-1;;1098:27:3;;;1131:31;;5178:343;5:2:-1;;;;30:1;27;20:12;5:2;5178:343:3;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5178:343:3;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;5178:343:3;;420:4:-1;411:14;;;;5178:343:3;;;;;411:14:-1;5178:343:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5178:343:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;5178:343:3;;420:4:-1;411:14;;;;5178:343:3;;;;;411:14:-1;5178:343:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5178:343:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5178:343:3;;;;;;;;;;;;;;;;;;;;;;;;;508:5:11;:18;;516:10;-1:-1:-1;;;;;;508:18:11;;;;;;;-1:-1:-1;1354:30:3;;;;-1:-1:-1;;;;;1354:30:3;;;;;;;;;;1394:15;:32;;;;;;;;;;1436:11;:24;;;;;;;;;;1470:13;:28;;;;;;;;;;;5178:343;;-1:-1:-1;5178:343:3;;-1:-1:-1;5178:343:3;;5407:4;5413:6;5178:343;;;;;1511:18;;1508:64;;1544:10;:17;;-1:-1:-1;;;;1544:17:3;-1:-1:-1;;;1544:17:3;;;1508:64;1581:14;:30;-1:-1:-1;768:40:12;;-1:-1:-1;;;;787:20:12;-1:-1:-1;;;;;;;768:18:12;:40;:::i;:::-;3651:13:17;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:17;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:17;-1:-1:-1;;;;;;;;3779:18:17;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:17;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:17;:51;:::i;:::-;3577:369;;5178:343:3;;;;;;;5126:1392;;1507:198:12;-1:-1:-1;;;;;;1590:25:12;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:12;;;;;:20;:33;;;;;:40;;-1:-1:-1;;1658:40:12;1694:4;1658:40;;;1507:198::o;5126:1392:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5126:1392:3;;;-1:-1:-1;5126:1392:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "5126:1392:3:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5126:1392:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;406:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;340:26;;;:::i;:::-;;;;-1:-1:-1;;;;;340:26:3;;;;;;;;;;;;;;758:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;758:55:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;965:148:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:12;-1:-1:-1;;;;;;965:148:12;;:::i;4517:98:17:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:17;;:::i;6766:395::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:17;;;;;;;;:::i;:::-;;5633:117:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5633:117:3;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5633:117:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5633:117:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5633:117:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5633:117:3;;-1:-1:-1;5633:117:3;;-1:-1:-1;;;;;5633:117:3:i;6260:208:17:-;;;:::i;687:65:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;687:65:3;;;;;;;;:::i;8086:300:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:17;;;;;;;;;;;;;;;;;:::i;3547:118:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3547:118:3;-1:-1:-1;;;;;3547:118:3;;:::i;3250:290::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3250:290:3;;;;;;;:::i;6382:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6382:134:3;-1:-1:-1;;;;;6382:134:3;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6382:134:3;;;;;;;;;;;;;;;;;6029:160:17;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:17;;;;;;;;:::i;372:28:3:-;;;:::i;8452:149:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:17;;;;;;;;;;;;;;;;;:::i;5527:100:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5527:100:3;;:::i;6540:169:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:17;;:::i;6301:75:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6301:75:3;;:::i;950:32::-;;;:::i;5756:97::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5756:97:3;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;5756:97:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5756:97:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5756:97:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5756:97:3;;-1:-1:-1;5756:97:3;;-1:-1:-1;;;;;5756:97:3:i;4280:175:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:17;;:::i;271:27:3:-;;;:::i;5855:95:17:-;;;:::i;4005:218::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:17;-1:-1:-1;;;;;4005:218:17;;:::i;1059:32:3:-;;;:::i;485:29::-;;;:::i;520:39::-;;;:::i;3778:101::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3778:101:3;-1:-1:-1;;;;;3778:101:3;;:::i;239:20:11:-;;;:::i;304:30:3:-;;;:::i;4679:102:17:-;;;:::i;3671:101:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3671:101:3;;:::i;5859:436::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5859:436:3;;:::i;7506:290:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:17;;;;;;;;;;:::i;4070:67:3:-;;;:::i;819:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;819:45:3;;:::i;8667:282:17:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:17;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:17;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:17;;-1:-1:-1;8667:282:17;;-1:-1:-1;;;;;8667:282:17:i;988:29:3:-;;;:::i;4847:776:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:17;;:::i;442:37:3:-;;;:::i;1098:27::-;;;:::i;7862:162:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:17;;;;;;;;;;:::i;1131:31:3:-;;;:::i;1023:30::-;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;3885:109:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3885:109:3;-1:-1:-1;;;;;3885:109:3;;:::i;4000:64::-;;;:::i;406:30::-;;;-1:-1:-1;;;406:30:3;;;;;:::o;340:26::-;;;-1:-1:-1;;;;;340:26:3;;:::o;758:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;965:148:12:-;-1:-1:-1;;;;;;1073:33:12;;1050:4;1073:33;;;:20;:33;;;;;;;;965:148;;;;:::o;4517:98:17:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:17;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:17;:2;-1:-1:-1;;;;;6903:11:17;;;6895:57;;;;-1:-1:-1;;;6895:57:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:17;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:17;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;5633:117:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;5717:26:3::1;5730:7;5739:3;5717:12;:26::i;:::-;5633:117:::0;;:::o;6260:208:17:-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;687:65:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8086:300:17:-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;3547:118:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3628:14:3::1;:30:::0;;-1:-1:-1;;;;;;3628:30:3::1;-1:-1:-1::0;;;;;3628:30:3;;;::::1;::::0;;;::::1;::::0;;3547:118::o;3250:290::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3401:13:3::1;;3390:8;3377:10;:21;:37;3418:3;3377:44;3356:112;;;::::0;;-1:-1:-1;;;3356:112:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3356:112:3;;;;;;;;;;;;;::::1;;3479:11;:24:::0;3513:9:::1;:20:::0;3250:290::o;6382:134::-;-1:-1:-1;;;;;6481:28:3;;;;;;:18;:28;;;;;;;;;6474:35;;;;;;;;;;;;;;;;;6446:16;;6474:35;;;6481:28;6474:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6382:134;;;:::o;6029:160:17:-;-1:-1:-1;;;;;6152:20:17;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;372:28:3:-;;;-1:-1:-1;;;;;372:28:3;;:::o;8452:149:17:-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;5527:100:3:-;5581:4;5604:16;5612:7;5604;:16::i;6540:169:17:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:17;6540:169;-1:-1:-1;;;6540:169:17:o;6301:75:3:-;6352:17;6362:6;6352:9;:17::i;:::-;6301:75;:::o;950:32::-;;;;:::o;5756:97::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;5826:20:3::1;5838:7;5826:11;:20::i;4280:175:17:-:0;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;271:27:3:-;;;-1:-1:-1;;;;;271:27:3;;:::o;5855:95:17:-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:17;;4096:74;;;;-1:-1:-1;;;4096:74:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:17;;;;;;:13;:20;;;;;:29;;:27;:29::i;1059:32:3:-;;;;:::o;485:29::-;;;;:::o;520:39::-;;;;:::o;3778:101::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3848:11:3::1;:24:::0;;-1:-1:-1;;;;;;3848:24:3::1;-1:-1:-1::0;;;;;3848:24:3;;;::::1;::::0;;;::::1;::::0;;3778:101::o;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;304:30:3:-;;;-1:-1:-1;;;;;304:30:3;;:::o;4679:102:17:-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;3671:101:3;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3741:13:3::1;:24:::0;3671:101::o;5859:436::-;5951:15;;5934:13;:32;;5913:103;;;;;-1:-1:-1;;;5913:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;6049:10;6035:25;;;;:13;:25;;;;;;;;:40;;;;;;;;;;;6027:103;;;;-1:-1:-1;;;6027:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:28;;;;:13;:28;;;;;;;;6148:29;6140:56;;;;;-1:-1:-1;;;6140:56:3;;;;;;;;;;;;-1:-1:-1;;;6140:56:3;;;;;;;;;;;;;;;6207:28;;;;:13;:28;;;;;:35;;-1:-1:-1;;6207:35:3;6238:4;6207:35;;;6252:36;6262:10;6221:13;6252:9;:36::i;7506:290:17:-;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:17;:8;-1:-1:-1;;;;;7608:24:17;;;7600:62;;;;;-1:-1:-1;;;7600:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:17;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:17;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:17;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:17;;;;;;;;;;;;;;7506:290;;:::o;4070:67:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4115:7:3::1;:15:::0;;-1:-1:-1;;4115:15:3::1;::::0;;4070:67::o;819:45::-;;;;;;;;;;;;;;;:::o;8667:282:17:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;988:29:3:-;;;;:::o;4847:776:17:-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:17;-1:-1:-1;5229:16:17;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::17;;;;;;;;;;-1:-1:-1;5415:33:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:17;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:17;;;;;;;;;;-1:-1:-1;5573:42:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:17;;;5559:57;;;;4847:776;;;:::o;442:37:3:-;;;;:::o;1098:27::-;;;;;;:::o;7862:162:17:-;-1:-1:-1;;;;;7982:25:17;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;1131:31:3:-;;;;:::o;1023:30::-;;;;:::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;3885:109:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3959:13:3::1;:28:::0;;-1:-1:-1;;;;;;3959:28:3::1;-1:-1:-1::0;;;;;3959:28:3;;;::::1;::::0;;;::::1;::::0;;3885:109::o;4000:64::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4043:7:3::1;:14:::0;;-1:-1:-1;;4043:14:3::1;4053:4;4043:14;::::0;;4000:64::o;10383:125:17:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:23:-;685:10;598:104;:::o;16225:189:17:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:17;-1:-1:-1;;;;;16299:29:17;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:17;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:24:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:17:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:17;:7;-1:-1:-1;;;;;10915:16:17;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:17;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:17;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:17:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:17;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:17;;13796:85;;;;-1:-1:-1;;;13796:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:17;;13909:65;;;;-1:-1:-1;;;13909:65:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:17;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:17;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:17;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:17;14266:4;-1:-1:-1;;;;;14257:27:17;;;;;;;;;;;13707:584;;;:::o;9250:135:25:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:24:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:24;-1:-1:-1;;;;;8269:233:24:o;1624:915:3:-;1687:7;;;;1686:8;1678:37;;;;;-1:-1:-1;;;1678:37:3;;;;;;;;;;;;-1:-1:-1;;;1678:37:3;;;;;;;;;;;;;;;1746:13;;1725:18;;1746:25;;1764:6;1746:25;:17;:25;:::i;:::-;1790:14;;:51;;;-1:-1:-1;;;1790:51:3;;1815:10;1790:51;;;;1835:4;1790:51;;;;;;1725:46;;-1:-1:-1;1725:46:3;;-1:-1:-1;;;;;1790:14:3;;;;:24;;:51;;;;;;;;;;;;;;;:14;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;1790:51:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1790:51:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1790:51:3;:65;;1782:103;;;;;-1:-1:-1;;;1782:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;1950:12;;1911:10;;1940:22;;;1932:62;;;;;-1:-1:-1;;;1932:62:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2008:10;;-1:-1:-1;;;2008:10:3;;;;2005:123;;;2059:12;;:24;;2076:6;2059:24;:16;:24;:::i;:::-;2041:14;;:42;;2033:84;;;;;-1:-1:-1;;;2033:84:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;2138:39;2160:4;2166:10;2138:21;:39::i;:::-;2215:12;;2193:35;;;;;;;;;;;;;;;-1:-1:-1;;;;;2193:35:3;;;;;;;;;;;;2238:12;:22;;;;;;2284:15;;2271:179;2305:15;;:27;;2325:6;2305:27;:19;:27;:::i;:::-;2301:1;:31;2271:179;;;2366:10;2352:25;;;;:13;:25;;;;;;;;:28;;;;;;;;:35;;-1:-1:-1;;2352:35:3;2383:4;2352:35;;;;;;2401:30;;;:18;:30;;;;27:10:-1;;23:18;;;45:23;;2401:38:3;;;;;;;;;2334:3;2271:179;;;-1:-1:-1;2460:15:3;:25;;;;;;2511:13;;2529:3;;2525;2511:17;:21;2495:13;:37;-1:-1:-1;;;1624:915:3:o;14873:98:17:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:24:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:24;;;;;;:::o;11348:108:17:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;9811:269::-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:27;266:13;483:10;479:51;;-1:-1:-1;509:10:27;;;;;;;;;;;;-1:-1:-1;;;509:10:27;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;699:17:27;87:34:-1;135:17;;-1:-1;699:17:27;-1:-1:-1;769:5:27;;-1:-1:-1;677:39:27;-1:-1:-1;;;742:10:27;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:27;;;;;;;;-1:-1:-1;885:2:27;877:10;;;;784:114;;;-1:-1:-1;921:6:27;210:725;-1:-1:-1;;;;210:725:27:o;7588:149:24:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:25:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:24:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:24;;7139:4;:64::i;4452:201:25:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:25;;;;-1:-1:-1;;;4538:73:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:24:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:24;;;;-1:-1:-1;;;5037:74:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;3538:215:14:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2690:175;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;2545:699:3;2657:14;;2691:15;;2718:13;;2657:82;;;-1:-1:-1;;;2657:82:3;;-1:-1:-1;;;;;2657:82:3;;;;;;;2691:15;;;2657:82;;;;2735:3;2709:22;;;2708:30;;;2657:82;;;;;;:14;;;;;:27;;:82;;;;;;;;;;;-1:-1:-1;2657:14:3;:82;;;5:2:-1;;;;30:1;27;20:12;5:2;2657:82:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2657:82:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2761:9:3;;-1:-1:-1;;;;;2753:32:3;;2750:235;;2838:14;;2905:11;;2944:9;;2838:136;;;-1:-1:-1;;;2838:136:3;;-1:-1:-1;;;;;2838:136:3;;;;;;;2905:11;;;2838:136;;;;2957:3;2935:18;;;2934:26;;;2838:136;;;;;;:14;;;;;:27;;:136;;;;;;;;;;;-1:-1:-1;2838:14:3;:136;;;5:2:-1;;;;30:1;27;20:12;5:2;2838:136:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2838:136:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2750:235:3;3006:13;;-1:-1:-1;;;;;3006:13:3;2998:36;2995:243;;3087:14;;3154:13;;;3195:11;;3087:140;;;-1:-1:-1;;;3087:140:3;;-1:-1:-1;;;;;3087:140:3;;;;;;;;;;3154:13;;;3087:140;;;;3210:3;3186:20;;;3185:28;;;3087:140;;;;;:14;;;;;:27;;:140;;;;;;;;;;;;-1:-1:-1;3087:14:3;:140;;;5:2:-1;;;;30:1;27;20:12;5:2;3087:140:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3087:140:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;6403:315:24;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:17:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:17;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:17;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:17;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:17;;;;-1:-1:-1;;;;;15773:175:17;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:17;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:17;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16029:32:17;-1:-1:-1;;;;;;16079:26:17;-1:-1:-1;;;16079:26:17;;-1:-1:-1;;;15524:589:17;;;;;;:::o;4278:123:24:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:25:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:25;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:25;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:25;2015:12;;1836:678:24;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:24;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:24;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;12246:393:17;-1:-1:-1;;;;;12325:16:17;;12317:61;;;;;-1:-1:-1;;;12317:61:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:17;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:17;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:17;;12624:7;;-1:-1:-1;;;;;12599:33:17;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:22:-;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:22;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:22;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:22;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:22:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:22;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:22;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;5126:1392:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5126:1392:3;;;-1:-1:-1;5126:1392:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract Opener is Ownable {\n using SafeMath for uint256;\n\n ERC20 public _purchaseToken;\n address public _baseFeeAddress;\n address public _feeAddress;\n address public _otherAddress;\n bool public _isLimited = false;\n uint256 public _currentTokenId = 1000;\n uint256 public _limitedAmount;\n uint256 public _pricePerPack = 1*10**18;\n\n // Mapping from address to bool, if egg was already claimed\n // The hash is about the userId and the nftIds array\n mapping(address => mapping(uint256 => bool)) public registeredIDs;\n mapping(address => uint256[]) public registeredIDsArray;\n mapping(uint256 => bool) public alreadyMinted;\n\n event Opening(address indexed from, uint256 amount, uint256 openedPacks);\n\n uint256 public _baseFeeShare = 1;\n uint256 public _feeShare = 99;\n uint256 public _otherShare = 0;\n uint256 public MAX_PURCHASE = 10;\n\n bool public _closed = false;\n uint256 public _openedPacks = 0;\n\n constructor(\n ERC20 purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress,\n uint256 limitedAmount\n ) public {\n _purchaseToken = purchaseToken;\n _baseFeeAddress = baseFeeAddress;\n _feeAddress = feeAddress;\n _otherAddress = otherAddress;\n if(limitedAmount != 0){\n _isLimited = true;\n }\n _limitedAmount = limitedAmount;\n }\n\n function _openPack(uint256 amount) internal {\n require(!_closed, \"Opener is locked\");\n uint256 totalPrice = _pricePerPack.mul(amount);\n\n require(_purchaseToken.allowance(msg.sender, address(this)) >= totalPrice, \"Not enough money per pack\");\n\n address from = msg.sender;\n\n require(amount <= MAX_PURCHASE, \"Max purchase per tx reached\");\n\n if(_isLimited){\n require(_limitedAmount >= _openedPacks.add(amount), \"Amount of packs not available\");\n }\n\n _distributePackShares(from, totalPrice);\n\n emit Opening(from, amount, _openedPacks);\n _openedPacks += amount;\n\n for(uint i = _currentTokenId; i < _currentTokenId.add(amount); i++){\n registeredIDs[msg.sender][i] = true;\n registeredIDsArray[msg.sender].push(i);\n }\n\n _currentTokenId += amount;\n _pricePerPack = _pricePerPack*109/100;\n }\n\n function _distributePackShares(address from, uint256 amount) internal {\n //transfer of fee share\n _purchaseToken.transferFrom(from, _baseFeeAddress, (amount * _baseFeeShare) / 100);\n\n if(address(_feeShare) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _feeAddress,\n (amount * _feeShare) / 100\n );\n }\n\n if(address(_otherAddress) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _otherAddress,\n (amount * _otherShare) / 100\n );\n }\n }\n\n function setShares(\n uint256 feeShare,\n uint256 otherShare\n ) public onlyOwner {\n require(\n otherShare + feeShare + _baseFeeShare == 100,\n \"Doesn't add up to 100\"\n );\n\n _otherShare = otherShare;\n _feeShare = feeShare;\n }\n\n\n function setPurchaseTokenAddress(ERC20 purchaseToken) public onlyOwner {\n _purchaseToken = purchaseToken;\n }\n\n function setPricePerPack(uint256 newPrice) public onlyOwner {\n _pricePerPack = newPrice;\n }\n\n function setFeeAddress(address feeAddress) public onlyOwner {\n _feeAddress = feeAddress;\n }\n\n function setOtherAddress(address otherAddress) public onlyOwner {\n _otherAddress = otherAddress;\n }\n\n function lock() public onlyOwner {\n _closed = true;\n }\n\n function unlock() public onlyOwner {\n _closed = false;\n }\n}\n\n// ERC721Standard made for a simple structure, owner generates himself the NFT he wants (direct minting)\ncontract ERC721Standard is ERC721, Ownable {\n\n constructor (string memory name, string memory symbol) public ERC721(name, symbol) { }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(address to, uint256 tokenId) public onlyOwner {\n _safeMint(to, tokenId);\n }\n\n function mint(address to, uint256 tokenId, bytes memory _data) public onlyOwner {\n _safeMint(to, tokenId, _data);\n }\n}\n\n// ERC721Colectibles made for a Cryptokitties/Polkamon like structure, where an hash is given by the owner based on a purchase of a package\n// Can be limited or unlimited\ncontract ERC721Colectibles is Opener, ERC721 {\n\n constructor (\n string memory name, string memory symbol,\n uint256 limitedAmount,\n ERC20 _purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress) public ERC721(name, symbol) \n Opener(_purchaseToken, baseFeeAddress, feeAddress, otherAddress, limitedAmount)\n {\n }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(uint256 tokenIdToMint) public {\n require(\n tokenIdToMint <= _currentTokenId, \n \"Token Id not registered\"\n );\n\n require(registeredIDs[msg.sender][tokenIdToMint], \"Token was not registered or not the rightful owner\");\n require(!alreadyMinted[tokenIdToMint], \"Already minted\");\n\n alreadyMinted[tokenIdToMint] = true;\n _safeMint(msg.sender, tokenIdToMint);\n }\n\n function openPack(uint256 amount) public {\n _openPack(amount);\n }\n\n function getRegisteredIDs(address _address) public view returns(uint256[] memory) {\n return registeredIDsArray[_address];\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.357Z", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC721Marketplace.json b/build/contracts/ERC721Marketplace.json deleted file mode 100644 index a2bcf034..00000000 --- a/build/contracts/ERC721Marketplace.json +++ /dev/null @@ -1,14393 +0,0 @@ -{ - "contractName": "ERC721Marketplace", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_erc20Address", - "type": "address" - }, - { - "internalType": "contract IERC721", - "name": "_erc721Address", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "SaleCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "SaleCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "SaleDone", - "type": "event" - }, - { - "inputs": [], - "name": "erc20Address", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeAddress", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feePercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "saleIncrementId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sales", - "outputs": [ - { - "internalType": "uint256", - "name": "saleId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timesSold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "seller", - "type": "address" - }, - { - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "date", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "canceled", - "type": "bool" - }, - { - "internalType": "bool", - "name": "sold", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "salesById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isNativeTransaction", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "putERC721OnSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "removeERC721FromSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "buyERC721", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_erc20Address", - "type": "address" - } - ], - "name": "changeERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC721", - "name": "_erc721Address", - "type": "address" - } - ], - "name": "changeERC721", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_feeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercentage", - "type": "uint256" - } - ], - "name": "setFixedFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_erc20Address\",\"type\":\"address\"},{\"internalType\":\"contract IERC721\",\"name\":\"_erc721Address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"SaleCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"SaleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"SaleDone\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"buyERC721\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_erc20Address\",\"type\":\"address\"}],\"name\":\"changeERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC721\",\"name\":\"_erc721Address\",\"type\":\"address\"}],\"name\":\"changeERC721\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20Address\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isNativeTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"putERC721OnSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"removeERC721FromSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleIncrementId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"sales\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"saleId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timesSold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"date\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"sold\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"salesById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_feeAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercentage\",\"type\":\"uint256\"}],\"name\":\"setFixedFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol\":\"ERC721Marketplace\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol\":{\"keccak256\":\"0xc5aae6e7584285efc55cf27a6e16b836e0ba7f9a173ed1ca622fb9d2dfb3b2d6\",\"urls\":[\"bzz-raw://7fe0f58579081ea8816ecd6e56e86e94b0b8629ee7e1a6087d98e625764d7bf9\",\"dweb:/ipfs/QmPSgAA8bmJtGP3iAudEw4JHiKqh8JgHRw6GMK6kQ2Yk5W\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040526000600455600160055534801561001a57600080fd5b506040516113ea3803806113ea8339818101604052604081101561003d57600080fd5b508051602090910151600080546001600160a01b03199081163317909155600180546001600160a01b039485169083161790556002805493909216921691909117905561135b8061008f6000396000f3fe6080604052600436106100e85760003560e01c806395fcf58e1161008a578063d265185511610059578063d2651855146102df578063d6e9d8d114610312578063f2fde38b1461033b578063fd6379751461036e576100e8565b806395fcf58e146101e8578063a001ecdd14610221578063b5f522f714610236578063c4c28125146102b5576100e8565b806341275358116100c6578063412753581461017a5780637f09e9af1461018f5780638da5cb5b146101b6578063944cce5b146101cb576100e8565b8063276184ae146100ed578063332c72631461011e5780633c61c90714610150575b600080fd5b3480156100f957600080fd5b506101026103a1565b604080516001600160a01b039092168252519081900360200190f35b34801561012a57600080fd5b5061014e6004803603604081101561014157600080fd5b50803590602001356103b0565b005b34801561015c57600080fd5b5061014e6004803603602081101561017357600080fd5b503561076f565b34801561018657600080fd5b5061010261093f565b34801561019b57600080fd5b506101a461094e565b60408051918252519081900360200190f35b3480156101c257600080fd5b50610102610954565b61014e600480360360208110156101e157600080fd5b5035610963565b3480156101f457600080fd5b5061014e6004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610f6f565b34801561022d57600080fd5b506101a461103d565b34801561024257600080fd5b506102606004803603602081101561025957600080fd5b5035611043565b60408051998a5260208a01989098528888019690965260608801949094526001600160a01b039283166080880152911660a086015260c0850152151560e0840152151561010083015251908190036101200190f35b3480156102c157600080fd5b506101a4600480360360208110156102d857600080fd5b503561109f565b3480156102eb57600080fd5b5061014e6004803603602081101561030257600080fd5b50356001600160a01b03166110b1565b34801561031e57600080fd5b506103276110ea565b604080519115158252519081900360200190f35b34801561034757600080fd5b5061014e6004803603602081101561035e57600080fd5b50356001600160a01b03166110fa565b34801561037a57600080fd5b5061014e6004803603602081101561039157600080fd5b50356001600160a01b031661117f565b6001546001600160a01b031681565b600254604080516331a9108f60e11b815260048101859052905133926001600160a01b031691636352211e916024808301926020929190829003018186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d602081101561042557600080fd5b50516001600160a01b031614610479576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600254604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156104d257600080fd5b505af11580156104e6573d6000803e3d6000fd5b505050506104f26111b8565b6006600084815260200190815260200160002060405180610120016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600682015481526020016007820160009054906101000a900460ff161515151581526020016007820160019054906101000a900460ff161515151581525050905060055481600001818152505082816020018181525050818160600181815250503381608001906001600160a01b031690816001600160a01b031681525050428160c001818152505080600660008581526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff0219169083151502179055506101008201518160070160016101000a81548160ff0219169083151502179055509050508260076000600554815260200190815260200160002081905550336001600160a01b0316837f63ee37b4d42c1356bfc458c2a7f33bc4b37d951b24e3ec0852c981789dfc1e9c846040518082815260200191505060405180910390a3505060058054600101905550565b6000818152600660205260409020600401546001600160a01b031633146107d4576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600081815260066020526040902060010154811461082e576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040808220600701805460ff1916600117905560025481516323b872dd60e01b81523060048201523360248201526044810185905291516001600160a01b03909116926323b872dd926064808201939182900301818387803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b50506040513392508391507fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e990600090a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6003546001600160a01b031681565b60055481565b6000546001600160a01b031681565b60008181526006602052604090206001015481146109bd576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040902060070154610100900460ff1615610a135760405162461bcd60e51b815260040180806020018281038252602481526020018061121b6024913960400191505060405180910390fd5b610a1b6110ea565b15610b8a576000818152600660205260409020600301543414610a6f5760405162461bcd60e51b815260040180806020018281038252602f815260200180611291602f913960400191505060405180910390fd5b6003546001600160a01b031615610afd57600380546000838152600660205260408082209093015460045493516001600160a01b0390931693606491020480156108fc02929091818181858888f19350505050610afd5760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b600081815260066020526040902060048082015460039092015490546001600160a01b03909216916108fc91606491820302049081150290604051600060405180830381858888f19350505050610b855760405162461bcd60e51b81526004018080602001828103825260388152602001806112c06038913960400191505060405180910390fd5b610e33565b60015460008281526006602090815260408083206003015481516323b872dd60e01b8152336004820152306024820152604481019190915290516001600160a01b03909416936323b872dd93606480840194938390030190829087803b158015610bf357600080fd5b505af1158015610c07573d6000803e3d6000fd5b505050506040513d6020811015610c1d57600080fd5b5051610c5a5760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b6003546001600160a01b031615610d5657600154600380546000848152600660205260409020909101546004546001600160a01b039384169363a9059cbb93169160649102046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051610d565760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b60015460008281526006602090815260408083206004808201546003909201548154845163a9059cbb60e01b81526001600160a01b03948516938101939093526064908103909102046024820152915194169363a9059cbb93604480840194938390030190829087803b158015610dcc57600080fd5b505af1158015610de0573d6000803e3d6000fd5b505050506040513d6020811015610df657600080fd5b5051610e335760405162461bcd60e51b815260040180806020018281038252602e8152602001806112f8602e913960400191505060405180910390fd5b600254604080516323b872dd60e01b81523060048201523360248201526044810184905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b158015610e8c57600080fd5b505af1158015610ea0573d6000803e3d6000fd5b50505060008281526006602090815260409182902060078101805461ff0019166101001790556004810154600390910154835190815292516001600160a01b039091169350339285927ff987d279e153abdd99199c514bc50631e79d5e1f82343a733d9fcd149cff97ff92918290030190a4600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6000546001600160a01b03163314610f8657600080fd5b6001600160a01b038216610fd8576040805162461bcd60e51b81526020600482015260146024820152731059191c995cdcc818d85b9d081899481b9d5b1b60621b604482015290519081900360640190fd5b606481106110175760405162461bcd60e51b815260040180806020018281038252602781526020018061126a6027913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b039390931692909217909155600455565b60045481565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494969395929491936001600160a01b039182169391169160ff8082169161010090041689565b60076020526000908152604090205481565b6000546001600160a01b031633146110c857600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03161590565b6000546001600160a01b0316331461111157600080fd5b6001600160a01b03811661112457600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461119657600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600015158152602001600015158152509056fe4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e736665724665652050657263656e746167652068617320746f206265206c6f776572207468616e203130305265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f72726563745761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c65725761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572a2646970667358221220ca97fae7166f5c5687144454638a56b42f2be915a8ea0ed78308e297c850036d64736f6c63430006020033", - "deployedBytecode": "0x6080604052600436106100e85760003560e01c806395fcf58e1161008a578063d265185511610059578063d2651855146102df578063d6e9d8d114610312578063f2fde38b1461033b578063fd6379751461036e576100e8565b806395fcf58e146101e8578063a001ecdd14610221578063b5f522f714610236578063c4c28125146102b5576100e8565b806341275358116100c6578063412753581461017a5780637f09e9af1461018f5780638da5cb5b146101b6578063944cce5b146101cb576100e8565b8063276184ae146100ed578063332c72631461011e5780633c61c90714610150575b600080fd5b3480156100f957600080fd5b506101026103a1565b604080516001600160a01b039092168252519081900360200190f35b34801561012a57600080fd5b5061014e6004803603604081101561014157600080fd5b50803590602001356103b0565b005b34801561015c57600080fd5b5061014e6004803603602081101561017357600080fd5b503561076f565b34801561018657600080fd5b5061010261093f565b34801561019b57600080fd5b506101a461094e565b60408051918252519081900360200190f35b3480156101c257600080fd5b50610102610954565b61014e600480360360208110156101e157600080fd5b5035610963565b3480156101f457600080fd5b5061014e6004803603604081101561020b57600080fd5b506001600160a01b038135169060200135610f6f565b34801561022d57600080fd5b506101a461103d565b34801561024257600080fd5b506102606004803603602081101561025957600080fd5b5035611043565b60408051998a5260208a01989098528888019690965260608801949094526001600160a01b039283166080880152911660a086015260c0850152151560e0840152151561010083015251908190036101200190f35b3480156102c157600080fd5b506101a4600480360360208110156102d857600080fd5b503561109f565b3480156102eb57600080fd5b5061014e6004803603602081101561030257600080fd5b50356001600160a01b03166110b1565b34801561031e57600080fd5b506103276110ea565b604080519115158252519081900360200190f35b34801561034757600080fd5b5061014e6004803603602081101561035e57600080fd5b50356001600160a01b03166110fa565b34801561037a57600080fd5b5061014e6004803603602081101561039157600080fd5b50356001600160a01b031661117f565b6001546001600160a01b031681565b600254604080516331a9108f60e11b815260048101859052905133926001600160a01b031691636352211e916024808301926020929190829003018186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d602081101561042557600080fd5b50516001600160a01b031614610479576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600254604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156104d257600080fd5b505af11580156104e6573d6000803e3d6000fd5b505050506104f26111b8565b6006600084815260200190815260200160002060405180610120016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600682015481526020016007820160009054906101000a900460ff161515151581526020016007820160019054906101000a900460ff161515151581525050905060055481600001818152505082816020018181525050818160600181815250503381608001906001600160a01b031690816001600160a01b031681525050428160c001818152505080600660008581526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff0219169083151502179055506101008201518160070160016101000a81548160ff0219169083151502179055509050508260076000600554815260200190815260200160002081905550336001600160a01b0316837f63ee37b4d42c1356bfc458c2a7f33bc4b37d951b24e3ec0852c981789dfc1e9c846040518082815260200191505060405180910390a3505060058054600101905550565b6000818152600660205260409020600401546001600160a01b031633146107d4576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600081815260066020526040902060010154811461082e576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040808220600701805460ff1916600117905560025481516323b872dd60e01b81523060048201523360248201526044810185905291516001600160a01b03909116926323b872dd926064808201939182900301818387803b15801561089d57600080fd5b505af11580156108b1573d6000803e3d6000fd5b50506040513392508391507fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e990600090a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6003546001600160a01b031681565b60055481565b6000546001600160a01b031681565b60008181526006602052604090206001015481146109bd576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040902060070154610100900460ff1615610a135760405162461bcd60e51b815260040180806020018281038252602481526020018061121b6024913960400191505060405180910390fd5b610a1b6110ea565b15610b8a576000818152600660205260409020600301543414610a6f5760405162461bcd60e51b815260040180806020018281038252602f815260200180611291602f913960400191505060405180910390fd5b6003546001600160a01b031615610afd57600380546000838152600660205260408082209093015460045493516001600160a01b0390931693606491020480156108fc02929091818181858888f19350505050610afd5760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b600081815260066020526040902060048082015460039092015490546001600160a01b03909216916108fc91606491820302049081150290604051600060405180830381858888f19350505050610b855760405162461bcd60e51b81526004018080602001828103825260388152602001806112c06038913960400191505060405180910390fd5b610e33565b60015460008281526006602090815260408083206003015481516323b872dd60e01b8152336004820152306024820152604481019190915290516001600160a01b03909416936323b872dd93606480840194938390030190829087803b158015610bf357600080fd5b505af1158015610c07573d6000803e3d6000fd5b505050506040513d6020811015610c1d57600080fd5b5051610c5a5760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b6003546001600160a01b031615610d5657600154600380546000848152600660205260409020909101546004546001600160a01b039384169363a9059cbb93169160649102046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b5051610d565760405162461bcd60e51b815260040180806020018281038252602b81526020018061123f602b913960400191505060405180910390fd5b60015460008281526006602090815260408083206004808201546003909201548154845163a9059cbb60e01b81526001600160a01b03948516938101939093526064908103909102046024820152915194169363a9059cbb93604480840194938390030190829087803b158015610dcc57600080fd5b505af1158015610de0573d6000803e3d6000fd5b505050506040513d6020811015610df657600080fd5b5051610e335760405162461bcd60e51b815260040180806020018281038252602e8152602001806112f8602e913960400191505060405180910390fd5b600254604080516323b872dd60e01b81523060048201523360248201526044810184905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b158015610e8c57600080fd5b505af1158015610ea0573d6000803e3d6000fd5b50505060008281526006602090815260409182902060078101805461ff0019166101001790556004810154600390910154835190815292516001600160a01b039091169350339285927ff987d279e153abdd99199c514bc50631e79d5e1f82343a733d9fcd149cff97ff92918290030190a4600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6000546001600160a01b03163314610f8657600080fd5b6001600160a01b038216610fd8576040805162461bcd60e51b81526020600482015260146024820152731059191c995cdcc818d85b9d081899481b9d5b1b60621b604482015290519081900360640190fd5b606481106110175760405162461bcd60e51b815260040180806020018281038252602781526020018061126a6027913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b039390931692909217909155600455565b60045481565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494969395929491936001600160a01b039182169391169160ff8082169161010090041689565b60076020526000908152604090205481565b6000546001600160a01b031633146110c857600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03161590565b6000546001600160a01b0316331461111157600080fd5b6001600160a01b03811661112457600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461119657600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600015158152602001600015158152509056fe4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e736665724665652050657263656e746167652068617320746f206265206c6f776572207468616e203130305265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f72726563745761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c65725761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572a2646970667358221220ca97fae7166f5c5687144454638a56b42f2be915a8ea0ed78308e297c850036d64736f6c63430006020033", - "sourceMap": "171:4821:4:-:0;;;385:1;354:32;;435:1;402:34;;848:162;8:9:-1;5:2;;;30:1;27;20:12;5:2;848:162:4;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;848:162:4;;;;;;;508:5:11;:18;;-1:-1:-1;;;;;;508:18:11;;;516:10;508:18;;;;;931:28:4;;-1:-1:-1;;;;;931:28:4;;;;;;;;;973:13;:30;;;;;;;;;;;;;;171:4821;;;;;;", - "deployedSourceMap": "171:4821:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;249:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;249:25:4;;;:::i;:::-;;;;-1:-1:-1;;;;;249:25:4;;;;;;;;;;;;;;1408:661;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1408:661:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1408:661:4;;;;;;;:::i;:::-;;2076:412;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2076:412:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2076:412:4;;:::i;315:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;315:33:4;;;:::i;402:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:34:4;;;:::i;:::-;;;;;;;;;;;;;;;;239:20:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:20:11;;;:::i;2494:1940:4:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2494:1940:4;;:::i;4666:323::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4666:323:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4666:323:4;;;;;;;;:::i;354:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;354:32:4;;;:::i;447:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;447:37:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;447:37:4;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;447:37:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;525:44:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;525:44:4;;:::i;4440:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4440:104:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4440:104:4;-1:-1:-1;;;;;4440:104:4;;:::i;1289:113::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1289:113:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;864:188:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;864:188:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;4550:110:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4550:110:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4550:110:4;-1:-1:-1;;;;;4550:110:4;;:::i;249:25::-;;;-1:-1:-1;;;;;249:25:4;;:::o;1408:661::-;1492:13;;:31;;;-1:-1:-1;;;1492:31:4;;;;;;;;;;1527:10;;-1:-1:-1;;;;;1492:13:4;;:21;;:31;;;;;;;;;;;;;;:13;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;1492:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1492:31:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1492:31:4;-1:-1:-1;;;;;1492:45:4;;1484:78;;;;;-1:-1:-1;;;1484:78:4;;;;;;;;;;;;-1:-1:-1;;;1484:78:4;;;;;;;;;;;;;;;1572:13;;:63;;;-1:-1:-1;;;1572:63:4;;1599:10;1572:63;;;;1619:4;1572:63;;;;;;;;;;;;-1:-1:-1;;;;;1572:13:4;;;;:26;;:63;;;;;:13;;:63;;;;;;;;:13;;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;1572:63:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1572:63:4;;;;1675:16;;:::i;:::-;1694:5;:15;1700:8;1694:15;;;;;;;;;;;1675:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:15;;1719:4;:11;;:29;;;;;1773:8;1758:4;:12;;:23;;;;;1804:6;1791:4;:10;;:19;;;;;1834:10;1820:4;:11;;:24;-1:-1:-1;;;;;1820:24:4;;;-1:-1:-1;;;;;1820:24:4;;;;;1866:15;1854:4;:9;;:27;;;;;1909:4;1891:5;:15;1897:8;1891:15;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:22:4;;;;;-1:-1:-1;;;;;1891:22:4;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:22:4;;;;;-1:-1:-1;;;;;1891:22:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:8;1923:9;:26;1933:15;;1923:26;;;;;;;;;;;:37;;;;2006:10;-1:-1:-1;;;;;1976:41:4;1988:8;1976:41;1998:6;1976:41;;;;;;;;;;;;;;;;;;-1:-1:-1;;2045:15:4;;;2061:1;2045:17;2027:35;;-1:-1:-1;1408:661:4:o;2076:412::-;2149:15;;;;:5;:15;;;;;:22;;;-1:-1:-1;;;;;2149:22:4;2175:10;2149:36;2141:69;;;;;-1:-1:-1;;;2141:69:4;;;;;;;;;;;;-1:-1:-1;;;2141:69:4;;;;;;;;;;;;;;;2228:15;;;;:5;:15;;;;;:23;;;:35;;2220:66;;;;;-1:-1:-1;;;2220:66:4;;;;;;;;;;;;-1:-1:-1;;;2220:66:4;;;;;;;;;;;;;;;2296:15;;;;:5;:15;;;;;;:24;;:31;;-1:-1:-1;;2296:31:4;2323:4;2296:31;;;2337:13;;:63;;-1:-1:-1;;;2337:63:4;;2372:4;2337:63;;;;2379:10;2337:63;;;;;;;;;;;;-1:-1:-1;;;;;2337:13:4;;;;:26;;:63;;;;;;;;;;;2296:15;2337:13;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;2337:63:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2415:34:4;;2438:10;;-1:-1:-1;2428:8:4;;-1:-1:-1;2415:34:4;;;;;2466:15;;;;:5;:15;;;;;;;2459:22;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2459:22:4;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2459:22:4;;;2076:412::o;315:33::-;;;-1:-1:-1;;;;;315:33:4;;:::o;402:34::-;;;;:::o;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;2494:1940:4:-;2572:15;;;;:5;:15;;;;;:23;;;:35;;2564:66;;;;;-1:-1:-1;;;2564:66:4;;;;;;;;;;;;-1:-1:-1;;;2564:66:4;;;;;;;;;;;;;;;2649:15;;;;:5;:15;;;;;:20;;;;;;;;2648:21;2640:71;;;;-1:-1:-1;;;2640:71:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2733:21;:19;:21::i;:::-;2730:1427;;;2823:15;;;;:5;:15;;;;;:21;;;2848:9;2823:34;2815:94;;;;-1:-1:-1;;;2815:94:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2927:10;;-1:-1:-1;;;;;2927:10:4;:24;2924:268;;3025:10;;;;3083:15;;;:5;:15;;;;;;:21;;;;3067:13;;3025:104;;-1:-1:-1;;;;;3025:10:4;;;;3108:3;3067:37;;3066:45;3025:104;;;;;3066:45;;3025:104;:10;:104;3066:45;3025:10;:104;;;;;;;3017:160;;;;-1:-1:-1;;;3017:160:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3261:15;;;;:5;:15;;;;;:22;;;;;3312:21;;;;;3295:13;;-1:-1:-1;;;;;3261:22:4;;;;:80;;3337:3;;3291:17;;3290:43;3289:51;3261:80;;;;;;;;;;;;;;;;;;;;;;;3253:149;;;;-1:-1:-1;;;3253:149:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2730:1427;;;3480:12;;;3533:15;;;:5;:15;;;;;;;;:21;;;3480:75;;-1:-1:-1;;;3480:75:4;;3506:10;3480:75;;;;3526:4;3480:75;;;;;;;;;;;;;-1:-1:-1;;;;;3480:12:4;;;;:25;;:75;;;;;3533:15;3480:75;;;;;;;:12;:75;;;5:2:-1;;;;30:1;27;20:12;5:2;3480:75:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3480:75:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3480:75:4;3472:131;;;;-1:-1:-1;;;3472:131:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3621:10;;-1:-1:-1;;;;;3621:10:4;:24;3618:310;;3719:12;;3766:10;;;3719:12;3819:15;;;:5;:15;;;;;:21;;;;3803:13;;-1:-1:-1;;;;;3719:12:4;;;;:21;;3766:10;;3844:3;;3803:37;3802:45;3719:146;;;;;;;;;;;;;-1:-1:-1;;;;;3719:146:4;-1:-1:-1;;;;;3719:146:4;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3719:146:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3719:146:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3719:146:4;3711:202;;;;-1:-1:-1;;;3711:202:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3997:12;;;4019:15;;;:5;:15;;;;;;;;:22;;;;;4066:21;;;;;4049:13;;3997:98;;-1:-1:-1;;;3997:98:4;;-1:-1:-1;;;;;4019:22:4;;;3997:98;;;;;;;4091:3;4045:17;;;4044:43;;;4043:51;3997:98;;;;;;:12;;;:21;;:98;;;;;4019:15;3997:98;;;;;;;:12;:98;;;5:2:-1;;;;30:1;27;20:12;5:2;3997:98:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3997:98:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3997:98:4;3989:157;;;;-1:-1:-1;;;3989:157:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4202:13;;:63;;;-1:-1:-1;;;4202:63:4;;4237:4;4202:63;;;;4244:10;4202:63;;;;;;;;;;;;-1:-1:-1;;;;;4202:13:4;;;;:26;;:63;;;;;:13;;:63;;;;;;;;:13;;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;4202:63:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;4276:15:4;;;;:5;:15;;;;;;;;;:20;;;:27;;-1:-1:-1;;4276:27:4;;;;;4349:22;;;;4373:21;;;;;4318:77;;;;;;;-1:-1:-1;;;;;4349:22:4;;;;-1:-1:-1;4337:10:4;;4282:8;;4318:77;;;;;;;;;4412:15;;;;:5;:15;;;;;;;4405:22;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4405:22:4;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4405:22:4;;;2494:1940::o;4666:323::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;4776:25:4;::::1;4768:58;;;::::0;;-1:-1:-1;;;4768:58:4;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4768:58:4;;;;;;;;;;;;;::::1;;4861:3;4844:14;:20;4836:72;;;;-1:-1:-1::0;;;4836:72:4::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4918:10;:24:::0;;-1:-1:-1;;;;;;4918:24:4::1;-1:-1:-1::0;;;;;4918:24:4;;;::::1;::::0;;;::::1;::::0;;;4952:13:::1;:30:::0;4666:323::o;354:32::-;;;;:::o;447:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;447:37:4;;;;;;;;;;;;;;;;;:::o;525:44::-;;;;;;;;;;;;;:::o;4440:104::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4509:12:4::1;:28:::0;;-1:-1:-1;;;;;;4509:28:4::1;-1:-1:-1::0;;;;;4509:28:4;;;::::1;::::0;;;::::1;::::0;;4440:104::o;1289:113::-;1367:12;;-1:-1:-1;;;;;1367:12:4;1359:35;1289:113;:::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;4550:110:4:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4623:13:4::1;:30:::0;;-1:-1:-1;;;;;;4623:30:4::1;-1:-1:-1::0;;;;;4623:30:4;;;::::1;::::0;;;::::1;::::0;;4550:110::o;171:4821::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;171:4821:4;;;;;;-1:-1:-1;;;;;171:4821:4;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract ERC721Marketplace is Ownable {\n\n using SafeMath for uint256;\n\n ERC20 public erc20Address;\n IERC721 private erc721Address;\n address payable public feeAddress;\n uint256 public feePercentage = 0; // 1 = 1%\n uint256 public saleIncrementId = 1;\n \n mapping(uint256 => Sale) public sales; // maps token id with sales object\n mapping(uint256 => uint256) public salesById; // maps saleId with token id\n\n struct Sale {\n uint256 saleId;\n uint256 tokenId;\n uint256 timesSold;\n uint256 price;\n address payable seller;\n address buyer;\n uint256 date;\n bool canceled;\n bool sold;\n }\n\n constructor(ERC20 _erc20Address, \n IERC721 _erc721Address) public {\n erc20Address = _erc20Address;\n erc721Address = _erc721Address;\n }\n\n event SaleCreated(uint256 indexed tokenId, uint256 price, address indexed creator);\n event SaleCanceled(uint256 indexed tokenId, address indexed creator);\n event SaleDone(uint256 indexed tokenId, address indexed buyer, address indexed creator, uint256 price);\n\n\n function isNativeTransaction() public returns (bool){\n return (address(erc20Address) == address(0));\n }\n\n function putERC721OnSale(uint256 _tokenId, uint256 _price) public {\n require(erc721Address.ownerOf(_tokenId) == msg.sender, \"Not Owner of the NFT\");\n erc721Address.transferFrom(msg.sender, address(this), _tokenId);\n // Create Sale Object\n Sale memory sale = sales[_tokenId];\n sale.saleId = saleIncrementId;\n sale.tokenId = _tokenId;\n sale.price = _price;\n sale.seller = msg.sender;\n sale.date = block.timestamp;\n sales[_tokenId] = sale;\n salesById[saleIncrementId] = _tokenId;\n\n emit SaleCreated(_tokenId, _price, msg.sender);\n saleIncrementId = saleIncrementId+1;\n }\n\n\n function removeERC721FromSale(uint256 _tokenId) public {\n require(sales[_tokenId].seller == msg.sender, \"Not Owner of the NFT\");\n require(sales[_tokenId].tokenId == _tokenId, \"NFT is not in sale\");\n sales[_tokenId].canceled = true;\n erc721Address.transferFrom(address(this), msg.sender, _tokenId);\n emit SaleCanceled(_tokenId, msg.sender);\n delete sales[_tokenId];\n }\n\n function buyERC721(uint256 _tokenId) payable public virtual {\n require(sales[_tokenId].tokenId == _tokenId, \"NFT is not in sale\");\n require(!sales[_tokenId].sold, \"NFT has to be available for purchase\" );\n \n if(isNativeTransaction()){\n //Transfer Native ETH to contract\n require(sales[_tokenId].price == msg.value, \"Require Amount of Native Currency to be correct\");\n\n if(feeAddress != address(0)){\n // Transfer fee to fee address\n require(feeAddress.send(\n (feePercentage * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n }\n \n //Transfer ERC20 to seller\n require(sales[_tokenId].seller.send(((100-feePercentage) * sales[_tokenId].price) / 100), \"Wasnt able to transfer the Native Currency to the seller\");\n }else{\n //Transfer ERC20 to contract\n require(erc20Address.transferFrom(msg.sender, address(this), sales[_tokenId].price), \"Contract was not allowed to do the transfer\");\n\n if(feeAddress != address(0)){\n // Transfer fee to fee address\n require(erc20Address.transfer(\n feeAddress,\n (feePercentage * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n }\n \n //Transfer ERC20 to seller\n require(erc20Address.transfer(sales[_tokenId].seller, ((100-feePercentage) * sales[_tokenId].price) / 100), \"Wasnt able to transfer the ERC20 to the seller\");\n }\n\n //Transfer ERC721 to buyer\n erc721Address.transferFrom(address(this), msg.sender, _tokenId);\n\n sales[_tokenId].sold = true;\n emit SaleDone(_tokenId, msg.sender, sales[_tokenId].seller, sales[_tokenId].price);\n delete sales[_tokenId];\n }\n\n function changeERC20(ERC20 _erc20Address) public onlyOwner {\n erc20Address = _erc20Address;\n }\n\n function changeERC721(IERC721 _erc721Address) public onlyOwner {\n erc721Address = _erc721Address;\n }\n\n function setFixedFees(address payable _feeAddress, uint256 _feePercentage) public onlyOwner {\n require(_feeAddress != address(0), \"Address cant be null\");\n require(_feePercentage < 100, \"Fee Percentage has to be lower than 100\");\n feeAddress = _feeAddress;\n feePercentage = _feePercentage;\n }\n\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol", - "exportedSymbols": { - "ERC721Marketplace": [ - 1629 - ] - }, - "id": 1630, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1124, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 1125, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 10301, - "src": "26:57:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1126, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 9319, - "src": "84:55:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1127, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 8431, - "src": "140:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1128, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "201:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 1129, - "nodeType": "InheritanceSpecifier", - "src": "201:7:4" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1629, - "linearizedBaseContracts": [ - 1629, - 8430 - ], - "name": "ERC721Marketplace", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1132, - "libraryName": { - "contractScope": null, - "id": 1130, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "222:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "216:27:4", - "typeName": { - "id": 1131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "276184ae", - "id": 1134, - "name": "erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "249:25:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1133, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "249:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1136, - "name": "erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "280:29:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1135, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "280:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 1138, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "315:33:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a001ecdd", - "id": 1141, - "name": "feePercentage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "354:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "385:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7f09e9af", - "id": 1144, - "name": "saleIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "402:34:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "402:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 1143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b5f522f7", - "id": 1148, - "name": "sales", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "447:37:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale)" - }, - "typeName": { - "id": 1147, - "keyType": { - "id": 1145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale)" - }, - "valueType": { - "contractScope": null, - "id": 1146, - "name": "Sale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1171, - "src": "466:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage_ptr", - "typeString": "struct ERC721Marketplace.Sale" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c4c28125", - "id": 1152, - "name": "salesById", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "525:44:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 1151, - "keyType": { - "id": 1149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "525:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 1150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "544:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC721Marketplace.Sale", - "id": 1171, - "members": [ - { - "constant": false, - "id": 1154, - "name": "saleId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "627:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1156, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "651:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "651:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1158, - "name": "timesSold", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "676:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1160, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "703:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1162, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "726:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "726:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1164, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "758:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "758:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1166, - "name": "date", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "781:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1168, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "803:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1170, - "name": "sold", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "826:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1169, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "826:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Sale", - "nodeType": "StructDefinition", - "scope": 1629, - "src": "605:237:4", - "visibility": "public" - }, - { - "body": { - "id": 1186, - "nodeType": "Block", - "src": "917:93:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1178, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "931:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1179, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "946:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "931:28:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1181, - "nodeType": "ExpressionStatement", - "src": "931:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1182, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "973:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1183, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "989:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "src": "973:30:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1185, - "nodeType": "ExpressionStatement", - "src": "973:30:4" - } - ] - }, - "documentation": null, - "id": 1187, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1173, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1187, - "src": "860:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1172, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "860:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1187, - "src": "886:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1174, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "886:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "859:50:4" - }, - "returnParameters": { - "id": 1177, - "nodeType": "ParameterList", - "parameters": [], - "src": "917:0:4" - }, - "scope": 1629, - "src": "848:162:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1195, - "name": "SaleCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 1194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1189, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1034:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1034:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1191, - "indexed": false, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1059:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1193, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1074:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1074:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:65:4" - }, - "src": "1016:83:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1201, - "name": "SaleCanceled", - "nodeType": "EventDefinition", - "parameters": { - "id": 1200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "1123:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1199, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "1148:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1148:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:50:4" - }, - "src": "1104:69:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1211, - "name": "SaleDone", - "nodeType": "EventDefinition", - "parameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1203, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1193:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1193:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1205, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1218:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1218:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1207, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1242:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1209, - "indexed": false, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1267:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1192:89:4" - }, - "src": "1178:104:4" - }, - { - "body": { - "id": 1227, - "nodeType": "Block", - "src": "1341:61:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1218, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "1367:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - ], - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1359:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1359:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1392:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1384:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1359:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1225, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1358:37:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1215, - "id": 1226, - "nodeType": "Return", - "src": "1351:44:4" - } - ] - }, - "documentation": null, - "functionSelector": "d6e9d8d1", - "id": 1228, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isNativeTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1212, - "nodeType": "ParameterList", - "parameters": [], - "src": "1317:2:4" - }, - "returnParameters": { - "id": 1215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1214, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1228, - "src": "1336:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1213, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1336:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1335:6:4" - }, - "scope": 1629, - "src": "1289:113:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1321, - "nodeType": "Block", - "src": "1474:595:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1238, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1514:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1236, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "1492:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10343, - "src": "1492:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 1239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1492:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1240, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1527:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1527:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1492:45:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f74204f776e6572206f6620746865204e4654", - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - }, - "value": "Not Owner of the NFT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - } - ], - "id": 1235, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1484:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1484:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1484:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1249, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1599:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1599:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1253, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1619:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1611:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1251, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1611:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1255, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1626:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1246, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "1572:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "1572:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1572:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1257, - "nodeType": "ExpressionStatement", - "src": "1572:63:4" - }, - { - "assignments": [ - 1259 - ], - "declarations": [ - { - "constant": false, - "id": 1259, - "name": "sale", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1321, - "src": "1675:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale" - }, - "typeName": { - "contractScope": null, - "id": 1258, - "name": "Sale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1171, - "src": "1675:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage_ptr", - "typeString": "struct ERC721Marketplace.Sale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1263, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1260, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1694:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1262, - "indexExpression": { - "argumentTypes": null, - "id": 1261, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1700:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1694:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1675:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1264, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1719:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1154, - "src": "1719:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1267, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "1733:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1719:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1269, - "nodeType": "ExpressionStatement", - "src": "1719:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1270, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1758:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1272, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "1758:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1273, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1773:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1758:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1275, - "nodeType": "ExpressionStatement", - "src": "1758:23:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1276, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1791:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "1791:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1279, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "1804:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1791:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1281, - "nodeType": "ExpressionStatement", - "src": "1791:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1282, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1820:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "1820:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1285, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1834:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1834:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1820:24:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1288, - "nodeType": "ExpressionStatement", - "src": "1820:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1289, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1854:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 1166, - "src": "1854:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1292, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1866:5:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1866:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1854:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1295, - "nodeType": "ExpressionStatement", - "src": "1854:27:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1296, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1891:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1298, - "indexExpression": { - "argumentTypes": null, - "id": 1297, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1897:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1891:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1299, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1909:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "src": "1891:22:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1301, - "nodeType": "ExpressionStatement", - "src": "1891:22:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1302, - "name": "salesById", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "1923:9:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1304, - "indexExpression": { - "argumentTypes": null, - "id": 1303, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "1933:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1923:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1305, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1952:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1923:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1307, - "nodeType": "ExpressionStatement", - "src": "1923:37:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1309, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1988:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1310, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "1998:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1311, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2006:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2006:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1308, - "name": "SaleCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1195, - "src": "1976:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1976:41:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1314, - "nodeType": "EmitStatement", - "src": "1971:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1315, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "2027:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1316, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "2045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2061:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2045:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2027:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1320, - "nodeType": "ExpressionStatement", - "src": "2027:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "332c7263", - "id": 1322, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "putERC721OnSale", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1322, - "src": "1433:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1433:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1232, - "name": "_price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1322, - "src": "1451:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1451:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1432:34:4" - }, - "returnParameters": { - "id": 1234, - "nodeType": "ParameterList", - "parameters": [], - "src": "1474:0:4" - }, - "scope": 1629, - "src": "1408:661:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1378, - "nodeType": "Block", - "src": "2131:357:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1328, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2149:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1330, - "indexExpression": { - "argumentTypes": null, - "id": 1329, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2155:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2149:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "2149:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2175:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2175:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2149:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f74204f776e6572206f6620746865204e4654", - "id": 1335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2187:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - }, - "value": "Not Owner of the NFT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - } - ], - "id": 1327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2141:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2141:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1337, - "nodeType": "ExpressionStatement", - "src": "2141:69:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1339, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2228:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1341, - "indexExpression": { - "argumentTypes": null, - "id": 1340, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2234:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2228:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "2228:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1343, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2255:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2228:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 1345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2265:20:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 1338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2220:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2220:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1347, - "nodeType": "ExpressionStatement", - "src": "2220:66:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1348, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2296:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1350, - "indexExpression": { - "argumentTypes": null, - "id": 1349, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2302:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2296:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 1168, - "src": "2296:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2323:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2296:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1354, - "nodeType": "ExpressionStatement", - "src": "2296:31:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1360, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2372:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2364:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2364:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2364:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2379:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2379:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1364, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2391:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "2337:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "2337:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2337:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "2337:63:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1368, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2428:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1369, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2438:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2438:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1367, - "name": "SaleCanceled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "2415:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2415:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1372, - "nodeType": "EmitStatement", - "src": "2410:39:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2459:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1373, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2466:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1375, - "indexExpression": { - "argumentTypes": null, - "id": 1374, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2472:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2466:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "2459:22:4" - } - ] - }, - "documentation": null, - "functionSelector": "3c61c907", - "id": 1379, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeERC721FromSale", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1324, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1379, - "src": "2106:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2106:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2105:18:4" - }, - "returnParameters": { - "id": 1326, - "nodeType": "ParameterList", - "parameters": [], - "src": "2131:0:4" - }, - "scope": 1629, - "src": "2076:412:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1568, - "nodeType": "Block", - "src": "2554:1880:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1385, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2572:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1387, - "indexExpression": { - "argumentTypes": null, - "id": 1386, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2578:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2572:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "2572:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1389, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2599:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2609:20:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 1384, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1393, - "nodeType": "ExpressionStatement", - "src": "2564:66:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2648:21:4", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1395, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2649:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1397, - "indexExpression": { - "argumentTypes": null, - "id": 1396, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2655:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2649:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "2649:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365", - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2671:38:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - }, - "value": "NFT has to be available for purchase" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - } - ], - "id": 1394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2640:71:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1402, - "nodeType": "ExpressionStatement", - "src": "2640:71:4" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1403, - "name": "isNativeTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "2733:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 1404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2733:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1528, - "nodeType": "Block", - "src": "3417:740:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3506:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3506:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3526:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3518:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3518:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3518:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1472, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3533:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1474, - "indexExpression": { - "argumentTypes": null, - "id": 1473, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3539:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3533:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3533:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1464, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3480:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3480:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3557:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1463, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3472:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3472:131:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1479, - "nodeType": "ExpressionStatement", - "src": "3472:131:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1480, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3621:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3643:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3635:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3635:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3635:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3621:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1504, - "nodeType": "IfStatement", - "src": "3618:310:4", - "trueBody": { - "id": 1503, - "nodeType": "Block", - "src": "3646:282:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1489, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3766:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1490, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3803:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1491, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3819:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1493, - "indexExpression": { - "argumentTypes": null, - "id": 1492, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3825:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3819:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3819:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3803:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3802:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3844:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3802:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1487, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3719:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3719:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3719:146:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3867:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1486, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3711:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3711:202:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1502, - "nodeType": "ExpressionStatement", - "src": "3711:202:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1508, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4019:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1510, - "indexExpression": { - "argumentTypes": null, - "id": 1509, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4025:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4019:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4019:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4045:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1513, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "4049:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4045:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1515, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4044:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1516, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4066:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1518, - "indexExpression": { - "argumentTypes": null, - "id": 1517, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4072:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4066:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4066:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4044:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1521, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4043:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4091:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4043:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1506, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3997:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3997:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:98:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572", - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4097:48:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - }, - "value": "Wasnt able to transfer the ERC20 to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - } - ], - "id": 1505, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3989:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3989:157:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "3989:157:4" - } - ] - }, - "id": 1529, - "nodeType": "IfStatement", - "src": "2730:1427:4", - "trueBody": { - "id": 1462, - "nodeType": "Block", - "src": "2755:658:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1406, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2823:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1408, - "indexExpression": { - "argumentTypes": null, - "id": 1407, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2829:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2823:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2823:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2848:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2848:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2823:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f7272656374", - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2859:49:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - }, - "value": "Require Amount of Native Currency to be correct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - } - ], - "id": 1405, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2815:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2815:94:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1415, - "nodeType": "ExpressionStatement", - "src": "2815:94:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1416, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2927:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2949:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2941:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2941:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2941:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2927:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1439, - "nodeType": "IfStatement", - "src": "2924:268:4", - "trueBody": { - "id": 1438, - "nodeType": "Block", - "src": "2952:240:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1425, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3067:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1426, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3083:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1428, - "indexExpression": { - "argumentTypes": null, - "id": 1427, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3089:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3083:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3083:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3067:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1431, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3066:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3108:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3066:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1423, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3025:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3025:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:104:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3131:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1422, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3017:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3017:160:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1437, - "nodeType": "ExpressionStatement", - "src": "3017:160:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3291:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1447, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3295:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3291:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1449, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3290:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1450, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3312:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1452, - "indexExpression": { - "argumentTypes": null, - "id": 1451, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3318:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3312:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3312:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3290:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1455, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3289:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3337:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3289:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1441, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3261:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1443, - "indexExpression": { - "argumentTypes": null, - "id": 1442, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3267:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3261:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "3261:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3261:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3261:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c6572", - "id": 1459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3343:58:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - }, - "value": "Wasnt able to transfer the Native Currency to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - } - ], - "id": 1440, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3253:149:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1461, - "nodeType": "ExpressionStatement", - "src": "3253:149:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1535, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4237:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4229:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1533, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4229:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4229:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1537, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4244:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4244:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1539, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1530, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "4202:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "4202:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4202:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1541, - "nodeType": "ExpressionStatement", - "src": "4202:63:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1542, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4276:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1544, - "indexExpression": { - "argumentTypes": null, - "id": 1543, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4282:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4276:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "4276:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4299:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4276:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "4276:27:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1550, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4327:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1551, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4337:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4337:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1553, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4349:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1555, - "indexExpression": { - "argumentTypes": null, - "id": 1554, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4355:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4349:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4349:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1557, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4373:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1559, - "indexExpression": { - "argumentTypes": null, - "id": 1558, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4379:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4373:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4373:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1549, - "name": "SaleDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4318:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256)" - } - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4318:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1562, - "nodeType": "EmitStatement", - "src": "4313:82:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4405:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1563, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4412:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1565, - "indexExpression": { - "argumentTypes": null, - "id": 1564, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4418:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4412:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1567, - "nodeType": "ExpressionStatement", - "src": "4405:22:4" - } - ] - }, - "documentation": null, - "functionSelector": "944cce5b", - "id": 1569, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1381, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1569, - "src": "2513:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2512:18:4" - }, - "returnParameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [], - "src": "2554:0:4" - }, - "scope": 1629, - "src": "2494:1940:4", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1580, - "nodeType": "Block", - "src": "4499:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1576, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "4509:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1577, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "4524:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "4509:28:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1579, - "nodeType": "ExpressionStatement", - "src": "4509:28:4" - } - ] - }, - "documentation": null, - "functionSelector": "d2651855", - "id": 1581, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1574, - "modifierName": { - "argumentTypes": null, - "id": 1573, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4489:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4489:9:4" - } - ], - "name": "changeERC20", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1571, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1581, - "src": "4461:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1570, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "4461:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4460:21:4" - }, - "returnParameters": { - "id": 1575, - "nodeType": "ParameterList", - "parameters": [], - "src": "4499:0:4" - }, - "scope": 1629, - "src": "4440:104:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1592, - "nodeType": "Block", - "src": "4613:47:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1588, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "4623:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1589, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "4639:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "src": "4623:30:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1591, - "nodeType": "ExpressionStatement", - "src": "4623:30:4" - } - ] - }, - "documentation": null, - "functionSelector": "fd637975", - "id": 1593, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1586, - "modifierName": { - "argumentTypes": null, - "id": 1585, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4603:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4603:9:4" - } - ], - "name": "changeERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1583, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1593, - "src": "4572:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1582, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "4572:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4571:24:4" - }, - "returnParameters": { - "id": 1587, - "nodeType": "ParameterList", - "parameters": [], - "src": "4613:0:4" - }, - "scope": 1629, - "src": "4550:110:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1627, - "nodeType": "Block", - "src": "4758:231:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1603, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "4776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4791:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4791:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4791:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4776:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573732063616e74206265206e756c6c", - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4803:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5c1e3c4460575f77c3b8b6f38d59c6358854b5585929fda8ca27d5597a62beb1", - "typeString": "literal_string \"Address cant be null\"" - }, - "value": "Address cant be null" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5c1e3c4460575f77c3b8b6f38d59c6358854b5585929fda8ca27d5597a62beb1", - "typeString": "literal_string \"Address cant be null\"" - } - ], - "id": 1602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4768:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1611, - "nodeType": "ExpressionStatement", - "src": "4768:58:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1613, - "name": "_feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1597, - "src": "4844:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4861:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4844:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4665652050657263656e746167652068617320746f206265206c6f776572207468616e20313030", - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:41:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9a50e1ce8150526a8ae1dee1f2f2e33def6f6e834ad24e6b2abd42b6c94bedad", - "typeString": "literal_string \"Fee Percentage has to be lower than 100\"" - }, - "value": "Fee Percentage has to be lower than 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9a50e1ce8150526a8ae1dee1f2f2e33def6f6e834ad24e6b2abd42b6c94bedad", - "typeString": "literal_string \"Fee Percentage has to be lower than 100\"" - } - ], - "id": 1612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4836:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4836:72:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "4836:72:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1619, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "4918:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1620, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "4931:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4918:24:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1622, - "nodeType": "ExpressionStatement", - "src": "4918:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1623, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "4952:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "_feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1597, - "src": "4968:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4952:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "4952:30:4" - } - ] - }, - "documentation": null, - "functionSelector": "95fcf58e", - "id": 1628, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1600, - "modifierName": { - "argumentTypes": null, - "id": 1599, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4748:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4748:9:4" - } - ], - "name": "setFixedFees", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1595, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1628, - "src": "4688:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4688:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1597, - "name": "_feePercentage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1628, - "src": "4717:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4717:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:53:4" - }, - "returnParameters": { - "id": 1601, - "nodeType": "ParameterList", - "parameters": [], - "src": "4758:0:4" - }, - "scope": 1629, - "src": "4666:323:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1630, - "src": "171:4821:4" - } - ], - "src": "0:4992:4" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol", - "exportedSymbols": { - "ERC721Marketplace": [ - 1629 - ] - }, - "id": 1630, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1124, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:4" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 1125, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 10301, - "src": "26:57:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1126, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 9319, - "src": "84:55:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1127, - "nodeType": "ImportDirective", - "scope": 1630, - "sourceUnit": 8431, - "src": "140:29:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1128, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "201:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 1129, - "nodeType": "InheritanceSpecifier", - "src": "201:7:4" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1629, - "linearizedBaseContracts": [ - 1629, - 8430 - ], - "name": "ERC721Marketplace", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1132, - "libraryName": { - "contractScope": null, - "id": 1130, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "222:8:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "216:27:4", - "typeName": { - "id": 1131, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "235:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "276184ae", - "id": 1134, - "name": "erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "249:25:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1133, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "249:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1136, - "name": "erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "280:29:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1135, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "280:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 1138, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "315:33:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1137, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a001ecdd", - "id": 1141, - "name": "feePercentage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "354:32:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1140, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "385:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7f09e9af", - "id": 1144, - "name": "saleIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "402:34:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1142, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "402:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 1143, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "435:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b5f522f7", - "id": 1148, - "name": "sales", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "447:37:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale)" - }, - "typeName": { - "id": 1147, - "keyType": { - "id": 1145, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "455:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale)" - }, - "valueType": { - "contractScope": null, - "id": 1146, - "name": "Sale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1171, - "src": "466:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage_ptr", - "typeString": "struct ERC721Marketplace.Sale" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c4c28125", - "id": 1152, - "name": "salesById", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1629, - "src": "525:44:4", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 1151, - "keyType": { - "id": 1149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "525:27:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 1150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "544:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ERC721Marketplace.Sale", - "id": 1171, - "members": [ - { - "constant": false, - "id": 1154, - "name": "saleId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "627:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "627:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1156, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "651:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "651:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1158, - "name": "timesSold", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "676:17:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "676:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1160, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "703:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1162, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "726:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1161, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "726:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1164, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "758:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "758:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1166, - "name": "date", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "781:12:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1165, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1168, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "803:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1167, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "803:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1170, - "name": "sold", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1171, - "src": "826:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1169, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "826:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Sale", - "nodeType": "StructDefinition", - "scope": 1629, - "src": "605:237:4", - "visibility": "public" - }, - { - "body": { - "id": 1186, - "nodeType": "Block", - "src": "917:93:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1178, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "931:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1179, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1173, - "src": "946:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "931:28:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1181, - "nodeType": "ExpressionStatement", - "src": "931:28:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1182, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "973:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1183, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1175, - "src": "989:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "src": "973:30:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1185, - "nodeType": "ExpressionStatement", - "src": "973:30:4" - } - ] - }, - "documentation": null, - "id": 1187, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1176, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1173, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1187, - "src": "860:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1172, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "860:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1175, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1187, - "src": "886:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1174, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "886:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "859:50:4" - }, - "returnParameters": { - "id": 1177, - "nodeType": "ParameterList", - "parameters": [], - "src": "917:0:4" - }, - "scope": 1629, - "src": "848:162:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1195, - "name": "SaleCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 1194, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1189, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1034:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1188, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1034:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1191, - "indexed": false, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1059:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1193, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1195, - "src": "1074:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1192, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1074:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:65:4" - }, - "src": "1016:83:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1201, - "name": "SaleCanceled", - "nodeType": "EventDefinition", - "parameters": { - "id": 1200, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1197, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "1123:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1199, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1201, - "src": "1148:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1198, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1148:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1122:50:4" - }, - "src": "1104:69:4" - }, - { - "anonymous": false, - "documentation": null, - "id": 1211, - "name": "SaleDone", - "nodeType": "EventDefinition", - "parameters": { - "id": 1210, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1203, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1193:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1193:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1205, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1218:21:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1204, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1218:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1207, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1242:23:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1206, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1242:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1209, - "indexed": false, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1211, - "src": "1267:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1267:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1192:89:4" - }, - "src": "1178:104:4" - }, - { - "body": { - "id": 1227, - "nodeType": "Block", - "src": "1341:61:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1218, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "1367:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - ], - "id": 1217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1216, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1359:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1359:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1392:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1223, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1384:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1359:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1225, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1358:37:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1215, - "id": 1226, - "nodeType": "Return", - "src": "1351:44:4" - } - ] - }, - "documentation": null, - "functionSelector": "d6e9d8d1", - "id": 1228, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isNativeTransaction", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1212, - "nodeType": "ParameterList", - "parameters": [], - "src": "1317:2:4" - }, - "returnParameters": { - "id": 1215, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1214, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1228, - "src": "1336:4:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1213, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1336:4:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1335:6:4" - }, - "scope": 1629, - "src": "1289:113:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1321, - "nodeType": "Block", - "src": "1474:595:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1238, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1514:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1236, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "1492:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "ownerOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 10343, - "src": "1492:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", - "typeString": "function (uint256) view external returns (address)" - } - }, - "id": 1239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1492:31:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1240, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1527:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1527:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1492:45:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f74204f776e6572206f6620746865204e4654", - "id": 1243, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - }, - "value": "Not Owner of the NFT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - } - ], - "id": 1235, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1484:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1484:78:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1245, - "nodeType": "ExpressionStatement", - "src": "1484:78:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1249, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1599:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1599:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1253, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1619:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1611:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1251, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1611:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1611:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1255, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1626:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1246, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "1572:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "1572:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1572:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1257, - "nodeType": "ExpressionStatement", - "src": "1572:63:4" - }, - { - "assignments": [ - 1259 - ], - "declarations": [ - { - "constant": false, - "id": 1259, - "name": "sale", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1321, - "src": "1675:16:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale" - }, - "typeName": { - "contractScope": null, - "id": 1258, - "name": "Sale", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1171, - "src": "1675:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage_ptr", - "typeString": "struct ERC721Marketplace.Sale" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1263, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1260, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1694:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1262, - "indexExpression": { - "argumentTypes": null, - "id": 1261, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1700:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1694:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1675:34:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1264, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1719:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1154, - "src": "1719:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1267, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "1733:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1719:29:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1269, - "nodeType": "ExpressionStatement", - "src": "1719:29:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1270, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1758:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1272, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "1758:12:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1273, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1773:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1758:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1275, - "nodeType": "ExpressionStatement", - "src": "1758:23:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1280, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1276, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1791:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "1791:10:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1279, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "1804:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1791:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1281, - "nodeType": "ExpressionStatement", - "src": "1791:19:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1282, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1820:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1284, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "1820:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1285, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1834:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1834:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1820:24:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1288, - "nodeType": "ExpressionStatement", - "src": "1820:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1289, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1854:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "id": 1291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "date", - "nodeType": "MemberAccess", - "referencedDeclaration": 1166, - "src": "1854:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1292, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "1866:5:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 1293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1866:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1854:27:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1295, - "nodeType": "ExpressionStatement", - "src": "1854:27:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1296, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1891:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1298, - "indexExpression": { - "argumentTypes": null, - "id": 1297, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1897:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1891:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1299, - "name": "sale", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1259, - "src": "1909:4:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_memory_ptr", - "typeString": "struct ERC721Marketplace.Sale memory" - } - }, - "src": "1891:22:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1301, - "nodeType": "ExpressionStatement", - "src": "1891:22:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1302, - "name": "salesById", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1152, - "src": "1923:9:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1304, - "indexExpression": { - "argumentTypes": null, - "id": 1303, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "1933:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1923:26:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1305, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1952:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1923:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1307, - "nodeType": "ExpressionStatement", - "src": "1923:37:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1309, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1230, - "src": "1988:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1310, - "name": "_price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1232, - "src": "1998:6:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1311, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2006:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2006:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1308, - "name": "SaleCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1195, - "src": "1976:11:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 1313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1976:41:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1314, - "nodeType": "EmitStatement", - "src": "1971:46:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1315, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "2027:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1316, - "name": "saleIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "2045:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1317, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2061:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2045:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2027:35:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1320, - "nodeType": "ExpressionStatement", - "src": "2027:35:4" - } - ] - }, - "documentation": null, - "functionSelector": "332c7263", - "id": 1322, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "putERC721OnSale", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1233, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1230, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1322, - "src": "1433:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1433:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1232, - "name": "_price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1322, - "src": "1451:14:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1451:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1432:34:4" - }, - "returnParameters": { - "id": 1234, - "nodeType": "ParameterList", - "parameters": [], - "src": "1474:0:4" - }, - "scope": 1629, - "src": "1408:661:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1378, - "nodeType": "Block", - "src": "2131:357:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1328, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2149:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1330, - "indexExpression": { - "argumentTypes": null, - "id": 1329, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2155:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2149:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1331, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "2149:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1332, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2175:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2175:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2149:36:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f74204f776e6572206f6620746865204e4654", - "id": 1335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2187:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - }, - "value": "Not Owner of the NFT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9ad6f806147d6bb289cd353243e3eb56e907d41d3eb7dc3e1774fa10238efcca", - "typeString": "literal_string \"Not Owner of the NFT\"" - } - ], - "id": 1327, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2141:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2141:69:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1337, - "nodeType": "ExpressionStatement", - "src": "2141:69:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1339, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2228:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1341, - "indexExpression": { - "argumentTypes": null, - "id": 1340, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2234:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2228:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "2228:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1343, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2255:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2228:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 1345, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2265:20:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 1338, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2220:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2220:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1347, - "nodeType": "ExpressionStatement", - "src": "2220:66:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1348, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2296:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1350, - "indexExpression": { - "argumentTypes": null, - "id": 1349, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2302:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2296:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 1168, - "src": "2296:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2323:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2296:31:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1354, - "nodeType": "ExpressionStatement", - "src": "2296:31:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1360, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2372:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1359, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2364:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2364:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2364:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2379:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2379:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1364, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2391:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1355, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "2337:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1357, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "2337:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2337:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1366, - "nodeType": "ExpressionStatement", - "src": "2337:63:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1368, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2428:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1369, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2438:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2438:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 1367, - "name": "SaleCanceled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "2415:12:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 1371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2415:34:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1372, - "nodeType": "EmitStatement", - "src": "2410:39:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "2459:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1373, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2466:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1375, - "indexExpression": { - "argumentTypes": null, - "id": 1374, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1324, - "src": "2472:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2466:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1377, - "nodeType": "ExpressionStatement", - "src": "2459:22:4" - } - ] - }, - "documentation": null, - "functionSelector": "3c61c907", - "id": 1379, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeERC721FromSale", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1324, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1379, - "src": "2106:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2106:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2105:18:4" - }, - "returnParameters": { - "id": 1326, - "nodeType": "ParameterList", - "parameters": [], - "src": "2131:0:4" - }, - "scope": 1629, - "src": "2076:412:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1568, - "nodeType": "Block", - "src": "2554:1880:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1385, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2572:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1387, - "indexExpression": { - "argumentTypes": null, - "id": 1386, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2578:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2572:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1388, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "2572:23:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 1389, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2599:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2572:35:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 1391, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2609:20:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 1384, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2564:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2564:66:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1393, - "nodeType": "ExpressionStatement", - "src": "2564:66:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2648:21:4", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1395, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2649:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1397, - "indexExpression": { - "argumentTypes": null, - "id": 1396, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2655:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2649:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "2649:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365", - "id": 1400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2671:38:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - }, - "value": "NFT has to be available for purchase" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - } - ], - "id": 1394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2640:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2640:71:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1402, - "nodeType": "ExpressionStatement", - "src": "2640:71:4" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 1403, - "name": "isNativeTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "2733:19:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 1404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2733:21:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 1528, - "nodeType": "Block", - "src": "3417:740:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3506:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3506:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1470, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3526:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3518:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1468, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3518:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3518:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1472, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3533:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1474, - "indexExpression": { - "argumentTypes": null, - "id": 1473, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3539:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3533:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3533:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1464, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3480:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3480:25:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 1476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:75:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1477, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3557:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1463, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3472:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3472:131:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1479, - "nodeType": "ExpressionStatement", - "src": "3472:131:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1480, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3621:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1483, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3643:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3635:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1481, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3635:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1484, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3635:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3621:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1504, - "nodeType": "IfStatement", - "src": "3618:310:4", - "trueBody": { - "id": 1503, - "nodeType": "Block", - "src": "3646:282:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1489, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3766:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1490, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3803:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1491, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3819:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1493, - "indexExpression": { - "argumentTypes": null, - "id": 1492, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3825:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3819:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3819:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3803:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1496, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3802:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1497, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3844:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3802:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1487, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3719:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3719:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3719:146:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1500, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3867:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1486, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3711:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3711:202:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1502, - "nodeType": "ExpressionStatement", - "src": "3711:202:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1508, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4019:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1510, - "indexExpression": { - "argumentTypes": null, - "id": 1509, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4025:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4019:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4019:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4045:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1513, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "4049:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4045:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1515, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4044:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1516, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4066:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1518, - "indexExpression": { - "argumentTypes": null, - "id": 1517, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4072:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4066:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4066:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4044:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1521, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4043:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4091:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4043:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1506, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3997:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3997:21:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 1524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3997:98:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572", - "id": 1525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4097:48:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - }, - "value": "Wasnt able to transfer the ERC20 to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - } - ], - "id": 1505, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3989:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3989:157:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1527, - "nodeType": "ExpressionStatement", - "src": "3989:157:4" - } - ] - }, - "id": 1529, - "nodeType": "IfStatement", - "src": "2730:1427:4", - "trueBody": { - "id": 1462, - "nodeType": "Block", - "src": "2755:658:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1406, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2823:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1408, - "indexExpression": { - "argumentTypes": null, - "id": 1407, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "2829:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2823:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2823:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1410, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2848:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2848:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2823:34:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f7272656374", - "id": 1413, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2859:49:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - }, - "value": "Require Amount of Native Currency to be correct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - } - ], - "id": 1405, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2815:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2815:94:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1415, - "nodeType": "ExpressionStatement", - "src": "2815:94:4" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1416, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2927:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1419, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2949:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1418, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2941:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1417, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2941:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1420, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2941:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2927:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1439, - "nodeType": "IfStatement", - "src": "2924:268:4", - "trueBody": { - "id": 1438, - "nodeType": "Block", - "src": "2952:240:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1425, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3067:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1426, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3083:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1428, - "indexExpression": { - "argumentTypes": null, - "id": 1427, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3089:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3083:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3083:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3067:37:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1431, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3066:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1432, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3108:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3066:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1423, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3025:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3025:15:4", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3025:104:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 1435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3131:45:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 1422, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3017:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3017:160:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1437, - "nodeType": "ExpressionStatement", - "src": "3017:160:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3291:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 1447, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3295:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3291:17:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1449, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3290:19:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1450, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3312:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1452, - "indexExpression": { - "argumentTypes": null, - "id": 1451, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3318:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3312:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3312:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3290:43:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1455, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3289:45:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1456, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3337:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3289:51:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1441, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3261:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1443, - "indexExpression": { - "argumentTypes": null, - "id": 1442, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "3267:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3261:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1444, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "3261:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3261:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 1458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3261:80:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c6572", - "id": 1459, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3343:58:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - }, - "value": "Wasnt able to transfer the Native Currency to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - } - ], - "id": 1440, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3253:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3253:149:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1461, - "nodeType": "ExpressionStatement", - "src": "3253:149:4" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1535, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4237:4:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - ], - "id": 1534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4229:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1533, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4229:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4229:13:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1537, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4244:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4244:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1539, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4256:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1530, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "4202:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "4202:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 1540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4202:63:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1541, - "nodeType": "ExpressionStatement", - "src": "4202:63:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1542, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4276:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1544, - "indexExpression": { - "argumentTypes": null, - "id": 1543, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4282:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4276:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "4276:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4299:4:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4276:27:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1548, - "nodeType": "ExpressionStatement", - "src": "4276:27:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1550, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4327:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1551, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4337:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4337:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1553, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4349:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1555, - "indexExpression": { - "argumentTypes": null, - "id": 1554, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4355:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4349:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4349:22:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1557, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4373:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1559, - "indexExpression": { - "argumentTypes": null, - "id": 1558, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4379:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4373:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 1560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4373:21:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1549, - "name": "SaleDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4318:8:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256)" - } - }, - "id": 1561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4318:77:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1562, - "nodeType": "EmitStatement", - "src": "4313:82:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4405:22:4", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1563, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4412:5:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 1565, - "indexExpression": { - "argumentTypes": null, - "id": 1564, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1381, - "src": "4418:8:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4412:15:4", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1567, - "nodeType": "ExpressionStatement", - "src": "4405:22:4" - } - ] - }, - "documentation": null, - "functionSelector": "944cce5b", - "id": 1569, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1381, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1569, - "src": "2513:16:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2512:18:4" - }, - "returnParameters": { - "id": 1383, - "nodeType": "ParameterList", - "parameters": [], - "src": "2554:0:4" - }, - "scope": 1629, - "src": "2494:1940:4", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 1580, - "nodeType": "Block", - "src": "4499:45:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1576, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "4509:12:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1577, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1571, - "src": "4524:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "4509:28:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 1579, - "nodeType": "ExpressionStatement", - "src": "4509:28:4" - } - ] - }, - "documentation": null, - "functionSelector": "d2651855", - "id": 1581, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1574, - "modifierName": { - "argumentTypes": null, - "id": 1573, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4489:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4489:9:4" - } - ], - "name": "changeERC20", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1571, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1581, - "src": "4461:19:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 1570, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "4461:5:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4460:21:4" - }, - "returnParameters": { - "id": 1575, - "nodeType": "ParameterList", - "parameters": [], - "src": "4499:0:4" - }, - "scope": 1629, - "src": "4440:104:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1592, - "nodeType": "Block", - "src": "4613:47:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1588, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1136, - "src": "4623:13:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1589, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1583, - "src": "4639:14:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "src": "4623:30:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 1591, - "nodeType": "ExpressionStatement", - "src": "4623:30:4" - } - ] - }, - "documentation": null, - "functionSelector": "fd637975", - "id": 1593, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1586, - "modifierName": { - "argumentTypes": null, - "id": 1585, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4603:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4603:9:4" - } - ], - "name": "changeERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1583, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1593, - "src": "4572:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - }, - "typeName": { - "contractScope": null, - "id": 1582, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "4572:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4571:24:4" - }, - "returnParameters": { - "id": 1587, - "nodeType": "ParameterList", - "parameters": [], - "src": "4613:0:4" - }, - "scope": 1629, - "src": "4550:110:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1627, - "nodeType": "Block", - "src": "4758:231:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 1608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1603, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "4776:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4799:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4791:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4791:7:4", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4791:10:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4776:25:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416464726573732063616e74206265206e756c6c", - "id": 1609, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4803:22:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5c1e3c4460575f77c3b8b6f38d59c6358854b5585929fda8ca27d5597a62beb1", - "typeString": "literal_string \"Address cant be null\"" - }, - "value": "Address cant be null" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5c1e3c4460575f77c3b8b6f38d59c6358854b5585929fda8ca27d5597a62beb1", - "typeString": "literal_string \"Address cant be null\"" - } - ], - "id": 1602, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4768:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4768:58:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1611, - "nodeType": "ExpressionStatement", - "src": "4768:58:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1613, - "name": "_feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1597, - "src": "4844:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4861:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "4844:20:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4665652050657263656e746167652068617320746f206265206c6f776572207468616e20313030", - "id": 1616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4866:41:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9a50e1ce8150526a8ae1dee1f2f2e33def6f6e834ad24e6b2abd42b6c94bedad", - "typeString": "literal_string \"Fee Percentage has to be lower than 100\"" - }, - "value": "Fee Percentage has to be lower than 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9a50e1ce8150526a8ae1dee1f2f2e33def6f6e834ad24e6b2abd42b6c94bedad", - "typeString": "literal_string \"Fee Percentage has to be lower than 100\"" - } - ], - "id": 1612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4836:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4836:72:4", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1618, - "nodeType": "ExpressionStatement", - "src": "4836:72:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1619, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "4918:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1620, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1595, - "src": "4931:11:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4918:24:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 1622, - "nodeType": "ExpressionStatement", - "src": "4918:24:4" - }, - { - "expression": { - "argumentTypes": null, - "id": 1625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1623, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "4952:13:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1624, - "name": "_feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1597, - "src": "4968:14:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4952:30:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1626, - "nodeType": "ExpressionStatement", - "src": "4952:30:4" - } - ] - }, - "documentation": null, - "functionSelector": "95fcf58e", - "id": 1628, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1600, - "modifierName": { - "argumentTypes": null, - "id": 1599, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4748:9:4", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4748:9:4" - } - ], - "name": "setFixedFees", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1598, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1595, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1628, - "src": "4688:27:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1594, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4688:15:4", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1597, - "name": "_feePercentage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1628, - "src": "4717:22:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4717:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4687:53:4" - }, - "returnParameters": { - "id": 1601, - "nodeType": "ParameterList", - "parameters": [], - "src": "4758:0:4" - }, - "scope": 1629, - "src": "4666:323:4", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1630, - "src": "171:4821:4" - } - ], - "src": "0:4992:4" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.381Z", - "devdoc": { - "methods": { - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/ERC721Standard.json b/build/contracts/ERC721Standard.json deleted file mode 100644 index 1fe719aa..00000000 --- a/build/contracts/ERC721Standard.json +++ /dev/null @@ -1,17018 +0,0 @@ -{ - "contractName": "ERC721Standard", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "name": "setTokenURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":\"ERC721Standard\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":{\"keccak256\":\"0xca13d9073b93953cb5c2e880cac04c7468603679a1d75f8692aad9057f3098b4\",\"urls\":[\"bzz-raw://f2b01995565cd4b08581a76277a04ac4848431a4958d351808fb04c5aca0aa38\",\"dweb:/ipfs/QmYywnxuH7K2e7dJvjHg3pr5LFccXvgkdpRpEUD2zk96oP\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b506040516200242638038062002426833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250839150829050620001be6301ffc9a760e01b6001600160e01b036200025816565b8151620001d3906006906020850190620002dd565b508051620001e9906007906020840190620002dd565b50620002056380ac58cd60e01b6001600160e01b036200025816565b62000220635b5e139f60e01b6001600160e01b036200025816565b6200023b63780e9d6360e01b6001600160e01b036200025816565b5050600a80546001600160a01b0319163317905550620003829050565b6001600160e01b03198082161415620002b8576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200032057805160ff191683800117855562000350565b8280016001018555821562000350579182015b828111156200035057825182559160200191906001019062000333565b506200035e92915062000362565b5090565b6200037f91905b808211156200035e576000815560010162000369565b90565b61209480620003926000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806355f804b3116100c357806395d89b411161007c57806395d89b41146105ef578063a22cb465146105f7578063b88d4fde14610625578063c87b56dd146106e9578063e985e9c514610706578063f2fde38b1461073457610158565b806355f804b31461043f5780636352211e146104e35780636c0360eb1461050057806370a08231146105085780638da5cb5b1461052e57806394d008ef1461053657610158565b806323b872dd1161011557806323b872dd146103415780632f745c591461037757806340c10f19146103a357806342842e0e146103cf5780634f558e79146104055780634f6ccce71461042257610158565b806301ffc9a71461015d57806306fdde0314610198578063081812fc14610215578063095ea7b31461024e578063162094c41461027c57806318160ddd14610327575b600080fd5b6101846004803603602081101561017357600080fd5b50356001600160e01b03191661075a565b604080519115158252519081900360200190f35b6101a061077d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101da5781810151838201526020016101c2565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102326004803603602081101561022b57600080fd5b5035610814565b604080516001600160a01b039092168252519081900360200190f35b61027a6004803603604081101561026457600080fd5b506001600160a01b038135169060200135610876565b005b61027a6004803603604081101561029257600080fd5b81359190810190604081016020820135600160201b8111156102b357600080fd5b8201836020820111156102c557600080fd5b803590602001918460018302840111600160201b831117156102e657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610951945050505050565b61032f610976565b60408051918252519081900360200190f35b61027a6004803603606081101561035757600080fd5b506001600160a01b03813581169160208101359091169060400135610987565b61032f6004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356109de565b61027a600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610a0f565b61027a600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610a30565b6101846004803603602081101561041b57600080fd5b5035610a4b565b61032f6004803603602081101561043857600080fd5b5035610a56565b61027a6004803603602081101561045557600080fd5b810190602081018135600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111600160201b831117156104a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a72945050505050565b610232600480360360208110156104f957600080fd5b5035610a95565b6101a0610ac3565b61032f6004803603602081101561051e57600080fd5b50356001600160a01b0316610b24565b610232610b8c565b61027a6004803603606081101561054c57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561057b57600080fd5b82018360208201111561058d57600080fd5b803590602001918460018302840111600160201b831117156105ae57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b9b945050505050565b6101a0610bbd565b61027a6004803603604081101561060d57600080fd5b506001600160a01b0381351690602001351515610c1e565b61027a6004803603608081101561063b57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111600160201b831117156106a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d23945050505050565b6101a0600480360360208110156106ff57600080fd5b5035610d81565b6101846004803603604081101561071c57600080fd5b506001600160a01b0381358116916020013516611004565b61027a6004803603602081101561074a57600080fd5b50356001600160a01b0316611032565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b505050505090505b90565b600061081f826110b8565b61085a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611f5d602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061088182610a95565b9050806001600160a01b0316836001600160a01b031614156108d45760405162461bcd60e51b815260040180806020018281038252602181526020018061200d6021913960400191505060405180910390fd5b806001600160a01b03166108e66110cb565b6001600160a01b031614806109075750610907816109026110cb565b611004565b6109425760405162461bcd60e51b8152600401808060200182810382526038815260200180611eb06038913960400191505060405180910390fd5b61094c83836110cf565b505050565b600a546001600160a01b0316331461096857600080fd5b610972828261113d565b5050565b600061098260026111a0565b905090565b6109986109926110cb565b826111ab565b6109d35760405162461bcd60e51b815260040180806020018281038252603181526020018061202e6031913960400191505060405180910390fd5b61094c83838361124f565b6001600160a01b0382166000908152600160205260408120610a06908363ffffffff6113ad16565b90505b92915050565b600a546001600160a01b03163314610a2657600080fd5b61097282826113b9565b61094c83838360405180602001604052806000815250610d23565b6000610a09826110b8565b600080610a6a60028463ffffffff6113d316565b509392505050565b600a546001600160a01b03163314610a8957600080fd5b610a92816113ef565b50565b6000610a0982604051806060016040528060298152602001611f12602991396002919063ffffffff61140216565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b60006001600160a01b038216610b6b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611ee8602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600160205260409020610a09906111a0565b600a546001600160a01b031681565b600a546001600160a01b03163314610bb257600080fd5b61094c838383611419565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b610c266110cb565b6001600160a01b0316826001600160a01b03161415610c8c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610c996110cb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610cdd6110cb565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b610d34610d2e6110cb565b836111ab565b610d6f5760405162461bcd60e51b815260040180806020018281038252603181526020018061202e6031913960400191505060405180910390fd5b610d7b8484848461146b565b50505050565b6060610d8c826110b8565b610dc75760405162461bcd60e51b815260040180806020018281038252602f815260200180611fde602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505090506060610e6d610ac3565b9050805160001415610e8157509050610778565b815115610f425780826040516020018083805190602001908083835b60208310610ebc5780518252601f199092019160209182019101610e9d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610f045780518252601f199092019160209182019101610ee5565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050610778565b80610f4c856114bd565b6040516020018083805190602001908083835b60208310610f7e5780518252601f199092019160209182019101610f5f565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610fc65780518252601f199092019160209182019101610fa7565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600a546001600160a01b0316331461104957600080fd5b6001600160a01b03811661105c57600080fd5b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a0960028363ffffffff61158116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061110482610a95565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611146826110b8565b6111815760405162461bcd60e51b815260040180806020018281038252602c815260200180611f89602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161094c92840190611d73565b6000610a098261158d565b60006111b6826110b8565b6111f15760405162461bcd60e51b815260040180806020018281038252602c815260200180611e84602c913960400191505060405180910390fd5b60006111fc83610a95565b9050806001600160a01b0316846001600160a01b031614806112375750836001600160a01b031661122c84610814565b6001600160a01b0316145b8061124757506112478185611004565b949350505050565b826001600160a01b031661126282610a95565b6001600160a01b0316146112a75760405162461bcd60e51b8152600401808060200182810382526029815260200180611fb56029913960400191505060405180910390fd5b6001600160a01b0382166112ec5760405162461bcd60e51b8152600401808060200182810382526024815260200180611e606024913960400191505060405180910390fd5b6112f783838361094c565b6113026000826110cf565b6001600160a01b038316600090815260016020526040902061132a908263ffffffff61159116565b506001600160a01b0382166000908152600160205260409020611353908263ffffffff61159d16565b506113666002828463ffffffff6115a916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610a0683836115bf565b610972828260405180602001604052806000815250611419565b60008080806113e28686611623565b9097909650945050505050565b8051610972906009906020840190611d73565b600061140f84848461169e565b90505b9392505050565b6114238383611768565b61143060008484846118a2565b61094c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611e2e6032913960400191505060405180910390fd5b61147684848461124f565b611482848484846118a2565b610d7b5760405162461bcd60e51b8152600401808060200182810382526032815260200180611e2e6032913960400191505060405180910390fd5b6060816114e257506040805180820190915260018152600360fc1b6020820152610778565b8160005b81156114fa57600101600a820491506114e6565b6060816040519080825280601f01601f191660200182016040528015611527576020820181803883390190505b50859350905060001982015b831561157857600a840660300160f81b8282806001900393508151811061155657fe5b60200101906001600160f81b031916908160001a905350600a84049350611533565b50949350505050565b6000610a068383611a22565b5490565b6000610a068383611a3a565b6000610a068383611b00565b600061140f84846001600160a01b038516611b4a565b815460009082106116015760405162461bcd60e51b8152600401808060200182810382526022815260200180611e0c6022913960400191505060405180910390fd5b82600001828154811061161057fe5b9060005260206000200154905092915050565b8154600090819083106116675760405162461bcd60e51b8152600401808060200182810382526022815260200180611f3b6022913960400191505060405180910390fd5b600084600001848154811061167857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816117395760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116fe5781810151838201526020016116e6565b50505050905090810190601f16801561172b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061174c57fe5b9060005260206000209060020201600101549150509392505050565b6001600160a01b0382166117c3576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6117cc816110b8565b1561181e576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61182a6000838361094c565b6001600160a01b0382166000908152600160205260409020611852908263ffffffff61159d16565b506118656002828463ffffffff6115a916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006118b6846001600160a01b0316611be1565b6118c257506001611247565b60606119e8630a85bd0160e11b6118d76110cb565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611950578181015183820152602001611938565b50505050905090810190601f16801561197d5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611e2e603291396001600160a01b038816919063ffffffff611be716565b90506000818060200190516020811015611a0157600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b60008181526001830160205260408120548015611af65783546000198083019190810190600090879083908110611a6d57fe5b9060005260206000200154905080876000018481548110611a8a57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611aba57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610a09565b6000915050610a09565b6000611b0c8383611a22565b611b4257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a09565b506000610a09565b600082815260018401602052604081205480611baf575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611412565b82856000016001830381548110611bc257fe5b9060005260206000209060020201600101819055506000915050611412565b3b151590565b606061140f848460008585611bfb85611be1565b611c4c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c8b5780518252601f199092019160209182019101611c6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ced576040519150601f19603f3d011682016040523d82523d6000602084013e611cf2565b606091505b5091509150611d02828286611d0d565b979650505050505050565b60608315611d1c575081611412565b825115611d2c5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156116fe5781810151838201526020016116e6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611db457805160ff1916838001178555611de1565b82800160010185558215611de1579182015b82811115611de1578251825591602001919060010190611dc6565b50611ded929150611df1565b5090565b61081191905b80821115611ded5760008155600101611df756fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212209f2e2b896c960bc191a437cc051a5920a3325c2cde284f2cf82271585849bc1964736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101585760003560e01c806355f804b3116100c357806395d89b411161007c57806395d89b41146105ef578063a22cb465146105f7578063b88d4fde14610625578063c87b56dd146106e9578063e985e9c514610706578063f2fde38b1461073457610158565b806355f804b31461043f5780636352211e146104e35780636c0360eb1461050057806370a08231146105085780638da5cb5b1461052e57806394d008ef1461053657610158565b806323b872dd1161011557806323b872dd146103415780632f745c591461037757806340c10f19146103a357806342842e0e146103cf5780634f558e79146104055780634f6ccce71461042257610158565b806301ffc9a71461015d57806306fdde0314610198578063081812fc14610215578063095ea7b31461024e578063162094c41461027c57806318160ddd14610327575b600080fd5b6101846004803603602081101561017357600080fd5b50356001600160e01b03191661075a565b604080519115158252519081900360200190f35b6101a061077d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101da5781810151838201526020016101c2565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102326004803603602081101561022b57600080fd5b5035610814565b604080516001600160a01b039092168252519081900360200190f35b61027a6004803603604081101561026457600080fd5b506001600160a01b038135169060200135610876565b005b61027a6004803603604081101561029257600080fd5b81359190810190604081016020820135600160201b8111156102b357600080fd5b8201836020820111156102c557600080fd5b803590602001918460018302840111600160201b831117156102e657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610951945050505050565b61032f610976565b60408051918252519081900360200190f35b61027a6004803603606081101561035757600080fd5b506001600160a01b03813581169160208101359091169060400135610987565b61032f6004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356109de565b61027a600480360360408110156103b957600080fd5b506001600160a01b038135169060200135610a0f565b61027a600480360360608110156103e557600080fd5b506001600160a01b03813581169160208101359091169060400135610a30565b6101846004803603602081101561041b57600080fd5b5035610a4b565b61032f6004803603602081101561043857600080fd5b5035610a56565b61027a6004803603602081101561045557600080fd5b810190602081018135600160201b81111561046f57600080fd5b82018360208201111561048157600080fd5b803590602001918460018302840111600160201b831117156104a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a72945050505050565b610232600480360360208110156104f957600080fd5b5035610a95565b6101a0610ac3565b61032f6004803603602081101561051e57600080fd5b50356001600160a01b0316610b24565b610232610b8c565b61027a6004803603606081101561054c57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561057b57600080fd5b82018360208201111561058d57600080fd5b803590602001918460018302840111600160201b831117156105ae57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b9b945050505050565b6101a0610bbd565b61027a6004803603604081101561060d57600080fd5b506001600160a01b0381351690602001351515610c1e565b61027a6004803603608081101561063b57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561067557600080fd5b82018360208201111561068757600080fd5b803590602001918460018302840111600160201b831117156106a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610d23945050505050565b6101a0600480360360208110156106ff57600080fd5b5035610d81565b6101846004803603604081101561071c57600080fd5b506001600160a01b0381358116916020013516611004565b61027a6004803603602081101561074a57600080fd5b50356001600160a01b0316611032565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b820191906000526020600020905b8154815290600101906020018083116107ec57829003601f168201915b505050505090505b90565b600061081f826110b8565b61085a5760405162461bcd60e51b815260040180806020018281038252602c815260200180611f5d602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b600061088182610a95565b9050806001600160a01b0316836001600160a01b031614156108d45760405162461bcd60e51b815260040180806020018281038252602181526020018061200d6021913960400191505060405180910390fd5b806001600160a01b03166108e66110cb565b6001600160a01b031614806109075750610907816109026110cb565b611004565b6109425760405162461bcd60e51b8152600401808060200182810382526038815260200180611eb06038913960400191505060405180910390fd5b61094c83836110cf565b505050565b600a546001600160a01b0316331461096857600080fd5b610972828261113d565b5050565b600061098260026111a0565b905090565b6109986109926110cb565b826111ab565b6109d35760405162461bcd60e51b815260040180806020018281038252603181526020018061202e6031913960400191505060405180910390fd5b61094c83838361124f565b6001600160a01b0382166000908152600160205260408120610a06908363ffffffff6113ad16565b90505b92915050565b600a546001600160a01b03163314610a2657600080fd5b61097282826113b9565b61094c83838360405180602001604052806000815250610d23565b6000610a09826110b8565b600080610a6a60028463ffffffff6113d316565b509392505050565b600a546001600160a01b03163314610a8957600080fd5b610a92816113ef565b50565b6000610a0982604051806060016040528060298152602001611f12602991396002919063ffffffff61140216565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b60006001600160a01b038216610b6b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611ee8602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600160205260409020610a09906111a0565b600a546001600160a01b031681565b600a546001600160a01b03163314610bb257600080fd5b61094c838383611419565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108095780601f106107de57610100808354040283529160200191610809565b610c266110cb565b6001600160a01b0316826001600160a01b03161415610c8c576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610c996110cb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155610cdd6110cb565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b610d34610d2e6110cb565b836111ab565b610d6f5760405162461bcd60e51b815260040180806020018281038252603181526020018061202e6031913960400191505060405180910390fd5b610d7b8484848461146b565b50505050565b6060610d8c826110b8565b610dc75760405162461bcd60e51b815260040180806020018281038252602f815260200180611fde602f913960400191505060405180910390fd5b60008281526008602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610e5c5780601f10610e3157610100808354040283529160200191610e5c565b820191906000526020600020905b815481529060010190602001808311610e3f57829003601f168201915b505050505090506060610e6d610ac3565b9050805160001415610e8157509050610778565b815115610f425780826040516020018083805190602001908083835b60208310610ebc5780518252601f199092019160209182019101610e9d565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610f045780518252601f199092019160209182019101610ee5565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050610778565b80610f4c856114bd565b6040516020018083805190602001908083835b60208310610f7e5780518252601f199092019160209182019101610f5f565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610fc65780518252601f199092019160209182019101610fa7565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600a546001600160a01b0316331461104957600080fd5b6001600160a01b03811661105c57600080fd5b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a0960028363ffffffff61158116565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061110482610a95565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b611146826110b8565b6111815760405162461bcd60e51b815260040180806020018281038252602c815260200180611f89602c913960400191505060405180910390fd5b6000828152600860209081526040909120825161094c92840190611d73565b6000610a098261158d565b60006111b6826110b8565b6111f15760405162461bcd60e51b815260040180806020018281038252602c815260200180611e84602c913960400191505060405180910390fd5b60006111fc83610a95565b9050806001600160a01b0316846001600160a01b031614806112375750836001600160a01b031661122c84610814565b6001600160a01b0316145b8061124757506112478185611004565b949350505050565b826001600160a01b031661126282610a95565b6001600160a01b0316146112a75760405162461bcd60e51b8152600401808060200182810382526029815260200180611fb56029913960400191505060405180910390fd5b6001600160a01b0382166112ec5760405162461bcd60e51b8152600401808060200182810382526024815260200180611e606024913960400191505060405180910390fd5b6112f783838361094c565b6113026000826110cf565b6001600160a01b038316600090815260016020526040902061132a908263ffffffff61159116565b506001600160a01b0382166000908152600160205260409020611353908263ffffffff61159d16565b506113666002828463ffffffff6115a916565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000610a0683836115bf565b610972828260405180602001604052806000815250611419565b60008080806113e28686611623565b9097909650945050505050565b8051610972906009906020840190611d73565b600061140f84848461169e565b90505b9392505050565b6114238383611768565b61143060008484846118a2565b61094c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611e2e6032913960400191505060405180910390fd5b61147684848461124f565b611482848484846118a2565b610d7b5760405162461bcd60e51b8152600401808060200182810382526032815260200180611e2e6032913960400191505060405180910390fd5b6060816114e257506040805180820190915260018152600360fc1b6020820152610778565b8160005b81156114fa57600101600a820491506114e6565b6060816040519080825280601f01601f191660200182016040528015611527576020820181803883390190505b50859350905060001982015b831561157857600a840660300160f81b8282806001900393508151811061155657fe5b60200101906001600160f81b031916908160001a905350600a84049350611533565b50949350505050565b6000610a068383611a22565b5490565b6000610a068383611a3a565b6000610a068383611b00565b600061140f84846001600160a01b038516611b4a565b815460009082106116015760405162461bcd60e51b8152600401808060200182810382526022815260200180611e0c6022913960400191505060405180910390fd5b82600001828154811061161057fe5b9060005260206000200154905092915050565b8154600090819083106116675760405162461bcd60e51b8152600401808060200182810382526022815260200180611f3b6022913960400191505060405180910390fd5b600084600001848154811061167857fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816117395760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156116fe5781810151838201526020016116e6565b50505050905090810190601f16801561172b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061174c57fe5b9060005260206000209060020201600101549150509392505050565b6001600160a01b0382166117c3576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6117cc816110b8565b1561181e576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61182a6000838361094c565b6001600160a01b0382166000908152600160205260409020611852908263ffffffff61159d16565b506118656002828463ffffffff6115a916565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006118b6846001600160a01b0316611be1565b6118c257506001611247565b60606119e8630a85bd0160e11b6118d76110cb565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611950578181015183820152602001611938565b50505050905090810190601f16801561197d5780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611e2e603291396001600160a01b038816919063ffffffff611be716565b90506000818060200190516020811015611a0157600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b60008181526001830160205260408120548015611af65783546000198083019190810190600090879083908110611a6d57fe5b9060005260206000200154905080876000018481548110611a8a57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611aba57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610a09565b6000915050610a09565b6000611b0c8383611a22565b611b4257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610a09565b506000610a09565b600082815260018401602052604081205480611baf575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055611412565b82856000016001830381548110611bc257fe5b9060005260206000209060020201600101819055506000915050611412565b3b151590565b606061140f848460008585611bfb85611be1565b611c4c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c8b5780518252601f199092019160209182019101611c6c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ced576040519150601f19603f3d011682016040523d82523d6000602084013e611cf2565b606091505b5091509150611d02828286611d0d565b979650505050505050565b60608315611d1c575081611412565b825115611d2c5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156116fe5781810151838201526020016116e6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611db457805160ff1916838001178555611de1565b82800160010185558215611de1579182015b82811115611de1578251825591602001919060010190611dc6565b50611ded929150611df1565b5090565b61081191905b80821115611ded5760008155600101611df756fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a26469706673582212209f2e2b896c960bc191a437cc051a5920a3325c2cde284f2cf82271585849bc1964736f6c63430006020033", - "sourceMap": "4246:707:3:-:0;;;4296:86;8:9:-1;5:2;;;30:1;27;20:12;5:2;4296:86:3;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4296:86:3;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4296:86:3;;420:4:-1;411:14;;;;4296:86:3;;;;;411:14:-1;4296:86:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4296:86:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;4296:86:3;;420:4:-1;411:14;;;;4296:86:3;;;;;411:14:-1;4296:86:3;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4296:86:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4296:86:3;;-1:-1:-1;4365:4:3;;-1:-1:-1;4371:6:3;;-1:-1:-1;768:40:12;-1:-1:-1;;;;;;;;768:18:12;:40;:::i;:::-;3651:13:17;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:17;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:17;-1:-1:-1;;;;;;;;3779:18:17;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:17;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:17;:51;:::i;:::-;-1:-1:-1;;508:5:11;:18;;-1:-1:-1;;;;;;508:18:11;516:10;508:18;;;-1:-1:-1;4246:707:3;;-1:-1:-1;4246:707:3;1507:198:12;-1:-1:-1;;;;;;1590:25:12;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:12;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1658:40:12;1694:4;1658:40;;;1507:198::o;4246:707:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4246:707:3;;;-1:-1:-1;4246:707:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "4246:707:3:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4246:707:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;965:148:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:12;-1:-1:-1;;;;;;965:148:12;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7222:217;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:17;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:17;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:17;;;;;;;;:::i;:::-;;4494:117:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4494:117:3;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4494:117:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4494:117:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4494:117:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4494:117:3;;-1:-1:-1;4494:117:3;;-1:-1:-1;;;;;4494:117:3:i;6260:208:17:-;;;:::i;:::-;;;;;;;;;;;;;;;;8086:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:17;;;;;;;;;;;;;;;;;:::i;6029:160::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:17;;;;;;;;:::i;4720:99:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4720:99:3;;;;;;;;:::i;8452:149:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:17;;;;;;;;;;;;;;;;;:::i;4388:100:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4388:100:3;;:::i;6540:169:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:17;;:::i;4617:97:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4617:97:3;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4617:97:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4617:97:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4617:97:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4617:97:3;;-1:-1:-1;4617:97:3;;-1:-1:-1;;;;;4617:97:3:i;4280:175:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:17;;:::i;5855:95::-;;;:::i;4005:218::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:17;-1:-1:-1;;;;;4005:218:17;;:::i;239:20:11:-;;;:::i;4825:126:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;4825:126:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4825:126:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4825:126:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4825:126:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4825:126:3;;-1:-1:-1;4825:126:3;;-1:-1:-1;;;;;4825:126:3:i;4679:102:17:-;;;:::i;7506:290::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:17;;;;;;;;;;:::i;8667:282::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:17;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:17;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:17;;-1:-1:-1;8667:282:17;;-1:-1:-1;;;;;8667:282:17:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:17;;:::i;7862:162::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:17;;;;;;;;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;965:148:12:-;-1:-1:-1;;;;;;1073:33:12;;1050:4;1073:33;;;;;;;;;;;;;965:148;;;;:::o;4517:98:17:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;7222:217::-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:17;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:17;:2;-1:-1:-1;;;;;6903:11:17;;;6895:57;;;;-1:-1:-1;;;6895:57:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:17;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:17;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;4494:117:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4578:26:3::1;4591:7;4600:3;4578:12;:26::i;:::-;4494:117:::0;;:::o;6260:208:17:-;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;8086:300::-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;6029:160::-;-1:-1:-1;;;;;6152:20:17;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;4720:99:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4790:22:3::1;4800:2;4804:7;4790:9;:22::i;8452:149:17:-:0;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;4388:100:3:-;4442:4;4465:16;4473:7;4465;:16::i;6540:169:17:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:17;6540:169;-1:-1:-1;;;6540:169:17:o;4617:97:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4687:20:3::1;4699:7;4687:11;:20::i;:::-;4617:97:::0;:::o;4280:175:17:-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;5855:95::-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;4005:218;4077:7;-1:-1:-1;;;;;4104:19:17;;4096:74;;;;-1:-1:-1;;;4096:74:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:17;;;;;;:13;:20;;;;;:29;;:27;:29::i;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;4825:126:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4915:29:3::1;4925:2;4929:7;4938:5;4915:9;:29::i;4679:102:17:-:0;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;7506:290;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:17;:8;-1:-1:-1;;;;;7608:24:17;;;7600:62;;;;;-1:-1:-1;;;7600:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:17;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:17;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:17;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:17;;;;;;;;;;;;;;7506:290;;:::o;8667:282::-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:17;-1:-1:-1;5229:16:17;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::17;;;;;;;;;;-1:-1:-1;5415:33:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:17;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:17;;;;;;;;;;-1:-1:-1;5573:42:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:17;;;5559:57;;;;4847:776;;;:::o;7862:162::-;-1:-1:-1;;;;;7982:25:17;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;982:37:::1;::::0;1003:5:::1;::::0;982:37:::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;10383:125:17:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:23:-;685:10;598:104;:::o;16225:189:17:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:17;-1:-1:-1;;;;;16299:29:17;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:17;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:24:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:17:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:17;:7;-1:-1:-1;;;;;10915:16:17;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:17;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:17;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:17:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:17;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:17;;13796:85;;;;-1:-1:-1;;;13796:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:17;;13909:65;;;;-1:-1:-1;;;13909:65:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:17;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:17;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:17;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:17;14266:4;-1:-1:-1;;;;;14257:27:17;;;;;;;;;;;13707:584;;;:::o;9250:135:25:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;11348:108:17:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;8269:233:24:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:24;-1:-1:-1;;;;;8269:233:24:o;14873:98:17:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:24:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:24;;;;;;:::o;11677:247:17:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9811:269;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:27;266:13;483:10;479:51;;-1:-1:-1;509:10:27;;;;;;;;;;;;-1:-1:-1;;;509:10:27;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;699:17:27;87:34:-1;135:17;;-1:-1;699:17:27;-1:-1:-1;769:5:27;;-1:-1:-1;677:39:27;-1:-1:-1;;;742:10:27;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:27;;;;;;;;-1:-1:-1;885:2:27;877:10;;;;784:114;;;-1:-1:-1;921:6:27;210:725;-1:-1:-1;;;;210:725:27:o;7588:149:24:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:25:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:24:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:24;;7139:4;:64::i;4452:201:25:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:25;;;;-1:-1:-1;;;4538:73:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:24:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:24;;;;-1:-1:-1;;;5037:74:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;12246:393:17:-;-1:-1:-1;;;;;12325:16:17;;12317:61;;;;;-1:-1:-1;;;12317:61:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:17;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:17;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:17;;12624:7;;-1:-1:-1;;;;;12599:33:17;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;15524:589::-;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:17;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:17;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:17;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:17;;;;-1:-1:-1;;;;;15773:175:17;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:17;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:17;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16029:32:17;-1:-1:-1;;;;;;16079:26:17;-1:-1:-1;;;16079:26:17;;-1:-1:-1;;;15524:589:17;;;;;;:::o;4278:123:24:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:25:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:25;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:25;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:25;2015:12;;1836:678:24;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:24;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:24;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;726:413:22;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:22;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:22;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:22;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:22:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:22;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:22;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;4246:707:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4246:707:3;;;-1:-1:-1;4246:707:3;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract Opener is Ownable {\n using SafeMath for uint256;\n\n ERC20 public _purchaseToken;\n address public _baseFeeAddress;\n address public _feeAddress;\n address public _otherAddress;\n bool public _isLimited = false;\n uint256 public _currentTokenId = 1000;\n uint256 public _limitedAmount;\n uint256 public _pricePerPack = 1*10**18;\n\n // Mapping from address to bool, if egg was already claimed\n // The hash is about the userId and the nftIds array\n mapping(address => mapping(uint256 => bool)) public registeredIDs;\n mapping(address => uint256[]) public registeredIDsArray;\n mapping(uint256 => bool) public alreadyMinted;\n\n event Opening(address indexed from, uint256 amount, uint256 openedPacks);\n\n uint256 public _baseFeeShare = 1;\n uint256 public _feeShare = 99;\n uint256 public _otherShare = 0;\n uint256 public MAX_PURCHASE = 10;\n\n bool public _closed = false;\n uint256 public _openedPacks = 0;\n\n constructor(\n ERC20 purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress,\n uint256 limitedAmount\n ) public {\n _purchaseToken = purchaseToken;\n _baseFeeAddress = baseFeeAddress;\n _feeAddress = feeAddress;\n _otherAddress = otherAddress;\n if(limitedAmount != 0){\n _isLimited = true;\n }\n _limitedAmount = limitedAmount;\n }\n\n function _openPack(uint256 amount) internal {\n require(!_closed, \"Opener is locked\");\n uint256 totalPrice = _pricePerPack.mul(amount);\n\n require(_purchaseToken.allowance(msg.sender, address(this)) >= totalPrice, \"Not enough money per pack\");\n\n address from = msg.sender;\n\n require(amount <= MAX_PURCHASE, \"Max purchase per tx reached\");\n\n if(_isLimited){\n require(_limitedAmount >= _openedPacks.add(amount), \"Amount of packs not available\");\n }\n\n _distributePackShares(from, totalPrice);\n\n emit Opening(from, amount, _openedPacks);\n _openedPacks += amount;\n\n for(uint i = _currentTokenId; i < _currentTokenId.add(amount); i++){\n registeredIDs[msg.sender][i] = true;\n registeredIDsArray[msg.sender].push(i);\n }\n\n _currentTokenId += amount;\n _pricePerPack = _pricePerPack*109/100;\n }\n\n function _distributePackShares(address from, uint256 amount) internal {\n //transfer of fee share\n _purchaseToken.transferFrom(from, _baseFeeAddress, (amount * _baseFeeShare) / 100);\n\n if(address(_feeShare) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _feeAddress,\n (amount * _feeShare) / 100\n );\n }\n\n if(address(_otherAddress) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _otherAddress,\n (amount * _otherShare) / 100\n );\n }\n }\n\n function setShares(\n uint256 feeShare,\n uint256 otherShare\n ) public onlyOwner {\n require(\n otherShare + feeShare + _baseFeeShare == 100,\n \"Doesn't add up to 100\"\n );\n\n _otherShare = otherShare;\n _feeShare = feeShare;\n }\n\n\n function setPurchaseTokenAddress(ERC20 purchaseToken) public onlyOwner {\n _purchaseToken = purchaseToken;\n }\n\n function setPricePerPack(uint256 newPrice) public onlyOwner {\n _pricePerPack = newPrice;\n }\n\n function setFeeAddress(address feeAddress) public onlyOwner {\n _feeAddress = feeAddress;\n }\n\n function setOtherAddress(address otherAddress) public onlyOwner {\n _otherAddress = otherAddress;\n }\n\n function lock() public onlyOwner {\n _closed = true;\n }\n\n function unlock() public onlyOwner {\n _closed = false;\n }\n}\n\n// ERC721Standard made for a simple structure, owner generates himself the NFT he wants (direct minting)\ncontract ERC721Standard is ERC721, Ownable {\n\n constructor (string memory name, string memory symbol) public ERC721(name, symbol) { }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(address to, uint256 tokenId) public onlyOwner {\n _safeMint(to, tokenId);\n }\n\n function mint(address to, uint256 tokenId, bytes memory _data) public onlyOwner {\n _safeMint(to, tokenId, _data);\n }\n}\n\n// ERC721Colectibles made for a Cryptokitties/Polkamon like structure, where an hash is given by the owner based on a purchase of a package\n// Can be limited or unlimited\ncontract ERC721Colectibles is Opener, ERC721 {\n\n constructor (\n string memory name, string memory symbol,\n uint256 limitedAmount,\n ERC20 _purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress) public ERC721(name, symbol) \n Opener(_purchaseToken, baseFeeAddress, feeAddress, otherAddress, limitedAmount)\n {\n }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(uint256 tokenIdToMint) public {\n require(\n tokenIdToMint <= _currentTokenId, \n \"Token Id not registered\"\n );\n\n require(registeredIDs[msg.sender][tokenIdToMint], \"Token was not registered or not the rightful owner\");\n require(!alreadyMinted[tokenIdToMint], \"Already minted\");\n\n alreadyMinted[tokenIdToMint] = true;\n _safeMint(msg.sender, tokenIdToMint);\n }\n\n function openPack(uint256 amount) public {\n _openPack(amount);\n }\n\n function getRegisteredIDs(address _address) public view returns(uint256[] memory) {\n return registeredIDsArray[_address];\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.365Z", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/EnumerableMap.json b/build/contracts/EnumerableMap.json deleted file mode 100644 index 21e7b610..00000000 --- a/build/contracts/EnumerableMap.json +++ /dev/null @@ -1,14627 +0,0 @@ -{ - "contractName": "EnumerableMap", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. * Maps have the following properties: * - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; * // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/EnumerableMap.sol\":\"EnumerableMap\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209625f142468d1337640826cabce9bff612f4b0ad2b1f716926b73fa3cdf9b5e464736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209625f142468d1337640826cabce9bff612f4b0ad2b1f716926b73fa3cdf9b5e464736f6c63430006020033", - "sourceMap": "772:8963:23:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "772:8963:23:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Library for managing an enumerable variant of Solidity's\n * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\n * type.\n *\n * Maps have the following properties:\n *\n * - Entries are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Entries are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableMap for EnumerableMap.UintToAddressMap;\n *\n * // Declare a set state variable\n * EnumerableMap.UintToAddressMap private myMap;\n * }\n * ```\n *\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\n * supported.\n */\nlibrary EnumerableMap {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Map type with\n // bytes32 keys and values.\n // The Map implementation uses private functions, and user-facing\n // implementations (such as Uint256ToAddressMap) are just wrappers around\n // the underlying Map.\n // This means that we can only create new EnumerableMaps for types that fit\n // in bytes32.\n\n struct MapEntry {\n bytes32 _key;\n bytes32 _value;\n }\n\n struct Map {\n // Storage of map keys and values\n MapEntry[] _entries;\n\n // Position of the entry defined by a key in the `entries` array, plus 1\n // because index 0 means a key is not in the map.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex == 0) { // Equivalent to !contains(map, key)\n map._entries.push(MapEntry({ _key: key, _value: value }));\n // The entry is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n map._indexes[key] = map._entries.length;\n return true;\n } else {\n map._entries[keyIndex - 1]._value = value;\n return false;\n }\n }\n\n /**\n * @dev Removes a key-value pair from a map. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function _remove(Map storage map, bytes32 key) private returns (bool) {\n // We read and store the key's index to prevent multiple reads from the same storage slot\n uint256 keyIndex = map._indexes[key];\n\n if (keyIndex != 0) { // Equivalent to contains(map, key)\n // To delete a key-value pair from the _entries array in O(1), we swap the entry to delete with the last one\n // in the array, and then remove the last entry (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = keyIndex - 1;\n uint256 lastIndex = map._entries.length - 1;\n\n // When the entry to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n MapEntry storage lastEntry = map._entries[lastIndex];\n\n // Move the last entry to the index where the entry to delete is\n map._entries[toDeleteIndex] = lastEntry;\n // Update the index for the moved entry\n map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved entry was stored\n map._entries.pop();\n\n // Delete the index for the deleted slot\n delete map._indexes[key];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function _contains(Map storage map, bytes32 key) private view returns (bool) {\n return map._indexes[key] != 0;\n }\n\n /**\n * @dev Returns the number of key-value pairs in the map. O(1).\n */\n function _length(Map storage map) private view returns (uint256) {\n return map._entries.length;\n }\n\n /**\n * @dev Returns the key-value pair stored at position `index` in the map. O(1).\n *\n * Note that there are no guarantees on the ordering of entries inside the\n * array, and it may change when more entries are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) {\n require(map._entries.length > index, \"EnumerableMap: index out of bounds\");\n\n MapEntry storage entry = map._entries[index];\n return (entry._key, entry._value);\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n */\n function _tryGet(Map storage map, bytes32 key) private view returns (bool, bytes32) {\n uint256 keyIndex = map._indexes[key];\n if (keyIndex == 0) return (false, 0); // Equivalent to contains(map, key)\n return (true, map._entries[keyIndex - 1]._value); // All indexes are 1-based\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function _get(Map storage map, bytes32 key) private view returns (bytes32) {\n uint256 keyIndex = map._indexes[key];\n require(keyIndex != 0, \"EnumerableMap: nonexistent key\"); // Equivalent to contains(map, key)\n return map._entries[keyIndex - 1]._value; // All indexes are 1-based\n }\n\n /**\n * @dev Same as {_get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {_tryGet}.\n */\n function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) {\n uint256 keyIndex = map._indexes[key];\n require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key)\n return map._entries[keyIndex - 1]._value; // All indexes are 1-based\n }\n\n // UintToAddressMap\n\n struct UintToAddressMap {\n Map _inner;\n }\n\n /**\n * @dev Adds a key-value pair to a map, or updates the value for an existing\n * key. O(1).\n *\n * Returns true if the key was added to the map, that is if it was not\n * already present.\n */\n function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) {\n return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the key was removed from the map, that is if it was present.\n */\n function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) {\n return _remove(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns true if the key is in the map. O(1).\n */\n function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) {\n return _contains(map._inner, bytes32(key));\n }\n\n /**\n * @dev Returns the number of elements in the map. O(1).\n */\n function length(UintToAddressMap storage map) internal view returns (uint256) {\n return _length(map._inner);\n }\n\n /**\n * @dev Returns the element stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {\n (bytes32 key, bytes32 value) = _at(map._inner, index);\n return (uint256(key), address(uint160(uint256(value))));\n }\n\n /**\n * @dev Tries to returns the value associated with `key`. O(1).\n * Does not revert if `key` is not in the map.\n *\n * _Available since v3.4._\n */\n function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) {\n (bool success, bytes32 value) = _tryGet(map._inner, bytes32(key));\n return (success, address(uint160(uint256(value))));\n }\n\n /**\n * @dev Returns the value associated with `key`. O(1).\n *\n * Requirements:\n *\n * - `key` must be in the map.\n */\n function get(UintToAddressMap storage map, uint256 key) internal view returns (address) {\n return address(uint160(uint256(_get(map._inner, bytes32(key)))));\n }\n\n /**\n * @dev Same as {get}, with a custom error message when `key` is not in the map.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryGet}.\n */\n function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) {\n return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage))));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "exportedSymbols": { - "EnumerableMap": [ - 10274 - ] - }, - "id": 10275, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9733, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:23" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Library for managing an enumerable variant of Solidity's\nhttps://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\ntype.\n * Maps have the following properties:\n * - Entries are added, removed, and checked for existence in constant time\n(O(1)).\n- Entries are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n * // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n}\n```\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\nsupported.", - "fullyImplemented": true, - "id": 10274, - "linearizedBaseContracts": [ - 10274 - ], - "name": "EnumerableMap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableMap.MapEntry", - "id": 9738, - "members": [ - { - "constant": false, - "id": 9735, - "name": "_key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9738, - "src": "1284:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9734, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1284:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9737, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9738, - "src": "1306:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9736, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1306:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MapEntry", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "1258:69:23", - "visibility": "public" - }, - { - "canonicalName": "EnumerableMap.Map", - "id": 9746, - "members": [ - { - "constant": false, - "id": 9741, - "name": "_entries", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "1396:19:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 9739, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "1396:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "id": 9740, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1396:10:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9745, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "1565:37:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 9744, - "keyType": { - "id": 9742, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1574:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1565:28:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 9743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Map", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "1333:276:23", - "visibility": "public" - }, - { - "body": { - "id": 9806, - "nodeType": "Block", - "src": "1918:596:23", - "statements": [ - { - "assignments": [ - 9758 - ], - "declarations": [ - { - "constant": false, - "id": 9758, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9806, - "src": "2026:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2026:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9763, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9759, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2045:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2045:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9762, - "indexExpression": { - "argumentTypes": null, - "id": 9761, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2058:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2045:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9764, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "2077:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2077:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9804, - "nodeType": "Block", - "src": "2416:92:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9791, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2430:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2430:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9797, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9793, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "2443:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2454:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2443:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2430:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "2430:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9799, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "2466:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2430:41:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 9801, - "nodeType": "ExpressionStatement", - "src": "2430:41:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2492:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9756, - "id": 9803, - "nodeType": "Return", - "src": "2485:12:23" - } - ] - }, - "id": 9805, - "nodeType": "IfStatement", - "src": "2073:435:23", - "trueBody": { - "id": 9790, - "nodeType": "Block", - "src": "2092:318:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9773, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2178:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 9774, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "2191:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9772, - "name": "MapEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9738, - "src": "2161:8:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MapEntry_$9738_storage_ptr_$", - "typeString": "type(struct EnumerableMap.MapEntry storage pointer)" - } - }, - "id": 9775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "_key", - "_value" - ], - "nodeType": "FunctionCall", - "src": "2161:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_MapEntry_$9738_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9767, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2143:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2143:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2143:17:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$9738_storage_$returns$__$", - "typeString": "function (struct EnumerableMap.MapEntry storage ref)" - } - }, - "id": 9776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2143:57:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9777, - "nodeType": "ExpressionStatement", - "src": "2143:57:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9778, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2335:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2335:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9782, - "indexExpression": { - "argumentTypes": null, - "id": 9780, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2348:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2335:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9783, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2355:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2355:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2355:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2335:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9787, - "nodeType": "ExpressionStatement", - "src": "2335:39:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2395:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9756, - "id": 9789, - "nodeType": "Return", - "src": "2388:11:23" - } - ] - } - } - ] - }, - "documentation": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present.", - "id": 9807, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9748, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1850:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9747, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "1850:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9750, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1867:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9749, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1867:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9752, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1880:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9751, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1880:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1849:45:23" - }, - "returnParameters": { - "id": 9756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9755, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1912:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9754, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1912:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1911:6:23" - }, - "scope": 10274, - "src": "1836:678:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9886, - "nodeType": "Block", - "src": "2752:1447:23", - "statements": [ - { - "assignments": [ - 9817 - ], - "declarations": [ - { - "constant": false, - "id": 9817, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9886, - "src": "2860:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2860:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9822, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9818, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "2879:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2879:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9821, - "indexExpression": { - "argumentTypes": null, - "id": 9820, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "2892:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2879:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2860:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9823, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9817, - "src": "2911:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2911:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9884, - "nodeType": "Block", - "src": "4156:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4177:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9815, - "id": 9883, - "nodeType": "Return", - "src": "4170:12:23" - } - ] - }, - "id": 9885, - "nodeType": "IfStatement", - "src": "2907:1286:23", - "trueBody": { - "id": 9881, - "nodeType": "Block", - "src": "2926:1224:23", - "statements": [ - { - "assignments": [ - 9827 - ], - "declarations": [ - { - "constant": false, - "id": 9827, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3267:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3267:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9831, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9828, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9817, - "src": "3291:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3302:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3291:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3267:36:23" - }, - { - "assignments": [ - 9833 - ], - "declarations": [ - { - "constant": false, - "id": 9833, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3317:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3317:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9839, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9834, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3337:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3337:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3337:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3359:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3337:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3317:43:23" - }, - { - "assignments": [ - 9841 - ], - "declarations": [ - { - "constant": false, - "id": 9841, - "name": "lastEntry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3600:26:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9840, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "3600:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9846, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9842, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3629:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3629:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9845, - "indexExpression": { - "argumentTypes": null, - "id": 9844, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3642:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3629:23:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3600:52:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9847, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3744:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3744:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9851, - "indexExpression": { - "argumentTypes": null, - "id": 9849, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "3757:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3744:27:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9852, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9841, - "src": "3774:9:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "src": "3744:39:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9854, - "nodeType": "ExpressionStatement", - "src": "3744:39:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9855, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3849:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "3849:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9860, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9857, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9841, - "src": "3862:9:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9735, - "src": "3862:14:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3849:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9861, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "3880:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3896:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3880:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3849:48:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9865, - "nodeType": "ExpressionStatement", - "src": "3849:48:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9866, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "4003:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "4003:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4003:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4003:18:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9872, - "nodeType": "ExpressionStatement", - "src": "4003:18:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4089:24:23", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9873, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "4096:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "4096:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9876, - "indexExpression": { - "argumentTypes": null, - "id": 9875, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "4109:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4096:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9878, - "nodeType": "ExpressionStatement", - "src": "4089:24:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9815, - "id": 9880, - "nodeType": "Return", - "src": "4128:11:23" - } - ] - } - } - ] - }, - "documentation": "@dev Removes a key-value pair from a map. O(1).\n * Returns true if the key was removed from the map, that is if it was present.", - "id": 9887, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9809, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2699:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9808, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "2699:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9811, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2716:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9810, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2716:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2698:30:23" - }, - "returnParameters": { - "id": 9815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2746:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2746:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2745:6:23" - }, - "scope": 10274, - "src": "2682:1517:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9903, - "nodeType": "Block", - "src": "4355:46:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9896, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "4372:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "4372:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9899, - "indexExpression": { - "argumentTypes": null, - "id": 9898, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "4385:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4372:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4393:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4372:22:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9895, - "id": 9902, - "nodeType": "Return", - "src": "4365:29:23" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9889, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4297:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9888, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4297:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9891, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4314:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9890, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4314:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:30:23" - }, - "returnParameters": { - "id": 9895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9894, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4349:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4349:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4348:6:23" - }, - "scope": 10274, - "src": "4278:123:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9915, - "nodeType": "Block", - "src": "4556:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9911, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9906, - "src": "4573:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "4573:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4573:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9910, - "id": 9914, - "nodeType": "Return", - "src": "4566:26:23" - } - ] - }, - "documentation": "@dev Returns the number of key-value pairs in the map. O(1).", - "id": 9916, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9906, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9916, - "src": "4508:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9905, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4508:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4507:17:23" - }, - "returnParameters": { - "id": 9910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9909, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9916, - "src": "4547:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4547:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4546:9:23" - }, - "scope": 10274, - "src": "4491:108:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9949, - "nodeType": "Block", - "src": "5027:189:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9928, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "5045:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5045:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5045:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9931, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9920, - "src": "5067:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5045:27:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473", - "id": 9933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:36:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", - "typeString": "literal_string \"EnumerableMap: index out of bounds\"" - }, - "value": "EnumerableMap: index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", - "typeString": "literal_string \"EnumerableMap: index out of bounds\"" - } - ], - "id": 9927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5037:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5037:74:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9935, - "nodeType": "ExpressionStatement", - "src": "5037:74:23" - }, - { - "assignments": [ - 9937 - ], - "declarations": [ - { - "constant": false, - "id": 9937, - "name": "entry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9949, - "src": "5122:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9936, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "5122:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9942, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9938, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "5147:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5147:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9941, - "indexExpression": { - "argumentTypes": null, - "id": 9940, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9920, - "src": "5160:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5147:19:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5122:44:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9943, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "5184:5:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9735, - "src": "5184:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9945, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "5196:5:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "5196:12:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9947, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5183:26:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 9926, - "id": 9948, - "nodeType": "Return", - "src": "5176:33:23" - } - ] - }, - "documentation": "@dev Returns the key-value pair stored at position `index` in the map. O(1).\n * Note that there are no guarantees on the ordering of entries inside the\narray, and it may change when more entries are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 9950, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9918, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "4955:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9917, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4955:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9920, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "4972:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4954:32:23" - }, - "returnParameters": { - "id": 9926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9923, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "5009:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5009:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9925, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "5018:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9924, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5018:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:18:23" - }, - "scope": 10274, - "src": "4942:274:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9986, - "nodeType": "Block", - "src": "5442:220:23", - "statements": [ - { - "assignments": [ - 9962 - ], - "declarations": [ - { - "constant": false, - "id": 9962, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9986, - "src": "5452:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5452:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9967, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9963, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9952, - "src": "5471:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "5471:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9966, - "indexExpression": { - "argumentTypes": null, - "id": 9965, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9954, - "src": "5484:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5471:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5452:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9968, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9962, - "src": "5502:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5502:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9975, - "nodeType": "IfStatement", - "src": "5498:36:23", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5525:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5532:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 9973, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5524:10:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 9960, - "id": 9974, - "nodeType": "Return", - "src": "5517:17:23" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5588:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9977, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9952, - "src": "5594:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5594:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9982, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9979, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9962, - "src": "5607:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5618:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5607:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5594:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "5594:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9984, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5587:41:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "functionReturnParameters": 9960, - "id": 9985, - "nodeType": "Return", - "src": "5580:48:23" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.", - "id": 9987, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9955, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9952, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5375:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9951, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "5375:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9954, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5392:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9953, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5392:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5374:30:23" - }, - "returnParameters": { - "id": 9960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9957, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5427:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9956, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5427:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9959, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5433:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9958, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5433:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5426:15:23" - }, - "scope": 10274, - "src": "5358:304:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10018, - "nodeType": "Block", - "src": "5889:232:23", - "statements": [ - { - "assignments": [ - 9997 - ], - "declarations": [ - { - "constant": false, - "id": 9997, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10018, - "src": "5899:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5899:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10002, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9998, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9989, - "src": "5918:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "5918:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10001, - "indexExpression": { - "argumentTypes": null, - "id": 10000, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9991, - "src": "5931:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5918:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5899:36:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10004, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9997, - "src": "5953:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5965:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5953:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579", - "id": 10007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5968:32:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", - "typeString": "literal_string \"EnumerableMap: nonexistent key\"" - }, - "value": "EnumerableMap: nonexistent key" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", - "typeString": "literal_string \"EnumerableMap: nonexistent key\"" - } - ], - "id": 10003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5945:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5945:56:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10009, - "nodeType": "ExpressionStatement", - "src": "5945:56:23" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10010, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9989, - "src": "6054:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10011, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "6054:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 10015, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10012, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9997, - "src": "6067:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6078:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6067:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 10016, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "6054:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9995, - "id": 10017, - "nodeType": "Return", - "src": "6047:40:23" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10019, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9989, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5828:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9988, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "5828:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9991, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5845:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9990, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5845:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5827:30:23" - }, - "returnParameters": { - "id": 9995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9994, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5880:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9993, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5880:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5879:9:23" - }, - "scope": 10274, - "src": "5814:307:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10052, - "nodeType": "Block", - "src": "6506:212:23", - "statements": [ - { - "assignments": [ - 10031 - ], - "declarations": [ - { - "constant": false, - "id": 10031, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10052, - "src": "6516:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10036, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10032, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10021, - "src": "6535:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10033, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "6535:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10035, - "indexExpression": { - "argumentTypes": null, - "id": 10034, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10023, - "src": "6548:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6535:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:36:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10038, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10031, - "src": "6570:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6582:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6570:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10041, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10025, - "src": "6585:12:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10037, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6562:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6562:36:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10043, - "nodeType": "ExpressionStatement", - "src": "6562:36:23" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10044, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10021, - "src": "6651:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "6651:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 10049, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10046, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10031, - "src": "6664:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6675:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6664:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6651:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "6651:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10029, - "id": 10051, - "nodeType": "Return", - "src": "6644:40:23" - } - ] - }, - "documentation": "@dev Same as {_get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {_tryGet}.", - "id": 10053, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10021, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6417:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 10020, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "6417:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10023, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6434:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6434:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10025, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6447:26:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10024, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6447:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6416:58:23" - }, - "returnParameters": { - "id": 10029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10028, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6497:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10027, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6497:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6496:9:23" - }, - "scope": 10274, - "src": "6403:315:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableMap.UintToAddressMap", - "id": 10056, - "members": [ - { - "constant": false, - "id": 10055, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10056, - "src": "6783:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 10054, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "6783:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintToAddressMap", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "6749:51:23", - "visibility": "public" - }, - { - "body": { - "id": 10086, - "nodeType": "Block", - "src": "7122:88:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10068, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10058, - "src": "7144:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7144:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10072, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10060, - "src": "7164:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7156:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10070, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7156:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7156:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10080, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10062, - "src": "7194:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7186:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10078, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7186:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7186:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7178:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7178:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7170:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10074, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7170:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7170:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10067, - "name": "_set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "7139:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)" - } - }, - "id": 10084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7139:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10066, - "id": 10085, - "nodeType": "Return", - "src": "7132:71:23" - } - ] - }, - "documentation": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present.", - "id": 10087, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10058, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7040:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10057, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7040:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10060, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7070:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7070:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10062, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7083:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7083:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7039:58:23" - }, - "returnParameters": { - "id": 10066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10065, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7116:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10064, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7116:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7115:6:23" - }, - "scope": 10274, - "src": "7027:183:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10105, - "nodeType": "Block", - "src": "7452:57:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10097, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10089, - "src": "7477:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7477:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10101, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10091, - "src": "7497:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7489:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10099, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7489:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7489:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10096, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7469:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)" - } - }, - "id": 10103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7469:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10095, - "id": 10104, - "nodeType": "Return", - "src": "7462:40:23" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the key was removed from the map, that is if it was present.", - "id": 10106, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10089, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7385:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10088, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7385:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10091, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7415:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7415:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7384:43:23" - }, - "returnParameters": { - "id": 10095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10094, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7446:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10093, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7446:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7445:6:23" - }, - "scope": 10274, - "src": "7369:140:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10124, - "nodeType": "Block", - "src": "7678:59:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10116, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10108, - "src": "7705:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7705:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10120, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10110, - "src": "7725:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7717:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10118, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7717:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7717:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10115, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9904, - "src": "7695:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7695:35:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10114, - "id": 10123, - "nodeType": "Return", - "src": "7688:42:23" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 10125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10108, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7606:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10107, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7606:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10110, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7636:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7605:43:23" - }, - "returnParameters": { - "id": 10114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10113, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7672:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10112, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7672:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7671:6:23" - }, - "scope": 10274, - "src": "7588:149:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10137, - "nodeType": "Block", - "src": "7898:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10133, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10127, - "src": "7923:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7923:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - ], - "id": 10132, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9916, - "src": "7915:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)" - } - }, - "id": 10135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7915:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10131, - "id": 10136, - "nodeType": "Return", - "src": "7908:26:23" - } - ] - }, - "documentation": "@dev Returns the number of elements in the map. O(1).", - "id": 10138, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10127, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10138, - "src": "7836:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10126, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7836:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7835:30:23" - }, - "returnParameters": { - "id": 10131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10130, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10138, - "src": "7889:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7888:9:23" - }, - "scope": 10274, - "src": "7820:121:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10175, - "nodeType": "Block", - "src": "8367:135:23", - "statements": [ - { - "assignments": [ - 10150, - 10152 - ], - "declarations": [ - { - "constant": false, - "id": 10150, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "8378:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8378:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10152, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "8391:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10151, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8391:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10158, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10154, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10140, - "src": "8412:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "8412:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "id": 10156, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10142, - "src": "8424:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10153, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9950, - "src": "8408:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)" - } - }, - "id": 10157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8377:53:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10161, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10150, - "src": "8456:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8448:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8448:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8448:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10152, - "src": "8486:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8470:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10165, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8470:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8470:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8462:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8462:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8462:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10173, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8447:48:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", - "typeString": "tuple(uint256,address payable)" - } - }, - "functionReturnParameters": 10148, - "id": 10174, - "nodeType": "Return", - "src": "8440:55:23" - } - ] - }, - "documentation": "@dev Returns the element stored at position `index` in the set. O(1).\nNote that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10176, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10140, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8281:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10139, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "8281:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10142, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8311:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8311:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8280:45:23" - }, - "returnParameters": { - "id": 10148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10145, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8349:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8349:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10147, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8358:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8358:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8348:18:23" - }, - "scope": 10274, - "src": "8269:233:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10213, - "nodeType": "Block", - "src": "8779:142:23", - "statements": [ - { - "assignments": [ - 10188, - 10190 - ], - "declarations": [ - { - "constant": false, - "id": 10188, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10213, - "src": "8790:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10187, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8790:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10190, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10213, - "src": "8804:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10189, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8804:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10192, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10178, - "src": "8829:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10193, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "8829:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10196, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8849:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8841:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10194, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8841:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8841:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10191, - "name": "_tryGet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9987, - "src": "8821:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool,bytes32)" - } - }, - "id": 10198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8821:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8789:65:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10200, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "8872:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10207, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8905:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8897:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8897:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8897:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8889:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10203, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8889:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8889:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8881:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8881:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8881:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8871:43:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_address_payable_$", - "typeString": "tuple(bool,address payable)" - } - }, - "functionReturnParameters": 10186, - "id": 10212, - "nodeType": "Return", - "src": "8864:50:23" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.\n * _Available since v3.4._", - "id": 10214, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10178, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8698:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10177, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "8698:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10180, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8728:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8728:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8697:43:23" - }, - "returnParameters": { - "id": 10186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10183, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8764:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8764:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10185, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8770:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8770:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8763:15:23" - }, - "scope": 10274, - "src": "8682:239:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10241, - "nodeType": "Block", - "src": "9161:81:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10230, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9207:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "9207:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10234, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10218, - "src": "9227:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9219:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10232, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9219:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9219:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10229, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10019, - 10053 - ], - "referencedDeclaration": 10019, - "src": "9202:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)" - } - }, - "id": 10236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9202:30:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9194:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9194:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9194:39:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9186:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10225, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9186:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9178:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:57:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10222, - "id": 10240, - "nodeType": "Return", - "src": "9171:64:23" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10216, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9086:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10215, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "9086:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10218, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9116:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9116:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9085:43:23" - }, - "returnParameters": { - "id": 10222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10221, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9152:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9152:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9151:9:23" - }, - "scope": 10274, - "src": "9073:169:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10272, - "nodeType": "Block", - "src": "9638:95:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10260, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10244, - "src": "9684:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "9684:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10264, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10246, - "src": "9704:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9696:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10262, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9696:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9696:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 10266, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10248, - "src": "9710:12:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10259, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10019, - 10053 - ], - "referencedDeclaration": 10053, - "src": "9679:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9679:44:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9671:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9671:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:53:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9663:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10255, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9663:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9663:62:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9655:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9655:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9655:71:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10252, - "id": 10271, - "nodeType": "Return", - "src": "9648:78:23" - } - ] - }, - "documentation": "@dev Same as {get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryGet}.", - "id": 10273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10244, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9535:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10243, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "9535:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10246, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9565:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9565:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10248, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9578:26:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10247, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9578:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9534:71:23" - }, - "returnParameters": { - "id": 10252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10251, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9629:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10250, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9629:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9628:9:23" - }, - "scope": 10274, - "src": "9522:211:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10275, - "src": "772:8963:23" - } - ], - "src": "33:9703:23" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableMap.sol", - "exportedSymbols": { - "EnumerableMap": [ - 10274 - ] - }, - "id": 10275, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9733, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:23" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Library for managing an enumerable variant of Solidity's\nhttps://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`]\ntype.\n * Maps have the following properties:\n * - Entries are added, removed, and checked for existence in constant time\n(O(1)).\n- Entries are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableMap for EnumerableMap.UintToAddressMap;\n * // Declare a set state variable\n EnumerableMap.UintToAddressMap private myMap;\n}\n```\n * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are\nsupported.", - "fullyImplemented": true, - "id": 10274, - "linearizedBaseContracts": [ - 10274 - ], - "name": "EnumerableMap", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableMap.MapEntry", - "id": 9738, - "members": [ - { - "constant": false, - "id": 9735, - "name": "_key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9738, - "src": "1284:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9734, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1284:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9737, - "name": "_value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9738, - "src": "1306:14:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9736, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1306:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MapEntry", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "1258:69:23", - "visibility": "public" - }, - { - "canonicalName": "EnumerableMap.Map", - "id": 9746, - "members": [ - { - "constant": false, - "id": 9741, - "name": "_entries", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "1396:19:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 9739, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "1396:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "id": 9740, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1396:10:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9745, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9746, - "src": "1565:37:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 9744, - "keyType": { - "id": 9742, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1574:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1565:28:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 9743, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1585:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Map", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "1333:276:23", - "visibility": "public" - }, - { - "body": { - "id": 9806, - "nodeType": "Block", - "src": "1918:596:23", - "statements": [ - { - "assignments": [ - 9758 - ], - "declarations": [ - { - "constant": false, - "id": 9758, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9806, - "src": "2026:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2026:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9763, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9759, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2045:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2045:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9762, - "indexExpression": { - "argumentTypes": null, - "id": 9761, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2058:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2045:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2026:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9764, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "2077:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2089:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2077:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9804, - "nodeType": "Block", - "src": "2416:92:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 9800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9791, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2430:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9796, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2430:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9797, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9793, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9758, - "src": "2443:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2454:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2443:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2430:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "2430:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9799, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "2466:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "2430:41:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 9801, - "nodeType": "ExpressionStatement", - "src": "2430:41:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2492:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9756, - "id": 9803, - "nodeType": "Return", - "src": "2485:12:23" - } - ] - }, - "id": 9805, - "nodeType": "IfStatement", - "src": "2073:435:23", - "trueBody": { - "id": 9790, - "nodeType": "Block", - "src": "2092:318:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 9773, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2178:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 9774, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9752, - "src": "2191:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 9772, - "name": "MapEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9738, - "src": "2161:8:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MapEntry_$9738_storage_ptr_$", - "typeString": "type(struct EnumerableMap.MapEntry storage pointer)" - } - }, - "id": 9775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "_key", - "_value" - ], - "nodeType": "FunctionCall", - "src": "2161:38:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_MapEntry_$9738_memory", - "typeString": "struct EnumerableMap.MapEntry memory" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9767, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2143:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9770, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2143:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2143:17:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_MapEntry_$9738_storage_$returns$__$", - "typeString": "function (struct EnumerableMap.MapEntry storage ref)" - } - }, - "id": 9776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2143:57:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9777, - "nodeType": "ExpressionStatement", - "src": "2143:57:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9786, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9778, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2335:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9781, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2335:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9782, - "indexExpression": { - "argumentTypes": null, - "id": 9780, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9750, - "src": "2348:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2335:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9783, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9748, - "src": "2355:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9784, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "2355:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2355:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2335:39:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9787, - "nodeType": "ExpressionStatement", - "src": "2335:39:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9788, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2395:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9756, - "id": 9789, - "nodeType": "Return", - "src": "2388:11:23" - } - ] - } - } - ] - }, - "documentation": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present.", - "id": 9807, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9748, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1850:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9747, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "1850:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9750, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1867:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9749, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1867:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9752, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1880:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9751, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1880:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1849:45:23" - }, - "returnParameters": { - "id": 9756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9755, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9807, - "src": "1912:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9754, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1912:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1911:6:23" - }, - "scope": 10274, - "src": "1836:678:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9886, - "nodeType": "Block", - "src": "2752:1447:23", - "statements": [ - { - "assignments": [ - 9817 - ], - "declarations": [ - { - "constant": false, - "id": 9817, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9886, - "src": "2860:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9816, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2860:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9822, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9818, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "2879:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9819, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "2879:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9821, - "indexExpression": { - "argumentTypes": null, - "id": 9820, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "2892:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2879:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2860:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9823, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9817, - "src": "2911:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2923:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2911:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 9884, - "nodeType": "Block", - "src": "4156:37:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4177:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 9815, - "id": 9883, - "nodeType": "Return", - "src": "4170:12:23" - } - ] - }, - "id": 9885, - "nodeType": "IfStatement", - "src": "2907:1286:23", - "trueBody": { - "id": 9881, - "nodeType": "Block", - "src": "2926:1224:23", - "statements": [ - { - "assignments": [ - 9827 - ], - "declarations": [ - { - "constant": false, - "id": 9827, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3267:21:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3267:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9831, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9828, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9817, - "src": "3291:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3302:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3291:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3267:36:23" - }, - { - "assignments": [ - 9833 - ], - "declarations": [ - { - "constant": false, - "id": 9833, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3317:17:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3317:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9839, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9834, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3337:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3337:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3337:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9837, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3359:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3337:23:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3317:43:23" - }, - { - "assignments": [ - 9841 - ], - "declarations": [ - { - "constant": false, - "id": 9841, - "name": "lastEntry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9881, - "src": "3600:26:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9840, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "3600:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9846, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9842, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3629:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9843, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3629:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9845, - "indexExpression": { - "argumentTypes": null, - "id": 9844, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9833, - "src": "3642:9:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3629:23:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3600:52:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9847, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3744:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "3744:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9851, - "indexExpression": { - "argumentTypes": null, - "id": 9849, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "3757:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3744:27:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 9852, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9841, - "src": "3774:9:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "src": "3744:39:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9854, - "nodeType": "ExpressionStatement", - "src": "3744:39:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9855, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "3849:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "3849:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9860, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9857, - "name": "lastEntry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9841, - "src": "3862:9:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9735, - "src": "3862:14:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3849:28:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9861, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9827, - "src": "3880:13:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3896:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3880:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3849:48:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 9865, - "nodeType": "ExpressionStatement", - "src": "3849:48:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9866, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "4003:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "4003:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4003:16:23", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 9871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4003:18:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9872, - "nodeType": "ExpressionStatement", - "src": "4003:18:23" - }, - { - "expression": { - "argumentTypes": null, - "id": 9877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4089:24:23", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9873, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9809, - "src": "4096:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "4096:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9876, - "indexExpression": { - "argumentTypes": null, - "id": 9875, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9811, - "src": "4109:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4096:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9878, - "nodeType": "ExpressionStatement", - "src": "4089:24:23" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4135:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 9815, - "id": 9880, - "nodeType": "Return", - "src": "4128:11:23" - } - ] - } - } - ] - }, - "documentation": "@dev Removes a key-value pair from a map. O(1).\n * Returns true if the key was removed from the map, that is if it was present.", - "id": 9887, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9809, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2699:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9808, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "2699:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9811, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2716:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9810, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2716:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2698:30:23" - }, - "returnParameters": { - "id": 9815, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9887, - "src": "2746:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2746:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2745:6:23" - }, - "scope": 10274, - "src": "2682:1517:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9903, - "nodeType": "Block", - "src": "4355:46:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9896, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9889, - "src": "4372:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "4372:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9899, - "indexExpression": { - "argumentTypes": null, - "id": 9898, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9891, - "src": "4385:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4372:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4393:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4372:22:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 9895, - "id": 9902, - "nodeType": "Return", - "src": "4365:29:23" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 9904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9892, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9889, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4297:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9888, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4297:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9891, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4314:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9890, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4314:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4296:30:23" - }, - "returnParameters": { - "id": 9895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9894, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9904, - "src": "4349:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9893, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4349:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4348:6:23" - }, - "scope": 10274, - "src": "4278:123:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9915, - "nodeType": "Block", - "src": "4556:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9911, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9906, - "src": "4573:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9912, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "4573:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4573:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 9910, - "id": 9914, - "nodeType": "Return", - "src": "4566:26:23" - } - ] - }, - "documentation": "@dev Returns the number of key-value pairs in the map. O(1).", - "id": 9916, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9907, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9906, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9916, - "src": "4508:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9905, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4508:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4507:17:23" - }, - "returnParameters": { - "id": 9910, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9909, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9916, - "src": "4547:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9908, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4547:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4546:9:23" - }, - "scope": 10274, - "src": "4491:108:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9949, - "nodeType": "Block", - "src": "5027:189:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9928, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "5045:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5045:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9930, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5045:19:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 9931, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9920, - "src": "5067:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5045:27:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473", - "id": 9933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:36:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", - "typeString": "literal_string \"EnumerableMap: index out of bounds\"" - }, - "value": "EnumerableMap: index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_86631030b9066a18616a068fc09fce83d18af4765cb1d2166fa475228f4db155", - "typeString": "literal_string \"EnumerableMap: index out of bounds\"" - } - ], - "id": 9927, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5037:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 9934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5037:74:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 9935, - "nodeType": "ExpressionStatement", - "src": "5037:74:23" - }, - { - "assignments": [ - 9937 - ], - "declarations": [ - { - "constant": false, - "id": 9937, - "name": "entry", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9949, - "src": "5122:22:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - }, - "typeName": { - "contractScope": null, - "id": 9936, - "name": "MapEntry", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9738, - "src": "5122:8:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9942, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9938, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9918, - "src": "5147:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5147:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9941, - "indexExpression": { - "argumentTypes": null, - "id": 9940, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9920, - "src": "5160:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5147:19:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5122:44:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9943, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "5184:5:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_key", - "nodeType": "MemberAccess", - "referencedDeclaration": 9735, - "src": "5184:10:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9945, - "name": "entry", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9937, - "src": "5196:5:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage_ptr", - "typeString": "struct EnumerableMap.MapEntry storage pointer" - } - }, - "id": 9946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "5196:12:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9947, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5183:26:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "functionReturnParameters": 9926, - "id": 9948, - "nodeType": "Return", - "src": "5176:33:23" - } - ] - }, - "documentation": "@dev Returns the key-value pair stored at position `index` in the map. O(1).\n * Note that there are no guarantees on the ordering of entries inside the\narray, and it may change when more entries are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 9950, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9918, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "4955:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9917, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "4955:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9920, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "4972:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9919, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4972:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4954:32:23" - }, - "returnParameters": { - "id": 9926, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9923, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "5009:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9922, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5009:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9925, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9950, - "src": "5018:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9924, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5018:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5008:18:23" - }, - "scope": 10274, - "src": "4942:274:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 9986, - "nodeType": "Block", - "src": "5442:220:23", - "statements": [ - { - "assignments": [ - 9962 - ], - "declarations": [ - { - "constant": false, - "id": 9962, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9986, - "src": "5452:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9961, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5452:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 9967, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9963, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9952, - "src": "5471:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "5471:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 9966, - "indexExpression": { - "argumentTypes": null, - "id": 9965, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9954, - "src": "5484:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5471:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5452:36:23" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9968, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9962, - "src": "5502:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 9969, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5514:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5502:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 9975, - "nodeType": "IfStatement", - "src": "5498:36:23", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 9971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5525:5:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 9972, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5532:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 9973, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5524:10:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 9960, - "id": 9974, - "nodeType": "Return", - "src": "5517:17:23" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 9976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5588:4:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9977, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9952, - "src": "5594:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9978, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "5594:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 9982, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 9981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 9979, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9962, - "src": "5607:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 9980, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5618:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5607:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5594:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 9983, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "5594:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 9984, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5587:41:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "functionReturnParameters": 9960, - "id": 9985, - "nodeType": "Return", - "src": "5580:48:23" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.", - "id": 9987, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9955, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9952, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5375:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9951, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "5375:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9954, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5392:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9953, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5392:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5374:30:23" - }, - "returnParameters": { - "id": 9960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9957, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5427:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9956, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5427:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9959, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9987, - "src": "5433:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9958, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5433:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5426:15:23" - }, - "scope": 10274, - "src": "5358:304:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10018, - "nodeType": "Block", - "src": "5889:232:23", - "statements": [ - { - "assignments": [ - 9997 - ], - "declarations": [ - { - "constant": false, - "id": 9997, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10018, - "src": "5899:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9996, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5899:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10002, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 9998, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9989, - "src": "5918:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 9999, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "5918:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10001, - "indexExpression": { - "argumentTypes": null, - "id": 10000, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9991, - "src": "5931:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5918:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5899:36:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10004, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9997, - "src": "5953:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5965:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5953:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579", - "id": 10007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5968:32:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", - "typeString": "literal_string \"EnumerableMap: nonexistent key\"" - }, - "value": "EnumerableMap: nonexistent key" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d3551e30d3095fd81287b88f7139bb09818e34280e85ee821994ebaebbed7072", - "typeString": "literal_string \"EnumerableMap: nonexistent key\"" - } - ], - "id": 10003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5945:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5945:56:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10009, - "nodeType": "ExpressionStatement", - "src": "5945:56:23" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10010, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9989, - "src": "6054:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10011, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "6054:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 10015, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10012, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9997, - "src": "6067:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10013, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6078:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6067:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 10016, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "6054:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 9995, - "id": 10017, - "nodeType": "Return", - "src": "6047:40:23" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10019, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9992, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9989, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5828:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 9988, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "5828:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9991, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5845:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9990, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5845:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5827:30:23" - }, - "returnParameters": { - "id": 9995, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9994, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10019, - "src": "5880:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 9993, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5880:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5879:9:23" - }, - "scope": 10274, - "src": "5814:307:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10052, - "nodeType": "Block", - "src": "6506:212:23", - "statements": [ - { - "assignments": [ - 10031 - ], - "declarations": [ - { - "constant": false, - "id": 10031, - "name": "keyIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10052, - "src": "6516:16:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10036, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10032, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10021, - "src": "6535:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10033, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 9745, - "src": "6535:12:23", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10035, - "indexExpression": { - "argumentTypes": null, - "id": 10034, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10023, - "src": "6548:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6535:17:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:36:23" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10038, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10031, - "src": "6570:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6582:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6570:13:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 10041, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10025, - "src": "6585:12:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10037, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6562:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6562:36:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10043, - "nodeType": "ExpressionStatement", - "src": "6562:36:23" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10044, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10021, - "src": "6651:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map storage pointer" - } - }, - "id": 10045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_entries", - "nodeType": "MemberAccess", - "referencedDeclaration": 9741, - "src": "6651:12:23", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_MapEntry_$9738_storage_$dyn_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref[] storage ref" - } - }, - "id": 10049, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10048, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10046, - "name": "keyIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10031, - "src": "6664:8:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10047, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6675:1:23", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6664:12:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6651:26:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MapEntry_$9738_storage", - "typeString": "struct EnumerableMap.MapEntry storage ref" - } - }, - "id": 10050, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_value", - "nodeType": "MemberAccess", - "referencedDeclaration": 9737, - "src": "6651:33:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10029, - "id": 10051, - "nodeType": "Return", - "src": "6644:40:23" - } - ] - }, - "documentation": "@dev Same as {_get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {_tryGet}.", - "id": 10053, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10026, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10021, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6417:15:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 10020, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "6417:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10023, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6434:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10022, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6434:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10025, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6447:26:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10024, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6447:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6416:58:23" - }, - "returnParameters": { - "id": 10029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10028, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10053, - "src": "6497:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10027, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6497:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6496:9:23" - }, - "scope": 10274, - "src": "6403:315:23", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableMap.UintToAddressMap", - "id": 10056, - "members": [ - { - "constant": false, - "id": 10055, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10056, - "src": "6783:10:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - }, - "typeName": { - "contractScope": null, - "id": 10054, - "name": "Map", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9746, - "src": "6783:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage_ptr", - "typeString": "struct EnumerableMap.Map" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintToAddressMap", - "nodeType": "StructDefinition", - "scope": 10274, - "src": "6749:51:23", - "visibility": "public" - }, - { - "body": { - "id": 10086, - "nodeType": "Block", - "src": "7122:88:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10068, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10058, - "src": "7144:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10069, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7144:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10072, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10060, - "src": "7164:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7156:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10070, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7156:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7156:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10080, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10062, - "src": "7194:5:23", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7186:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10078, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7186:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7186:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7178:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7178:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7170:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10074, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7170:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7170:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10067, - "name": "_set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9807, - "src": "7139:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,bytes32) returns (bool)" - } - }, - "id": 10084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7139:64:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10066, - "id": 10085, - "nodeType": "Return", - "src": "7132:71:23" - } - ] - }, - "documentation": "@dev Adds a key-value pair to a map, or updates the value for an existing\nkey. O(1).\n * Returns true if the key was added to the map, that is if it was not\nalready present.", - "id": 10087, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "set", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10063, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10058, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7040:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10057, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7040:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10060, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7070:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10059, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7070:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10062, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7083:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7083:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7039:58:23" - }, - "returnParameters": { - "id": 10066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10065, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10087, - "src": "7116:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10064, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7116:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7115:6:23" - }, - "scope": 10274, - "src": "7027:183:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10105, - "nodeType": "Block", - "src": "7452:57:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10097, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10089, - "src": "7477:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10098, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7477:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10101, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10091, - "src": "7497:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10100, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7489:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10099, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7489:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7489:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10096, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9887, - "src": "7469:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) returns (bool)" - } - }, - "id": 10103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7469:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10095, - "id": 10104, - "nodeType": "Return", - "src": "7462:40:23" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the key was removed from the map, that is if it was present.", - "id": 10106, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10092, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10089, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7385:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10088, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7385:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10091, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7415:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7415:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7384:43:23" - }, - "returnParameters": { - "id": 10095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10094, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10106, - "src": "7446:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10093, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7446:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7445:6:23" - }, - "scope": 10274, - "src": "7369:140:23", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10124, - "nodeType": "Block", - "src": "7678:59:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10116, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10108, - "src": "7705:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7705:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10120, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10110, - "src": "7725:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7717:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10118, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7717:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7717:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10115, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9904, - "src": "7695:9:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7695:35:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10114, - "id": 10123, - "nodeType": "Return", - "src": "7688:42:23" - } - ] - }, - "documentation": "@dev Returns true if the key is in the map. O(1).", - "id": 10125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10108, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7606:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10107, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7606:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10110, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7636:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7636:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7605:43:23" - }, - "returnParameters": { - "id": 10114, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10113, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10125, - "src": "7672:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10112, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7672:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7671:6:23" - }, - "scope": 10274, - "src": "7588:149:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10137, - "nodeType": "Block", - "src": "7898:43:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10133, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10127, - "src": "7923:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "7923:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - ], - "id": 10132, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9916, - "src": "7915:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableMap.Map storage pointer) view returns (uint256)" - } - }, - "id": 10135, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7915:19:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10131, - "id": 10136, - "nodeType": "Return", - "src": "7908:26:23" - } - ] - }, - "documentation": "@dev Returns the number of elements in the map. O(1).", - "id": 10138, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10128, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10127, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10138, - "src": "7836:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10126, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "7836:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7835:30:23" - }, - "returnParameters": { - "id": 10131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10130, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10138, - "src": "7889:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7889:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7888:9:23" - }, - "scope": 10274, - "src": "7820:121:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10175, - "nodeType": "Block", - "src": "8367:135:23", - "statements": [ - { - "assignments": [ - 10150, - 10152 - ], - "declarations": [ - { - "constant": false, - "id": 10150, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "8378:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10149, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8378:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10152, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10175, - "src": "8391:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10151, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8391:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10158, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10154, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10140, - "src": "8412:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "8412:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "id": 10156, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10142, - "src": "8424:5:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10153, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9950, - "src": "8408:3:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_uint256_$returns$_t_bytes32_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,uint256) view returns (bytes32,bytes32)" - } - }, - "id": 10157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8408:22:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$", - "typeString": "tuple(bytes32,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8377:53:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10161, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10150, - "src": "8456:3:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10160, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8448:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8448:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8448:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10169, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10152, - "src": "8486:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10168, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10167, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8478:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10166, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8470:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10165, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8470:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8470:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8462:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8462:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8462:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10173, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8447:48:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", - "typeString": "tuple(uint256,address payable)" - } - }, - "functionReturnParameters": 10148, - "id": 10174, - "nodeType": "Return", - "src": "8440:55:23" - } - ] - }, - "documentation": "@dev Returns the element stored at position `index` in the set. O(1).\nNote that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10176, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10143, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10140, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8281:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10139, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "8281:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10142, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8311:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8311:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8280:45:23" - }, - "returnParameters": { - "id": 10148, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10145, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8349:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8349:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10147, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10176, - "src": "8358:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8358:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8348:18:23" - }, - "scope": 10274, - "src": "8269:233:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10213, - "nodeType": "Block", - "src": "8779:142:23", - "statements": [ - { - "assignments": [ - 10188, - 10190 - ], - "declarations": [ - { - "constant": false, - "id": 10188, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10213, - "src": "8790:12:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10187, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8790:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10190, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10213, - "src": "8804:13:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10189, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8804:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10199, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10192, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10178, - "src": "8829:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10193, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "8829:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10196, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10180, - "src": "8849:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10195, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8841:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10194, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8841:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8841:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10191, - "name": "_tryGet", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9987, - "src": "8821:7:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bool_$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bool,bytes32)" - } - }, - "id": 10198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8821:33:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes32_$", - "typeString": "tuple(bool,bytes32)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8789:65:23" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 10200, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10188, - "src": "8872:7:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10207, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10190, - "src": "8905:5:23", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8897:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8897:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8897:14:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10204, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8889:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10203, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "8889:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8889:23:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10202, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8881:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10201, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8881:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8881:32:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 10211, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8871:43:23", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_address_payable_$", - "typeString": "tuple(bool,address payable)" - } - }, - "functionReturnParameters": 10186, - "id": 10212, - "nodeType": "Return", - "src": "8864:50:23" - } - ] - }, - "documentation": "@dev Tries to returns the value associated with `key`. O(1).\nDoes not revert if `key` is not in the map.\n * _Available since v3.4._", - "id": 10214, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryGet", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10181, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10178, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8698:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10177, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "8698:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10180, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8728:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8728:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8697:43:23" - }, - "returnParameters": { - "id": 10186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10183, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8764:4:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10182, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8764:4:23", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10185, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10214, - "src": "8770:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10184, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8770:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8763:15:23" - }, - "scope": 10274, - "src": "8682:239:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10241, - "nodeType": "Block", - "src": "9161:81:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10230, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10216, - "src": "9207:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10231, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "9207:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10234, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10218, - "src": "9227:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9219:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10232, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9219:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9219:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10229, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10019, - 10053 - ], - "referencedDeclaration": 10019, - "src": "9202:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32) view returns (bytes32)" - } - }, - "id": 10236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9202:30:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9194:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10227, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9194:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10237, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9194:39:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9186:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10225, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9186:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9186:48:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9178:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9178:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:57:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10222, - "id": 10240, - "nodeType": "Return", - "src": "9171:64:23" - } - ] - }, - "documentation": "@dev Returns the value associated with `key`. O(1).\n * Requirements:\n * - `key` must be in the map.", - "id": 10242, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10216, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9086:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10215, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "9086:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10218, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9116:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9116:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9085:43:23" - }, - "returnParameters": { - "id": 10222, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10221, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10242, - "src": "9152:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10220, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9152:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9151:9:23" - }, - "scope": 10274, - "src": "9073:169:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10272, - "nodeType": "Block", - "src": "9638:95:23", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10260, - "name": "map", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10244, - "src": "9684:3:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap storage pointer" - } - }, - "id": 10261, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10055, - "src": "9684:10:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10264, - "name": "key", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10246, - "src": "9704:3:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10263, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9696:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10262, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "9696:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9696:12:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 10266, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10248, - "src": "9710:12:23", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Map_$9746_storage", - "typeString": "struct EnumerableMap.Map storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 10259, - "name": "_get", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 10019, - 10053 - ], - "referencedDeclaration": 10053, - "src": "9679:4:23", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Map_$9746_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableMap.Map storage pointer,bytes32,string memory) view returns (bytes32)" - } - }, - "id": 10267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9679:44:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10258, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9671:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9671:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:53:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9663:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10255, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "9663:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9663:62:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9655:7:23", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9655:7:23", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9655:71:23", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10252, - "id": 10271, - "nodeType": "Return", - "src": "9648:78:23" - } - ] - }, - "documentation": "@dev Same as {get}, with a custom error message when `key` is not in the map.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryGet}.", - "id": 10273, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "get", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10249, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10244, - "name": "map", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9535:28:23", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - }, - "typeName": { - "contractScope": null, - "id": 10243, - "name": "UintToAddressMap", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10056, - "src": "9535:16:23", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintToAddressMap_$10056_storage_ptr", - "typeString": "struct EnumerableMap.UintToAddressMap" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10246, - "name": "key", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9565:11:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9565:7:23", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10248, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9578:26:23", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10247, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9578:6:23", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9534:71:23" - }, - "returnParameters": { - "id": 10252, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10251, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10273, - "src": "9629:7:23", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10250, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9629:7:23", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9628:9:23" - }, - "scope": 10274, - "src": "9522:211:23", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10275, - "src": "772:8963:23" - } - ], - "src": "33:9703:23" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.647Z", - "devdoc": { - "details": "Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. * Maps have the following properties: * - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; * // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/EnumerableSet.json b/build/contracts/EnumerableSet.json deleted file mode 100644 index 0880b580..00000000 --- a/build/contracts/EnumerableSet.json +++ /dev/null @@ -1,12365 +0,0 @@ -{ - "contractName": "EnumerableSet", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. * Sets have the following properties: * - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; * // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220790185f1c09318aceab2700fe0308eae042aadec335eb949dd2e5c254bf401f864736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220790185f1c09318aceab2700fe0308eae042aadec335eb949dd2e5c254bf401f864736f6c63430006020033", - "sourceMap": "753:8634:24:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "753:8634:24:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Library for managing\n * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\n * types.\n *\n * Sets have the following properties:\n *\n * - Elements are added, removed, and checked for existence in constant time\n * (O(1)).\n * - Elements are enumerated in O(n). No guarantees are made on the ordering.\n *\n * ```\n * contract Example {\n * // Add the library methods\n * using EnumerableSet for EnumerableSet.AddressSet;\n *\n * // Declare a set state variable\n * EnumerableSet.AddressSet private mySet;\n * }\n * ```\n *\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\n * and `uint256` (`UintSet`) are supported.\n */\nlibrary EnumerableSet {\n // To implement this library for multiple types with as little code\n // repetition as possible, we write it in terms of a generic Set type with\n // bytes32 values.\n // The Set implementation uses private functions, and user-facing\n // implementations (such as AddressSet) are just wrappers around the\n // underlying Set.\n // This means that we can only create new EnumerableSets for types that fit\n // in bytes32.\n\n struct Set {\n // Storage of set values\n bytes32[] _values;\n\n // Position of the value in the `values` array, plus 1 because index 0\n // means a value is not in the set.\n mapping (bytes32 => uint256) _indexes;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function _add(Set storage set, bytes32 value) private returns (bool) {\n if (!_contains(set, value)) {\n set._values.push(value);\n // The value is stored at length-1, but we add 1 to all indexes\n // and use 0 as a sentinel value\n set._indexes[value] = set._values.length;\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function _remove(Set storage set, bytes32 value) private returns (bool) {\n // We read and store the value's index to prevent multiple reads from the same storage slot\n uint256 valueIndex = set._indexes[value];\n\n if (valueIndex != 0) { // Equivalent to contains(set, value)\n // To delete an element from the _values array in O(1), we swap the element to delete with the last one in\n // the array, and then remove the last element (sometimes called as 'swap and pop').\n // This modifies the order of the array, as noted in {at}.\n\n uint256 toDeleteIndex = valueIndex - 1;\n uint256 lastIndex = set._values.length - 1;\n\n // When the value to delete is the last one, the swap operation is unnecessary. However, since this occurs\n // so rarely, we still do the swap anyway to avoid the gas cost of adding an 'if' statement.\n\n bytes32 lastvalue = set._values[lastIndex];\n\n // Move the last value to the index where the value to delete is\n set._values[toDeleteIndex] = lastvalue;\n // Update the index for the moved value\n set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based\n\n // Delete the slot where the moved value was stored\n set._values.pop();\n\n // Delete the index for the deleted slot\n delete set._indexes[value];\n\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function _contains(Set storage set, bytes32 value) private view returns (bool) {\n return set._indexes[value] != 0;\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function _length(Set storage set) private view returns (uint256) {\n return set._values.length;\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function _at(Set storage set, uint256 index) private view returns (bytes32) {\n require(set._values.length > index, \"EnumerableSet: index out of bounds\");\n return set._values[index];\n }\n\n // Bytes32Set\n\n struct Bytes32Set {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _add(set._inner, value);\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) {\n return _remove(set._inner, value);\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) {\n return _contains(set._inner, value);\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(Bytes32Set storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) {\n return _at(set._inner, index);\n }\n\n // AddressSet\n\n struct AddressSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(AddressSet storage set, address value) internal returns (bool) {\n return _add(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(AddressSet storage set, address value) internal returns (bool) {\n return _remove(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(AddressSet storage set, address value) internal view returns (bool) {\n return _contains(set._inner, bytes32(uint256(uint160(value))));\n }\n\n /**\n * @dev Returns the number of values in the set. O(1).\n */\n function length(AddressSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(AddressSet storage set, uint256 index) internal view returns (address) {\n return address(uint160(uint256(_at(set._inner, index))));\n }\n\n\n // UintSet\n\n struct UintSet {\n Set _inner;\n }\n\n /**\n * @dev Add a value to a set. O(1).\n *\n * Returns true if the value was added to the set, that is if it was not\n * already present.\n */\n function add(UintSet storage set, uint256 value) internal returns (bool) {\n return _add(set._inner, bytes32(value));\n }\n\n /**\n * @dev Removes a value from a set. O(1).\n *\n * Returns true if the value was removed from the set, that is if it was\n * present.\n */\n function remove(UintSet storage set, uint256 value) internal returns (bool) {\n return _remove(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns true if the value is in the set. O(1).\n */\n function contains(UintSet storage set, uint256 value) internal view returns (bool) {\n return _contains(set._inner, bytes32(value));\n }\n\n /**\n * @dev Returns the number of values on the set. O(1).\n */\n function length(UintSet storage set) internal view returns (uint256) {\n return _length(set._inner);\n }\n\n /**\n * @dev Returns the value stored at position `index` in the set. O(1).\n *\n * Note that there are no guarantees on the ordering of values inside the\n * array, and it may change when more values are added or removed.\n *\n * Requirements:\n *\n * - `index` must be strictly less than {length}.\n */\n function at(UintSet storage set, uint256 index) internal view returns (uint256) {\n return uint256(_at(set._inner, index));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "exportedSymbols": { - "EnumerableSet": [ - 10745 - ] - }, - "id": 10746, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10276, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:24" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Library for managing\nhttps://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\ntypes.\n * Sets have the following properties:\n * - Elements are added, removed, and checked for existence in constant time\n(O(1)).\n- Elements are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n * // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n}\n```\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\nand `uint256` (`UintSet`) are supported.", - "fullyImplemented": true, - "id": 10745, - "linearizedBaseContracts": [ - 10745 - ], - "name": "EnumerableSet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableSet.Set", - "id": 10284, - "members": [ - { - "constant": false, - "id": 10279, - "name": "_values", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10284, - "src": "1275:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 10277, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1275:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10283, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10284, - "src": "1426:37:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 10282, - "keyType": { - "id": 10280, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1435:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1426:28:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 10281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1446:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Set", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "1221:249:24", - "visibility": "public" - }, - { - "body": { - "id": 10323, - "nodeType": "Block", - "src": "1709:335:24", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 10297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1723:22:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10294, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1734:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - { - "argumentTypes": null, - "id": 10295, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1739:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10293, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "1724:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10321, - "nodeType": "Block", - "src": "2001:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10292, - "id": 10320, - "nodeType": "Return", - "src": "2015:12:24" - } - ] - }, - "id": 10322, - "nodeType": "IfStatement", - "src": "1719:319:24", - "trueBody": { - "id": 10318, - "nodeType": "Block", - "src": "1747:248:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10303, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1778:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10298, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1761:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "1761:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1761:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 10304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1761:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10305, - "nodeType": "ExpressionStatement", - "src": "1761:23:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10306, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1919:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "1919:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10310, - "indexExpression": { - "argumentTypes": null, - "id": 10308, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1932:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1919:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10311, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1941:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "1941:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1941:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1919:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10315, - "nodeType": "ExpressionStatement", - "src": "1919:40:24" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1980:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10292, - "id": 10317, - "nodeType": "Return", - "src": "1973:11:24" - } - ] - } - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10286, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1654:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10285, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "1654:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10288, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1671:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1671:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:32:24" - }, - "returnParameters": { - "id": 10292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10291, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1703:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10290, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1703:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1702:6:24" - }, - "scope": 10745, - "src": "1640:404:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10402, - "nodeType": "Block", - "src": "2284:1440:24", - "statements": [ - { - "assignments": [ - 10334 - ], - "declarations": [ - { - "constant": false, - "id": 10334, - "name": "valueIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10402, - "src": "2394:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10339, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10335, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "2415:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "2415:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10338, - "indexExpression": { - "argumentTypes": null, - "id": 10337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "2428:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2415:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:40:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10340, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10334, - "src": "2449:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2463:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2449:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10400, - "nodeType": "Block", - "src": "3681:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3702:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10332, - "id": 10399, - "nodeType": "Return", - "src": "3695:12:24" - } - ] - }, - "id": 10401, - "nodeType": "IfStatement", - "src": "2445:1273:24", - "trueBody": { - "id": 10397, - "nodeType": "Block", - "src": "2466:1209:24", - "statements": [ - { - "assignments": [ - 10344 - ], - "declarations": [ - { - "constant": false, - "id": 10344, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "2806:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10348, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10345, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10334, - "src": "2830:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2830:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2806:38:24" - }, - { - "assignments": [ - 10350 - ], - "declarations": [ - { - "constant": false, - "id": 10350, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "2858:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2858:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10356, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10351, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "2878:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "2878:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2878:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2899:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2878:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2858:42:24" - }, - { - "assignments": [ - 10358 - ], - "declarations": [ - { - "constant": false, - "id": 10358, - "name": "lastvalue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "3140:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10357, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3140:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10363, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10359, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3160:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3160:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10362, - "indexExpression": { - "argumentTypes": null, - "id": 10361, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "3172:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3160:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3140:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10364, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3274:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3274:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10368, - "indexExpression": { - "argumentTypes": null, - "id": 10366, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10344, - "src": "3286:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3274:26:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10369, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "3303:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3274:38:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10371, - "nodeType": "ExpressionStatement", - "src": "3274:38:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10372, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3378:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3378:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10376, - "indexExpression": { - "argumentTypes": null, - "id": 10374, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "3391:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3378:23:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10377, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10344, - "src": "3404:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3420:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3404:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3378:43:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10381, - "nodeType": "ExpressionStatement", - "src": "3378:43:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10382, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3527:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3527:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3527:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 10387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3527:17:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10388, - "nodeType": "ExpressionStatement", - "src": "3527:17:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "3612:26:24", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10389, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3619:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3619:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10392, - "indexExpression": { - "argumentTypes": null, - "id": 10391, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "3632:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3619:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10394, - "nodeType": "ExpressionStatement", - "src": "3612:26:24" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3660:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10332, - "id": 10396, - "nodeType": "Return", - "src": "3653:11:24" - } - ] - } - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10403, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10326, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2229:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10325, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "2229:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10328, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2246:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10327, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:32:24" - }, - "returnParameters": { - "id": 10332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10331, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2278:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10330, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2278:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:6:24" - }, - "scope": 10745, - "src": "2212:1512:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10419, - "nodeType": "Block", - "src": "3884:48:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10412, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10405, - "src": "3901:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3901:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10415, - "indexExpression": { - "argumentTypes": null, - "id": 10414, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10407, - "src": "3914:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3901:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3924:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3901:24:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10411, - "id": 10418, - "nodeType": "Return", - "src": "3894:31:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10420, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10405, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3824:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10404, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "3824:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10407, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3841:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10406, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3841:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3823:32:24" - }, - "returnParameters": { - "id": 10411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3878:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10409, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3878:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:6:24" - }, - "scope": 10745, - "src": "3805:127:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10431, - "nodeType": "Block", - "src": "4078:42:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10427, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10422, - "src": "4095:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4095:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4095:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10426, - "id": 10430, - "nodeType": "Return", - "src": "4088:25:24" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10432, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10422, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10432, - "src": "4030:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10421, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4030:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4029:17:24" - }, - "returnParameters": { - "id": 10426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10425, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10432, - "src": "4069:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4069:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4068:9:24" - }, - "scope": 10745, - "src": "4013:107:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10455, - "nodeType": "Block", - "src": "4528:125:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10442, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10434, - "src": "4546:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4546:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10445, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10436, - "src": "4567:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4546:26:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473", - "id": 10447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:36:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", - "typeString": "literal_string \"EnumerableSet: index out of bounds\"" - }, - "value": "EnumerableSet: index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", - "typeString": "literal_string \"EnumerableSet: index out of bounds\"" - } - ], - "id": 10441, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4538:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4538:73:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10449, - "nodeType": "ExpressionStatement", - "src": "4538:73:24" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10450, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10434, - "src": "4628:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4628:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10453, - "indexExpression": { - "argumentTypes": null, - "id": 10452, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10436, - "src": "4640:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4628:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10440, - "id": 10454, - "nodeType": "Return", - "src": "4621:25:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10456, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10434, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4465:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10433, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4465:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10436, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4482:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4482:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:32:24" - }, - "returnParameters": { - "id": 10440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10439, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4519:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10438, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4519:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4518:9:24" - }, - "scope": 10745, - "src": "4452:201:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableSet.Bytes32Set", - "id": 10459, - "members": [ - { - "constant": false, - "id": 10458, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10459, - "src": "4706:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10457, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4706:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Bytes32Set", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "4678:45:24", - "visibility": "public" - }, - { - "body": { - "id": 10474, - "nodeType": "Block", - "src": "4969:47:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10469, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "4991:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "4991:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10471, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "5003:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10468, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "4986:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4986:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10467, - "id": 10473, - "nodeType": "Return", - "src": "4979:30:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10461, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4906:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10460, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "4906:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10463, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4930:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10462, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4930:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4905:39:24" - }, - "returnParameters": { - "id": 10467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10466, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4963:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10465, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4963:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4962:6:24" - }, - "scope": 10745, - "src": "4893:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10490, - "nodeType": "Block", - "src": "5263:50:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10485, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5288:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5288:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10487, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10479, - "src": "5300:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10484, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "5280:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5280:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10483, - "id": 10489, - "nodeType": "Return", - "src": "5273:33:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10477, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5200:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10476, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5200:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10479, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5224:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10478, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5224:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5199:39:24" - }, - "returnParameters": { - "id": 10483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10482, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5257:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10481, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5257:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5256:6:24" - }, - "scope": 10745, - "src": "5184:129:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10506, - "nodeType": "Block", - "src": "5480:52:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10501, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10493, - "src": "5507:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5507:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10503, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "5519:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10500, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "5497:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5497:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10499, - "id": 10505, - "nodeType": "Return", - "src": "5490:35:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10507, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10493, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5412:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10492, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5412:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10495, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5436:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10494, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5436:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5411:39:24" - }, - "returnParameters": { - "id": 10499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10498, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5474:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10497, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5474:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5473:6:24" - }, - "scope": 10745, - "src": "5394:138:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10519, - "nodeType": "Block", - "src": "5685:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10515, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10509, - "src": "5710:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5710:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10514, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "5702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10513, - "id": 10518, - "nodeType": "Return", - "src": "5695:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10520, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10509, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10520, - "src": "5629:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10508, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5629:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5628:24:24" - }, - "returnParameters": { - "id": 10513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10520, - "src": "5676:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5676:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5675:9:24" - }, - "scope": 10745, - "src": "5613:115:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10535, - "nodeType": "Block", - "src": "6143:46:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10530, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10522, - "src": "6164:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "6164:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10532, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10524, - "src": "6176:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10529, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "6160:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6160:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10528, - "id": 10534, - "nodeType": "Return", - "src": "6153:29:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10536, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10522, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6072:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10521, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "6072:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10524, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6096:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6096:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6071:39:24" - }, - "returnParameters": { - "id": 10528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10527, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6134:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10526, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6134:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6133:9:24" - }, - "scope": 10745, - "src": "6060:129:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.AddressSet", - "id": 10539, - "members": [ - { - "constant": false, - "id": 10538, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10539, - "src": "6242:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10537, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "6242:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "AddressSet", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "6214:45:24", - "visibility": "public" - }, - { - "body": { - "id": 10563, - "nodeType": "Block", - "src": "6505:74:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10549, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10541, - "src": "6527:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "6527:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10557, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10543, - "src": "6563:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6555:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10555, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6555:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6555:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6547:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6547:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6547:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6539:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10551, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6539:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10548, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "6522:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6522:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10547, - "id": 10562, - "nodeType": "Return", - "src": "6515:57:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10564, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10541, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6442:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10540, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "6442:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10543, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6466:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6466:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6441:39:24" - }, - "returnParameters": { - "id": 10547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10546, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6499:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10545, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6499:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6498:6:24" - }, - "scope": 10745, - "src": "6429:150:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10588, - "nodeType": "Block", - "src": "6826:77:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10574, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "6851:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "6851:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10582, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10568, - "src": "6887:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6879:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10580, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6879:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6871:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6871:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6871:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6863:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10576, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6863:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6863:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10573, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "6843:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6843:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10572, - "id": 10587, - "nodeType": "Return", - "src": "6836:60:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10589, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10566, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6763:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10565, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "6763:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10568, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6787:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6787:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6762:39:24" - }, - "returnParameters": { - "id": 10572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10571, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6820:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10570, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6820:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6819:6:24" - }, - "scope": 10745, - "src": "6747:156:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10613, - "nodeType": "Block", - "src": "7070:79:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10599, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10591, - "src": "7097:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7097:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10607, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10593, - "src": "7133:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7125:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10605, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7125:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7125:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7117:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7117:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7117:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7109:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10601, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7109:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7109:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10598, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "7087:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7087:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10597, - "id": 10612, - "nodeType": "Return", - "src": "7080:62:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10591, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7002:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10590, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7002:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10593, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7026:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7026:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7001:39:24" - }, - "returnParameters": { - "id": 10597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10596, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7064:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7064:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7063:6:24" - }, - "scope": 10745, - "src": "6984:165:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10626, - "nodeType": "Block", - "src": "7302:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10622, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10616, - "src": "7327:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7327:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10621, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "7319:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10620, - "id": 10625, - "nodeType": "Return", - "src": "7312:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10616, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10627, - "src": "7246:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10615, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7246:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7245:24:24" - }, - "returnParameters": { - "id": 10620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10619, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10627, - "src": "7293:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7293:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7292:9:24" - }, - "scope": 10745, - "src": "7230:115:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10651, - "nodeType": "Block", - "src": "7760:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10643, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "7805:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7805:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10645, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10631, - "src": "7817:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10642, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "7801:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7801:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7793:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7793:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7785:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10638, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7785:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7777:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7777:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7777:49:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10635, - "id": 10650, - "nodeType": "Return", - "src": "7770:56:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10652, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7689:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10628, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7689:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10631, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7713:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7713:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7688:39:24" - }, - "returnParameters": { - "id": 10635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7751:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7751:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7750:9:24" - }, - "scope": 10745, - "src": "7677:156:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.UintSet", - "id": 10655, - "members": [ - { - "constant": false, - "id": 10654, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10655, - "src": "7881:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10653, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "7881:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintSet", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "7856:42:24", - "visibility": "public" - }, - { - "body": { - "id": 10673, - "nodeType": "Block", - "src": "8141:56:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10665, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10657, - "src": "8163:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8163:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10669, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10659, - "src": "8183:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8175:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10667, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8175:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10664, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "8158:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10663, - "id": 10672, - "nodeType": "Return", - "src": "8151:39:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10660, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10657, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8081:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10656, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8081:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10659, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8102:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8080:36:24" - }, - "returnParameters": { - "id": 10663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10662, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8135:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10661, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8135:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8134:6:24" - }, - "scope": 10745, - "src": "8068:129:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10692, - "nodeType": "Block", - "src": "8441:59:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10684, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "8466:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8466:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10688, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8486:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8478:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10683, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "8458:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8458:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10682, - "id": 10691, - "nodeType": "Return", - "src": "8451:42:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10676, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8381:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10675, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8381:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10678, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8402:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8402:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8380:36:24" - }, - "returnParameters": { - "id": 10682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10681, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8435:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8435:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8434:6:24" - }, - "scope": 10745, - "src": "8365:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10711, - "nodeType": "Block", - "src": "8664:61:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10703, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "8691:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8691:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10707, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "8711:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8703:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10705, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8703:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8703:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10702, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "8681:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8681:37:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10701, - "id": 10710, - "nodeType": "Return", - "src": "8674:44:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10712, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10695, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8599:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10694, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8599:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10697, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8620:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8620:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8598:36:24" - }, - "returnParameters": { - "id": 10701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10700, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8658:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10699, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8658:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8657:6:24" - }, - "scope": 10745, - "src": "8581:144:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10724, - "nodeType": "Block", - "src": "8875:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10720, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10714, - "src": "8900:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8900:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10719, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "8892:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8892:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10718, - "id": 10723, - "nodeType": "Return", - "src": "8885:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10725, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10714, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10725, - "src": "8822:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10713, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8822:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:21:24" - }, - "returnParameters": { - "id": 10718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10717, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10725, - "src": "8866:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8866:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:9:24" - }, - "scope": 10745, - "src": "8806:112:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10743, - "nodeType": "Block", - "src": "9330:55:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10737, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "9359:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "9359:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10739, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "9371:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10736, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "9355:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9355:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9347:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9347:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9347:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10733, - "id": 10742, - "nodeType": "Return", - "src": "9340:38:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10744, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10727, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9262:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10726, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "9262:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10729, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9283:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9283:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9261:36:24" - }, - "returnParameters": { - "id": 10733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10732, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9321:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9321:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9320:9:24" - }, - "scope": 10745, - "src": "9250:135:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10746, - "src": "753:8634:24" - } - ], - "src": "33:9355:24" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/EnumerableSet.sol", - "exportedSymbols": { - "EnumerableSet": [ - 10745 - ] - }, - "id": 10746, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10276, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:24" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Library for managing\nhttps://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive\ntypes.\n * Sets have the following properties:\n * - Elements are added, removed, and checked for existence in constant time\n(O(1)).\n- Elements are enumerated in O(n). No guarantees are made on the ordering.\n * ```\ncontract Example {\n // Add the library methods\n using EnumerableSet for EnumerableSet.AddressSet;\n * // Declare a set state variable\n EnumerableSet.AddressSet private mySet;\n}\n```\n * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)\nand `uint256` (`UintSet`) are supported.", - "fullyImplemented": true, - "id": 10745, - "linearizedBaseContracts": [ - 10745 - ], - "name": "EnumerableSet", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "EnumerableSet.Set", - "id": 10284, - "members": [ - { - "constant": false, - "id": 10279, - "name": "_values", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10284, - "src": "1275:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - }, - "typeName": { - "baseType": { - "id": 10277, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1275:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10278, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1275:9:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage_ptr", - "typeString": "bytes32[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10283, - "name": "_indexes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10284, - "src": "1426:37:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "typeName": { - "id": 10282, - "keyType": { - "id": 10280, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1435:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "1426:28:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - }, - "valueType": { - "id": 10281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1446:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Set", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "1221:249:24", - "visibility": "public" - }, - { - "body": { - "id": 10323, - "nodeType": "Block", - "src": "1709:335:24", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 10297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1723:22:24", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10294, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1734:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - { - "argumentTypes": null, - "id": 10295, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1739:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10293, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "1724:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1724:21:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10321, - "nodeType": "Block", - "src": "2001:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10292, - "id": 10320, - "nodeType": "Return", - "src": "2015:12:24" - } - ] - }, - "id": 10322, - "nodeType": "IfStatement", - "src": "1719:319:24", - "trueBody": { - "id": 10318, - "nodeType": "Block", - "src": "1747:248:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10303, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1778:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10298, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1761:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "1761:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1761:16:24", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_bytes32_$returns$__$", - "typeString": "function (bytes32)" - } - }, - "id": 10304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1761:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10305, - "nodeType": "ExpressionStatement", - "src": "1761:23:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10306, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1919:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10309, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "1919:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10310, - "indexExpression": { - "argumentTypes": null, - "id": 10308, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10288, - "src": "1932:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1919:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10311, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10286, - "src": "1941:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10312, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "1941:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1941:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1919:40:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10315, - "nodeType": "ExpressionStatement", - "src": "1919:40:24" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10316, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1980:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10292, - "id": 10317, - "nodeType": "Return", - "src": "1973:11:24" - } - ] - } - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10324, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10286, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1654:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10285, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "1654:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10288, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1671:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10287, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1671:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1653:32:24" - }, - "returnParameters": { - "id": 10292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10291, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10324, - "src": "1703:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10290, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1703:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1702:6:24" - }, - "scope": 10745, - "src": "1640:404:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10402, - "nodeType": "Block", - "src": "2284:1440:24", - "statements": [ - { - "assignments": [ - 10334 - ], - "declarations": [ - { - "constant": false, - "id": 10334, - "name": "valueIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10402, - "src": "2394:18:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10333, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10339, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10335, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "2415:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10336, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "2415:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10338, - "indexExpression": { - "argumentTypes": null, - "id": 10337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "2428:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2415:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:40:24" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10340, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10334, - "src": "2449:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2463:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2449:15:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 10400, - "nodeType": "Block", - "src": "3681:37:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3702:5:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 10332, - "id": 10399, - "nodeType": "Return", - "src": "3695:12:24" - } - ] - }, - "id": 10401, - "nodeType": "IfStatement", - "src": "2445:1273:24", - "trueBody": { - "id": 10397, - "nodeType": "Block", - "src": "2466:1209:24", - "statements": [ - { - "assignments": [ - 10344 - ], - "declarations": [ - { - "constant": false, - "id": 10344, - "name": "toDeleteIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "2806:21:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10343, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2806:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10348, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10345, - "name": "valueIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10334, - "src": "2830:10:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2843:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2830:14:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2806:38:24" - }, - { - "assignments": [ - 10350 - ], - "declarations": [ - { - "constant": false, - "id": 10350, - "name": "lastIndex", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "2858:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2858:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10356, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10351, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "2878:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10352, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "2878:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2878:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10354, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2899:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2878:22:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2858:42:24" - }, - { - "assignments": [ - 10358 - ], - "declarations": [ - { - "constant": false, - "id": 10358, - "name": "lastvalue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10397, - "src": "3140:17:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10357, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3140:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10363, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10359, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3160:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10360, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3160:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10362, - "indexExpression": { - "argumentTypes": null, - "id": 10361, - "name": "lastIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10350, - "src": "3172:9:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3160:22:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3140:42:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10364, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3274:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3274:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10368, - "indexExpression": { - "argumentTypes": null, - "id": 10366, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10344, - "src": "3286:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3274:26:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10369, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "3303:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "3274:38:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "id": 10371, - "nodeType": "ExpressionStatement", - "src": "3274:38:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10380, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10372, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3378:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3378:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10376, - "indexExpression": { - "argumentTypes": null, - "id": 10374, - "name": "lastvalue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10358, - "src": "3391:9:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3378:23:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10377, - "name": "toDeleteIndex", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10344, - "src": "3404:13:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10378, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3420:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3404:17:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3378:43:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10381, - "nodeType": "ExpressionStatement", - "src": "3378:43:24" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10382, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3527:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "3527:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10386, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "pop", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3527:15:24", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypop_nonpayable$__$returns$__$", - "typeString": "function ()" - } - }, - "id": 10387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3527:17:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10388, - "nodeType": "ExpressionStatement", - "src": "3527:17:24" - }, - { - "expression": { - "argumentTypes": null, - "id": 10393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "3612:26:24", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10389, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10326, - "src": "3619:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10390, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3619:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10392, - "indexExpression": { - "argumentTypes": null, - "id": 10391, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10328, - "src": "3632:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3619:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10394, - "nodeType": "ExpressionStatement", - "src": "3612:26:24" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10395, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3660:4:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 10332, - "id": 10396, - "nodeType": "Return", - "src": "3653:11:24" - } - ] - } - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10403, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10326, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2229:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10325, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "2229:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10328, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2246:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10327, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2246:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2228:32:24" - }, - "returnParameters": { - "id": 10332, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10331, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10403, - "src": "2278:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10330, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2278:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2277:6:24" - }, - "scope": 10745, - "src": "2212:1512:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10419, - "nodeType": "Block", - "src": "3884:48:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10417, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10412, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10405, - "src": "3901:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10413, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_indexes", - "nodeType": "MemberAccess", - "referencedDeclaration": 10283, - "src": "3901:12:24", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$", - "typeString": "mapping(bytes32 => uint256)" - } - }, - "id": 10415, - "indexExpression": { - "argumentTypes": null, - "id": 10414, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10407, - "src": "3914:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3901:19:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10416, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3924:1:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3901:24:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10411, - "id": 10418, - "nodeType": "Return", - "src": "3894:31:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10420, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10408, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10405, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3824:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10404, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "3824:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10407, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3841:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10406, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3841:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3823:32:24" - }, - "returnParameters": { - "id": 10411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10410, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10420, - "src": "3878:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10409, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3878:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3877:6:24" - }, - "scope": 10745, - "src": "3805:127:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10431, - "nodeType": "Block", - "src": "4078:42:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10427, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10422, - "src": "4095:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4095:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4095:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10426, - "id": 10430, - "nodeType": "Return", - "src": "4088:25:24" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10432, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10422, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10432, - "src": "4030:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10421, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4030:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4029:17:24" - }, - "returnParameters": { - "id": 10426, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10425, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10432, - "src": "4069:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10424, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4069:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4068:9:24" - }, - "scope": 10745, - "src": "4013:107:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "body": { - "id": 10455, - "nodeType": "Block", - "src": "4528:125:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10442, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10434, - "src": "4546:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10443, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4546:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4546:18:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 10445, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10436, - "src": "4567:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4546:26:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e756d657261626c655365743a20696e646578206f7574206f6620626f756e6473", - "id": 10447, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:36:24", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", - "typeString": "literal_string \"EnumerableSet: index out of bounds\"" - }, - "value": "EnumerableSet: index out of bounds" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_045d6834e6193a687012a3ad777f612279e549b6945364d9d2324f48610d3cbb", - "typeString": "literal_string \"EnumerableSet: index out of bounds\"" - } - ], - "id": 10441, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4538:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4538:73:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10449, - "nodeType": "ExpressionStatement", - "src": "4538:73:24" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10450, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10434, - "src": "4628:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set storage pointer" - } - }, - "id": 10451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_values", - "nodeType": "MemberAccess", - "referencedDeclaration": 10279, - "src": "4628:11:24", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", - "typeString": "bytes32[] storage ref" - } - }, - "id": 10453, - "indexExpression": { - "argumentTypes": null, - "id": 10452, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10436, - "src": "4640:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4628:18:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10440, - "id": 10454, - "nodeType": "Return", - "src": "4621:25:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10456, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10437, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10434, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4465:15:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10433, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4465:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10436, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4482:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4482:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4464:32:24" - }, - "returnParameters": { - "id": 10440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10439, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10456, - "src": "4519:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10438, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4519:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4518:9:24" - }, - "scope": 10745, - "src": "4452:201:24", - "stateMutability": "view", - "virtual": false, - "visibility": "private" - }, - { - "canonicalName": "EnumerableSet.Bytes32Set", - "id": 10459, - "members": [ - { - "constant": false, - "id": 10458, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10459, - "src": "4706:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10457, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "4706:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Bytes32Set", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "4678:45:24", - "visibility": "public" - }, - { - "body": { - "id": 10474, - "nodeType": "Block", - "src": "4969:47:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10469, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10461, - "src": "4991:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "4991:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10471, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10463, - "src": "5003:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10468, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "4986:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4986:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10467, - "id": 10473, - "nodeType": "Return", - "src": "4979:30:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10475, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10464, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10461, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4906:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10460, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "4906:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10463, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4930:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10462, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "4930:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4905:39:24" - }, - "returnParameters": { - "id": 10467, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10466, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10475, - "src": "4963:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10465, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4963:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4962:6:24" - }, - "scope": 10745, - "src": "4893:123:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10490, - "nodeType": "Block", - "src": "5263:50:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10485, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10477, - "src": "5288:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5288:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10487, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10479, - "src": "5300:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10484, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "5280:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5280:26:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10483, - "id": 10489, - "nodeType": "Return", - "src": "5273:33:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10491, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10480, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10477, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5200:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10476, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5200:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10479, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5224:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10478, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5224:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5199:39:24" - }, - "returnParameters": { - "id": 10483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10482, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10491, - "src": "5257:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10481, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5257:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5256:6:24" - }, - "scope": 10745, - "src": "5184:129:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10506, - "nodeType": "Block", - "src": "5480:52:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10501, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10493, - "src": "5507:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5507:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10503, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10495, - "src": "5519:5:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10500, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "5497:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5497:28:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10499, - "id": 10505, - "nodeType": "Return", - "src": "5490:35:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10507, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10493, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5412:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10492, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5412:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10495, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5436:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10494, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "5436:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5411:39:24" - }, - "returnParameters": { - "id": 10499, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10498, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10507, - "src": "5474:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10497, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5474:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5473:6:24" - }, - "scope": 10745, - "src": "5394:138:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10519, - "nodeType": "Block", - "src": "5685:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10515, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10509, - "src": "5710:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "5710:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10514, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "5702:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5702:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10513, - "id": 10518, - "nodeType": "Return", - "src": "5695:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10520, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10509, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10520, - "src": "5629:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10508, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "5629:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5628:24:24" - }, - "returnParameters": { - "id": 10513, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10520, - "src": "5676:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10511, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5676:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5675:9:24" - }, - "scope": 10745, - "src": "5613:115:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10535, - "nodeType": "Block", - "src": "6143:46:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10530, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10522, - "src": "6164:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set storage pointer" - } - }, - "id": 10531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10458, - "src": "6164:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10532, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10524, - "src": "6176:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10529, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "6160:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6160:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "functionReturnParameters": 10528, - "id": 10534, - "nodeType": "Return", - "src": "6153:29:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10536, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10525, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10522, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6072:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - }, - "typeName": { - "contractScope": null, - "id": 10521, - "name": "Bytes32Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10459, - "src": "6072:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Set_$10459_storage_ptr", - "typeString": "struct EnumerableSet.Bytes32Set" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10524, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6096:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10523, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6096:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6071:39:24" - }, - "returnParameters": { - "id": 10528, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10527, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10536, - "src": "6134:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 10526, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6134:7:24", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6133:9:24" - }, - "scope": 10745, - "src": "6060:129:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.AddressSet", - "id": 10539, - "members": [ - { - "constant": false, - "id": 10538, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10539, - "src": "6242:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10537, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "6242:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "AddressSet", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "6214:45:24", - "visibility": "public" - }, - { - "body": { - "id": 10563, - "nodeType": "Block", - "src": "6505:74:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10549, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10541, - "src": "6527:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "6527:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10557, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10543, - "src": "6563:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6555:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10555, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6555:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6555:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6547:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6547:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6547:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10552, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6539:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10551, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6539:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6539:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10548, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "6522:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6522:50:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10547, - "id": 10562, - "nodeType": "Return", - "src": "6515:57:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10564, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10544, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10541, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6442:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10540, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "6442:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10543, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6466:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10542, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6466:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6441:39:24" - }, - "returnParameters": { - "id": 10547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10546, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10564, - "src": "6499:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10545, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6499:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6498:6:24" - }, - "scope": 10745, - "src": "6429:150:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10588, - "nodeType": "Block", - "src": "6826:77:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10574, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10566, - "src": "6851:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "6851:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10582, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10568, - "src": "6887:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10581, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6879:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10580, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "6879:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6879:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10579, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6871:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6871:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6871:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10577, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6863:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10576, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "6863:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6863:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10573, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "6843:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10586, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6843:53:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10572, - "id": 10587, - "nodeType": "Return", - "src": "6836:60:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10589, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10569, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10566, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6763:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10565, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "6763:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10568, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6787:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10567, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6787:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6762:39:24" - }, - "returnParameters": { - "id": 10572, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10571, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10589, - "src": "6820:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10570, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6820:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6819:6:24" - }, - "scope": 10745, - "src": "6747:156:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10613, - "nodeType": "Block", - "src": "7070:79:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10599, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10591, - "src": "7097:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7097:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10607, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10593, - "src": "7133:5:24", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 10606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7125:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10605, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7125:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7125:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10604, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7117:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7117:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7117:23:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7109:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10601, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "7109:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7109:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10598, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "7087:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7087:55:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10597, - "id": 10612, - "nodeType": "Return", - "src": "7080:62:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10614, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10591, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7002:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10590, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7002:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10593, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7026:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7026:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7001:39:24" - }, - "returnParameters": { - "id": 10597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10596, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10614, - "src": "7064:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10595, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "7064:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7063:6:24" - }, - "scope": 10745, - "src": "6984:165:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10626, - "nodeType": "Block", - "src": "7302:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10622, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10616, - "src": "7327:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7327:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10621, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "7319:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10620, - "id": 10625, - "nodeType": "Return", - "src": "7312:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values in the set. O(1).", - "id": 10627, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10617, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10616, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10627, - "src": "7246:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10615, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7246:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7245:24:24" - }, - "returnParameters": { - "id": 10620, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10619, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10627, - "src": "7293:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7293:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7292:9:24" - }, - "scope": 10745, - "src": "7230:115:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10651, - "nodeType": "Block", - "src": "7760:73:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10643, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10629, - "src": "7805:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet storage pointer" - } - }, - "id": 10644, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10538, - "src": "7805:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10645, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10631, - "src": "7817:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10642, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "7801:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7801:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7793:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7793:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7793:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7785:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint160_$", - "typeString": "type(uint160)" - }, - "typeName": { - "id": 10638, - "name": "uint160", - "nodeType": "ElementaryTypeName", - "src": "7785:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7785:40:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint160", - "typeString": "uint160" - } - ], - "id": 10637, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7777:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 10636, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7777:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10649, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7777:49:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 10635, - "id": 10650, - "nodeType": "Return", - "src": "7770:56:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10652, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10632, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10629, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7689:22:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - }, - "typeName": { - "contractScope": null, - "id": 10628, - "name": "AddressSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10539, - "src": "7689:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSet_$10539_storage_ptr", - "typeString": "struct EnumerableSet.AddressSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10631, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7713:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7713:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7688:39:24" - }, - "returnParameters": { - "id": 10635, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10634, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10652, - "src": "7751:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10633, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7751:7:24", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7750:9:24" - }, - "scope": 10745, - "src": "7677:156:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "canonicalName": "EnumerableSet.UintSet", - "id": 10655, - "members": [ - { - "constant": false, - "id": 10654, - "name": "_inner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10655, - "src": "7881:10:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - }, - "typeName": { - "contractScope": null, - "id": 10653, - "name": "Set", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10284, - "src": "7881:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage_ptr", - "typeString": "struct EnumerableSet.Set" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "UintSet", - "nodeType": "StructDefinition", - "scope": 10745, - "src": "7856:42:24", - "visibility": "public" - }, - { - "body": { - "id": 10673, - "nodeType": "Block", - "src": "8141:56:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10665, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10657, - "src": "8163:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10666, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8163:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10669, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10659, - "src": "8183:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8175:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10667, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8175:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10664, - "name": "_add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10324, - "src": "8158:4:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8158:32:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10663, - "id": 10672, - "nodeType": "Return", - "src": "8151:39:24" - } - ] - }, - "documentation": "@dev Add a value to a set. O(1).\n * Returns true if the value was added to the set, that is if it was not\nalready present.", - "id": 10674, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10660, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10657, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8081:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10656, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8081:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10659, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8102:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8102:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8080:36:24" - }, - "returnParameters": { - "id": 10663, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10662, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10674, - "src": "8135:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10661, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8135:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8134:6:24" - }, - "scope": 10745, - "src": "8068:129:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10692, - "nodeType": "Block", - "src": "8441:59:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10684, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10676, - "src": "8466:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8466:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10688, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10678, - "src": "8486:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8478:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10686, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8478:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8478:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10683, - "name": "_remove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10403, - "src": "8458:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) returns (bool)" - } - }, - "id": 10690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8458:35:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10682, - "id": 10691, - "nodeType": "Return", - "src": "8451:42:24" - } - ] - }, - "documentation": "@dev Removes a value from a set. O(1).\n * Returns true if the value was removed from the set, that is if it was\npresent.", - "id": 10693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10676, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8381:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10675, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8381:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10678, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8402:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8402:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8380:36:24" - }, - "returnParameters": { - "id": 10682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10681, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10693, - "src": "8435:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8435:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8434:6:24" - }, - "scope": 10745, - "src": "8365:135:24", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10711, - "nodeType": "Block", - "src": "8664:61:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10703, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10695, - "src": "8691:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8691:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10707, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10697, - "src": "8711:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "8703:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes32_$", - "typeString": "type(bytes32)" - }, - "typeName": { - "id": 10705, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "8703:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8703:14:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10702, - "name": "_contains", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10420, - "src": "8681:9:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_bytes32_$returns$_t_bool_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,bytes32) view returns (bool)" - } - }, - "id": 10709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8681:37:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10701, - "id": 10710, - "nodeType": "Return", - "src": "8674:44:24" - } - ] - }, - "documentation": "@dev Returns true if the value is in the set. O(1).", - "id": 10712, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contains", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10698, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10695, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8599:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10694, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8599:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10697, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8620:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8620:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8598:36:24" - }, - "returnParameters": { - "id": 10701, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10700, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10712, - "src": "8658:4:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10699, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8658:4:24", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8657:6:24" - }, - "scope": 10745, - "src": "8581:144:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10724, - "nodeType": "Block", - "src": "8875:43:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10720, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10714, - "src": "8900:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "8900:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - ], - "id": 10719, - "name": "_length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10432, - "src": "8892:7:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$returns$_t_uint256_$", - "typeString": "function (struct EnumerableSet.Set storage pointer) view returns (uint256)" - } - }, - "id": 10722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8892:19:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10718, - "id": 10723, - "nodeType": "Return", - "src": "8885:26:24" - } - ] - }, - "documentation": "@dev Returns the number of values on the set. O(1).", - "id": 10725, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "length", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10714, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10725, - "src": "8822:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10713, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "8822:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:21:24" - }, - "returnParameters": { - "id": 10718, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10717, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10725, - "src": "8866:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8866:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8865:9:24" - }, - "scope": 10745, - "src": "8806:112:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10743, - "nodeType": "Block", - "src": "9330:55:24", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 10737, - "name": "set", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10727, - "src": "9359:3:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet storage pointer" - } - }, - "id": 10738, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_inner", - "nodeType": "MemberAccess", - "referencedDeclaration": 10654, - "src": "9359:10:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - } - }, - { - "argumentTypes": null, - "id": 10739, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10729, - "src": "9371:5:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Set_$10284_storage", - "typeString": "struct EnumerableSet.Set storage ref" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10736, - "name": "_at", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10456, - "src": "9355:3:24", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Set_$10284_storage_ptr_$_t_uint256_$returns$_t_bytes32_$", - "typeString": "function (struct EnumerableSet.Set storage pointer,uint256) view returns (bytes32)" - } - }, - "id": 10740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9355:22:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 10735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9347:7:24", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 10734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9347:7:24", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9347:31:24", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 10733, - "id": 10742, - "nodeType": "Return", - "src": "9340:38:24" - } - ] - }, - "documentation": "@dev Returns the value stored at position `index` in the set. O(1).\n * Note that there are no guarantees on the ordering of values inside the\narray, and it may change when more values are added or removed.\n * Requirements:\n * - `index` must be strictly less than {length}.", - "id": 10744, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "at", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10730, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10727, - "name": "set", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9262:19:24", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - }, - "typeName": { - "contractScope": null, - "id": 10726, - "name": "UintSet", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10655, - "src": "9262:7:24", - "typeDescriptions": { - "typeIdentifier": "t_struct$_UintSet_$10655_storage_ptr", - "typeString": "struct EnumerableSet.UintSet" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 10729, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9283:13:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10728, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9283:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9261:36:24" - }, - "returnParameters": { - "id": 10733, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10732, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10744, - "src": "9321:7:24", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10731, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9321:7:24", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9320:9:24" - }, - "scope": 10745, - "src": "9250:135:24", - "stateMutability": "view", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10746, - "src": "753:8634:24" - } - ], - "src": "33:9355:24" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.652Z", - "devdoc": { - "details": "Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. * Sets have the following properties: * - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. * ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; * // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Exchange.json b/build/contracts/Exchange.json deleted file mode 100644 index e5843130..00000000 --- a/build/contracts/Exchange.json +++ /dev/null @@ -1,72650 +0,0 @@ -{ - "contractName": "Exchange", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "resultSpaceId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fractionAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "fractionCost", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - } - ], - "name": "BuyEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "resultSpaceId", - "type": "uint256" - } - ], - "name": "CloseEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "CreateEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "liquidateAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "seller", - "type": "address" - } - ], - "name": "SellEvent", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "winAmount", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - } - ], - "name": "WithdrawEvent", - "type": "event" - }, - { - "inputs": [], - "name": "CURRENCY_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ODD_DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "eventId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "eventIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "events", - "outputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "result", - "type": "uint256" - }, - { - "internalType": "string", - "name": "urlOracle", - "type": "string" - }, - { - "internalType": "bool", - "name": "isResolved", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "myEvents", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "isEventOpen", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "isEventClosed", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_resultSpaceIds", - "type": "uint256[]" - }, - { - "internalType": "string", - "name": "_urlOracle", - "type": "string" - }, - { - "internalType": "string", - "name": "_eventName", - "type": "string" - } - ], - "name": "createEvent", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "addLiquidity", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "removeLiquidity", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "buy", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "sell", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "getSlipageOnSell", - "outputs": [ - { - "internalType": "uint256", - "name": "slipage", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "getSlipageOnBuy", - "outputs": [ - { - "internalType": "uint256", - "name": "slipage", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "getFractionsCost", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "pullFractions", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fractionsAmount", - "type": "uint256" - } - ], - "name": "pushFractions", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultId", - "type": "uint256" - } - ], - "name": "resolveEvent", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultSpaceId", - "type": "uint256" - } - ], - "name": "withdrawWins", - "outputs": [ - { - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getEvents", - "outputs": [ - { - "internalType": "uint256[]", - "name": "event_ids", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "getEventData", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "resultSpace_id", - "type": "uint256" - } - ], - "name": "getResultSpaceData", - "outputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_resultId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pool", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_cost", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_odd", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_in", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_out", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_fees", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_liqAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMyEvents", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_eventId", - "type": "uint256" - } - ], - "name": "getMyEventHoldings", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "removeOtherERC20Tokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"resultSpaceId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fractionAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fractionCost\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"name\":\"BuyEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"resultSpaceId\",\"type\":\"uint256\"}],\"name\":\"CloseEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"CreateEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"liquidateAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"}],\"name\":\"SellEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"winAmount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"name\":\"WithdrawEvent\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CURRENCY_DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ODD_DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_resultSpaceIds\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"_urlOracle\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_eventName\",\"type\":\"string\"}],\"name\":\"createEvent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eventId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"eventIds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"events\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"result\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"urlOracle\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isResolved\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"getEventData\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEvents\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"event_ids\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"getFractionsCost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"getMyEventHoldings\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMyEvents\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"resultSpace_id\",\"type\":\"uint256\"}],\"name\":\"getResultSpaceData\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pool\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_cost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_odd\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_in\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_out\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_liqAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"getSlipageOnBuy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slipage\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"getSlipageOnSell\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slipage\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"isEventClosed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"isEventOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"myEvents\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"pullFractions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"pushFractions\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"removeOtherERC20Tokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultId\",\"type\":\"uint256\"}],\"name\":\"resolveEvent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_fractionsAmount\",\"type\":\"uint256\"}],\"name\":\"sell\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_resultSpaceId\",\"type\":\"uint256\"}],\"name\":\"withdrawWins\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol\":\"Exchange\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol\":{\"keccak256\":\"0x52cae6b197ce86851ba4405cad20813995688e9b6209d4b9a15804ce21a3acbb\",\"urls\":[\"bzz-raw://2e2de89157f5de8a086202f935b8275f9b9cf40dcced454bdfc803642ed7f5cf\",\"dweb:/ipfs/QmP8fq4KwGDo745ic4SKGwNbQKQEfgnpqand8CG7ZYHqhM\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x608060405260006001556127106002556298968060035534801561002257600080fd5b506000805433610100026001600160a81b03199091161790556130848061004a6000396000f3fe6080604052600436106101c25760003560e01c806370f7ae95116100f7578063a8c776a111610095578063d3c9727c11610064578063d3c9727c1461092a578063e13a7d1114610960578063e682e9ad14610996578063f2fde38b146109c6576101c2565b8063a8c776a114610808578063ad5145af1461083e578063bf3edf7e146108be578063cccbcc7c146108f4576101c2565b8063998f6ac0116100d1578063998f6ac0146107545780639c8f9f231461077e5780639d9bbde7146107a8578063a25e6ab2146107de576101c2565b806370f7ae95146106bc5780638da5cb5b146106e6578063917c854d14610717576101c2565b806340993b261161016457806351c6590a1161013e57806351c6590a146104a957806354549f96146104c65780635c975abb1461067757806364f664671461068c576101c2565b806340993b26146104095780634392bb68146104465780635096865714610470576101c2565b806321c3c4be116101a057806321c3c4be1461031d578063262f92d21461037a5780633548124b1461038f578063404aa8f9146103f4576101c2565b806308888c0a146101c7578063089cdd0c146101ee5780630b79143014610203575b600080fd5b3480156101d357600080fd5b506101dc6109f9565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506101dc6109ff565b34801561020f57600080fd5b5061022d6004803603602081101561022657600080fd5b5035610a05565b60405180806020018581526020018060200184151515158152602001838103835287818151815260200191508051906020019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156102de5781810151838201526020016102c6565b50505050905090810190601f16801561030b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561032957600080fd5b506103476004803603602081101561034057600080fd5b5035610b47565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561038657600080fd5b506101dc610bb5565b34801561039b57600080fd5b506103a4610bbb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103e05781810151838201526020016103c8565b505050509050019250505060405180910390f35b34801561040057600080fd5b506103a4610c1d565b6104326004803603606081101561041f57600080fd5b5080359060208101359060400135610c73565b604080519115158252519081900360200190f35b34801561045257600080fd5b5061022d6004803603602081101561046957600080fd5b5035610f4d565b34801561047c57600080fd5b506101dc6004803603604081101561049357600080fd5b506001600160a01b0381351690602001356110d5565b610432600480360360208110156104bf57600080fd5b5035611103565b610432600480360360608110156104dc57600080fd5b8101906020810181356401000000008111156104f757600080fd5b82018360208201111561050957600080fd5b8035906020019184602083028401116401000000008311171561052b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561057b57600080fd5b82018360208201111561058d57600080fd5b803590602001918460018302840111640100000000831117156105af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561060257600080fd5b82018360208201111561061457600080fd5b8035906020019184600183028401116401000000008311171561063657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506114d6945050505050565b34801561068357600080fd5b5061043261179b565b34801561069857600080fd5b50610432600480360360408110156106af57600080fd5b50803590602001356117a4565b3480156106c857600080fd5b50610432600480360360208110156106df57600080fd5b503561183f565b3480156106f257600080fd5b506106fb61185e565b604080516001600160a01b039092168252519081900360200190f35b34801561072357600080fd5b506107526004803603604081101561073a57600080fd5b506001600160a01b0381358116916020013516611872565b005b34801561076057600080fd5b506101dc6004803603602081101561077757600080fd5b503561198c565b34801561078a57600080fd5b50610432600480360360208110156107a157600080fd5b50356119aa565b3480156107b457600080fd5b50610432600480360360608110156107cb57600080fd5b5080359060208101359060400135611e3c565b3480156107ea57600080fd5b506104326004803603602081101561080157600080fd5b503561202c565b34801561081457600080fd5b506101dc6004803603606081101561082b57600080fd5b5080359060208101359060400135612045565b34801561084a57600080fd5b5061086e6004803603604081101561086157600080fd5b5080359060200135612148565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b3480156108ca57600080fd5b506101dc600480360360608110156108e157600080fd5b5080359060208101359060400135612246565b34801561090057600080fd5b506104326004803603606081101561091757600080fd5b5080359060208101359060400135612312565b34801561093657600080fd5b506104326004803603606081101561094d57600080fd5b5080359060208101359060400135612577565b34801561096c57600080fd5b506101dc6004803603606081101561098357600080fd5b50803590602081013590604001356128cc565b3480156109a257600080fd5b50610432600480360360408110156109b957600080fd5b50803590602001356129c4565b3480156109d257600080fd5b50610752600480360360208110156109e957600080fd5b50356001600160a01b0316612c4a565b60025481565b60015481565b60056020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909291839190830182828015610a9c5780601f10610a7157610100808354040283529160200191610a9c565b820191906000526020600020905b815481529060010190602001808311610a7f57829003601f168201915b505050506002838101546003850180546040805160206001841615610100026000190190931695909504601f810183900483028601830190915280855295969295929450909190830182828015610b345780601f10610b0957610100808354040283529160200191610b34565b820191906000526020600020905b815481529060010190602001808311610b1757829003601f168201915b5050506004909301549192505060ff1684565b60009081526005602090815260408083206001808552018252808320600284528184203385526008808301855283862054600b808501875285882054600e95860188528689205493850188528689205491850188528689205495909401909652939095205492959094939290565b60035481565b33600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610c1257602002820191906000526020600020905b815481526020019060010190808311610bfe575b505050505090505b90565b60606004805480602002602001604051908101604052809291908181526020018280548015610c125760200282019190600052602060002090815481526020019060010190808311610bfe575050505050905090565b6000610c7e8461202c565b610c8757600080fd5b60008211610cd3576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600183811415610ce1575060025b60008581526005602090815260408083208484526001019091528082208683529082209091610d11888888612246565b60038301549091506000610d268a8a8a612045565b905060038110610d7d576040805162461bcd60e51b815260206004820152601d60248201527f536c69706167652068617320746f206265206c657373207468616e2033000000604482015290519081900360640190fd5b823414610dbb5760405162461bcd60e51b81526004018080602001828103825260288152602001806130276028913960400191505060405180910390fd5b6002840154610dd0908463ffffffff612cdf16565b6002808601829055805490870154610dff9291610df3919063ffffffff612d4216565b9063ffffffff612d9b16565b6002805491909101600486015585810154815491860154610e2a92610df3919063ffffffff612d4216565b60028054919091016004870155600585015490850154610e4f9163ffffffff612d9b16565b600385015560058501546002860154610e6d9163ffffffff612d9b16565b60038601556007840154889015610eaf576007850154610eac90610e9890859063ffffffff612d9b16565b60078701549060010363ffffffff612d9b16565b90505b6007850154610ec590829063ffffffff612e0216565b33600081815260088801602090815260408083209490945560078901859055600681528382208054600181018255908352918190209091018e905582518c8152908101869052825191928d928f927f09128000766ebce884c5ac8e461927d01432ce7f518e74a16b4606728d2c016192908290030190a45060019a9950505050505050505050565b6060600060606000610f5d612e5f565b6000868152600560209081526040918290208251815460026001821615610100026000190190911604601f8101849004909302810160a090810190945260808101838152909391928492849190840182828015610ffb5780601f10610fd057610100808354040283529160200191610ffb565b820191906000526020600020905b815481529060010190602001808311610fde57829003601f168201915b505050918352505060028281015460208084019190915260038401805460408051601f6000196101006001861615020190931695909504918201849004840285018401815281855290940193909183018282801561109a5780601f1061106f5761010080835404028352916020019161109a565b820191906000526020600020905b81548152906001019060200180831161107d57829003601f168201915b50505091835250506004919091015460ff16151560209182015281519082015160408301516060909301519199909850919650945092505050565b600660205281600052604060002081815481106110ee57fe5b90600052602060002001600091509150505481565b600061110e8261202c565b61111757600080fd5b60003411611163576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600082815260056020908152604080832060018085520190915280822060028352908220909180808060326111b16111a06064610df33485612d42565b60028801549063ffffffff612cdf16565b94506111dc6111cb6064610df3348563ffffffff612d4216565b60028901549063ffffffff612cdf16565b600287015460058801549195506111fe91610df390889063ffffffff612d4216565b6002880154600589015491945061122091610df390879063ffffffff612d4216565b60028088018790558801859055600587015490925060009061124990859063ffffffff612e0216565b600589015490915060009061126590859063ffffffff612e0216565b6006890154909150600090611280908463ffffffff612cdf16565b60068b015490915060009061129b908463ffffffff612cdf16565b60078b015490915084908490156112cf5760068c015460078d01546112cc9190610df390879063ffffffff612d4216565b91505b60078d0154156112fc5760068d015460078e01546112f99190610df390869063ffffffff612d4216565b90505b6006808d018590558d0183905560078c01546113419061132390849063ffffffff612e0216565b33600090815260088f0160205260409020549063ffffffff612cdf16565b33600090815260088e01602052604090205560078d01546113a69061136d90839063ffffffff612e0216565b8e6002016006016000336001600160a01b03166001600160a01b0316815260200190815260200160002054612cdf90919063ffffffff16565b33600090815260088f016020908152604080832093909355600e8f01905220546113d6908763ffffffff612cdf16565b8c600201600c016000336001600160a01b03166001600160a01b0316815260200190815260200160002081905550611441858e600201600c016000336001600160a01b03166001600160a01b0316815260200190815260200160002054612cdf90919063ffffffff16565b336000908152600e8f0160205260409020556007808d018390558d018190556005808d018a90558d01889055600d8c0154611482908763ffffffff612cdf16565b600d8d01819055611499908663ffffffff612cdf16565b600d909d019c909c555050336000908152600660209081526040822080546001810182559083529120019b909b5550979998505050505050505050565b6000805461010090046001600160a01b031633146114f357600080fd5b8351600214611549576040805162461bcd60e51b815260206004820152601b60248201527f526573756c7420537061636573206e65656420746f2062652032200000000000604482015290519081900360640190fd5b60035484516001916064029060009061156f908390610df390349063ffffffff612d9b16565b9050600081116115b05760405162461bcd60e51b81526004018080602001828103825260238152602001806130046023913960400191505060405180910390fd5b6001546000908152600560209081526040909120865190916115d6918391890190612e89565b5086516115ec90600383019060208a0190612e89565b5060048101805460ff1916905560005b88518110156116c85760008581526001808401602052604090912090810186905589518a908390811061162b57fe5b602090810291909101015181558951600282019061165090349063ffffffff612d9b16565b81556001808201869055600280548d5102908301556003820187905560048201879055600582018790556000600783018190556008808401829055600a8401829055600b90930181905597810180895285820160209081526040808b20308c52909401905291909720869055959190910190506115fc565b50600180546004805492830181556000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101556040518651879190819060208401908083835b602083106117305780518252601f199092019160209182019101611711565b5181516020939093036101000a60001901801990911692169190911790526040519201829003822060015490945092507f8b7268e8dbd7df43241ab8ae5931d26060053d65b418b03db1e68394dcfcb4cd9160009150a3505060018054810181559695505050505050565b60005460ff1690565b6000805461010090046001600160a01b031633146117c157600080fd5b6117ca8361202c565b6117d357600080fd5b6000821180156117e35750600382105b6117ec57600080fd5b60008381526005602052604080822060028101859055600401805460ff1916600117905551839185917f64e412f8b311be0c82113c299c4caf4b603bab21860146dae45a259bdb7cd3679190a392915050565b60008181526005602052604090206004015460ff161515600114919050565b60005461010090046001600160a01b031681565b60005461010090046001600160a01b0316331461188e57600080fd5b604080516370a0823160e01b8152306004820152905183916001600160a01b0383169163a9059cbb91859184916370a08231916024808301926020929190829003018186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561195b57600080fd5b505af115801561196f573d6000803e3d6000fd5b505050506040513d602081101561198557600080fd5b5050505050565b6004818154811061199957fe5b600091825260209091200154905081565b6000818152600560209081526040808320600180855201825280832060028452818420338552600e810190935290832054909190611a2f576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646974792068617320746f20626967676572207468616e20300000604482015290519081900360640190fd5b336000908152600e83016020526040902054611a92576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646974792068617320746f20626967676572207468616e20300000604482015290519081900360640190fd5b60058101546002820154336000908152600e84016020526040812054909283928392611ac99291610df3919063ffffffff612d4216565b60058601546002870154336000908152600e8901602052604081205493945092611afe9291610df3919063ffffffff612d4216565b6002860154909150611b16908363ffffffff612e0216565b600280870191909155860154611b32908263ffffffff612e0216565b6002870155336000908152600e860160205260409020546005860154611b5d9163ffffffff612e0216565b600580870191909155336000908152600e8801602052604090205490870154611b8b9163ffffffff612e0216565b6005870155336000908152600e860160205260408120546006870154611bb69163ffffffff612e0216565b336000908152600e8901602052604081205460068a01549293509091611be19163ffffffff612e0216565b60068801546007890154919250600091611c069190610df3908663ffffffff612d4216565b60068a015460078b0154919250600091611c2b9190610df3908663ffffffff612d4216565b60078a015460068b015433600090815260088d01602052604081205493945092611c609291610df3919063ffffffff612d4216565b60078c015460068d015433600090815260088f01602052604081205493945092611c959291610df3919063ffffffff612d4216565b336000908152600e8d016020526040902054909150611cd2908790610df390611cc590869063ffffffff612e0216565b879063ffffffff612d4216565b33600090815260088d016020908152604080832093909355600e8f0190522054611d1a908690610df390611d0d90859063ffffffff612e0216565b869063ffffffff612d4216565b33600090815260088e01602090815260408083209390935560068e81018a90558f018890556007808f018890558f01869055600e8e0190522054600d8c0154611d689163ffffffff612e0216565b600d808d0191909155336000908152600e8e016020526040902054908d0154611d969163ffffffff612e0216565b600d8d0155336000908152600e808d0160209081526040808420849055918f019052812081905560038d0154611df990611dd7908a9063ffffffff612d4216565b60038e0154611ded908c9063ffffffff612d4216565b9063ffffffff612cdf16565b604051909150339082156108fc029083906000818181858888f19350505050158015611e29573d6000803e3d6000fd5b5050505050505050505050505050919050565b6000611e478461202c565b611e5057600080fd5b60008211611e9c576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600084815260056020908152604080832086845260010190915281206009810154600a820154919291611edb9190610df390879063ffffffff612d4216565b336000908152600b840160205260409020549091508110611f43576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2042616c616e636520746f2050756c6c204672616374696f6e7300000000604482015290519081900360640190fd5b336000908152600b83016020526040902054611f65908263ffffffff612e0216565b336000908152600b840160205260409020556009820154611f8c908563ffffffff612e0216565b6009830155600a820154611fa6908263ffffffff612e0216565b600a8301556006820154600090611fc3908663ffffffff612cdf16565b60068401546007850154919250600091611fe89190610df3908563ffffffff612d4216565b600785015490915061200190829063ffffffff612e0216565b3360009081526008860160205260409020556007840155600690920191909155506001949350505050565b60009081526005602052604090206004015460ff161590565b600061204f612f07565b5060008481526005602081815260408084208785526001908101835281852082516060808201855282548252928201548186015283516101408101855260028301548152600383015495810195909552600482015485850152948101549184019190915260068101546080840152600781015460a0840152600981015460c0840152600a81015460e0840152600c810154610100840152600d0154610120830152820152906120ff868686612246565b6040830151606081015190519192506000916121269190610df3908563ffffffff612e0216565b905061213d81610df384606463ffffffff612d4216565b979650505050505050565b60008060008060008060008060008061215f612f07565b5050506000998a525050600560208181526040808b20998b526001998a018252998a90208a5160608082018d52825482529a8201548184019081528c5161014081018e526002840154815260038401549481019485526004840154818f01908152958401549c81019c8d52600684015460808201908152600785015460a0830152600985015460c08301908152600a86015460e0840152600c8601546101008401908152600d9096015461012084019081529f8501839052935192519151955196519d519051935194519e51929f919e959d969c50959a5094985090965090945090925090565b6000612250612f07565b5060008481526005602081815260408084208785526001908101835293819020815160608082018452825482529582015481850152825161014081018452600283015481526003830154948101948552600483015481850152948201549585019590955260068101546080850152600781015460a0850152600981015460c0850152600a81015460e0850152600c810154610100850152600d01546101208401528301919091525161230990849063ffffffff612d4216565b95945050505050565b600061231d8461202c565b61232657600080fd5b60008211612372576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b60008481526005602090815260408083208684526001019091528120600681015460078201549192916123b19190610df390879063ffffffff612d4216565b3360009081526008840160205260409020549091508110612419576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2042616c616e636520746f2050756c6c204672616374696f6e7300000000604482015290519081900360640190fd5b60068201543360009081526008840160205260408120546007850154919261244d929091610df3919063ffffffff612d4216565b905080851061248d5760405162461bcd60e51b8152600401808060200182810382526048815260200180612fbc6048913960600191505060405180910390fd5b3360009081526008840160205260409020546124af908363ffffffff612e0216565b33600090815260088501602052604090205560068301546124d6908663ffffffff612e0216565b600684015560078301546124f0908363ffffffff612e0216565b6007840155600983015460009061250d908763ffffffff612cdf16565b6009850154600a8601549192506000916125329190610df3908563ffffffff612d4216565b600a86015490915061254b90829063ffffffff612e0216565b336000908152600b87016020526040902055600a85015560099093019290925550600195945050505050565b60006125828461202c565b61258b57600080fd5b600082116125d7576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600084815260056020908152604080832086845260019081019092529091209084811415612603575060025b600086815260056020908152604080832084845260010190915281206009840154600a8501549192916126429190610df390899063ffffffff612d4216565b336000908152600b8601602052604090205490915081106126aa576040805162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f204c6971756964617465000000000000000000604482015290519081900360640190fd5b60006126b78989896128cc565b90506003811061270e576040805162461bcd60e51b815260206004820152601d60248201527f536c69706167652068617320746f206265206c657373207468616e2033000000604482015290519081900360640190fd5b600385015460009061272790899063ffffffff612d4216565b336000908152600b8801602052604090205490915061274c908463ffffffff612e0216565b336000908152600b880160205260409020556009860154612773908963ffffffff612e0216565b6009870155600a86015461278d908463ffffffff612e0216565b600a87015560068601546127a7908963ffffffff612cdf16565b600687015560028601546127c1908263ffffffff612e0216565b60028088018290558054908601546127e49291610df3919063ffffffff612d4216565b600280549190910160048801558481015481549188015461280f92610df3919063ffffffff612d4216565b600280549190910160048601556005870154908701546128349163ffffffff612d9b16565b6003870155600584015460028501546128529163ffffffff612d9b16565b6003850155604051339082156108fc029083906000818181858888f19350505050158015612884573d6000803e3d6000fd5b5060408051828152905133918c917f5510da23a90d54e35ddff683d35a6e64dd363c19c189b94ff402ffc99a8cc2749181900360200190a35060019998505050505050505050565b60006128d6612f07565b5060008481526005602081815260408084208785526001908101835281852082516060808201855282548252928201548186015283516101408101855260028301548152600383015495810195909552600482015485850152948101549184019190915260068101546080840152600781015460a0840152600981015460c0840152600a81015460e0840152600c810154610100840152600d015461012083015282015290612986868686612246565b6040830151606081015190519192506000916129ad9190610df3908563ffffffff612e0216565b905061213d82610df383606463ffffffff612d4216565b60006129cf8361183f565b612a19576040805162461bcd60e51b8152602060048201526016602482015275115d995b9d081a185cc81d1bc818994818db1bdcd95960521b604482015290519081900360640190fd5b600083815260056020818152604080842086855260018101835290842093879052919052600201548314612a94576040805162461bcd60e51b815260206004820152601e60248201527f526573756c74205370616365206973206e6f74207468652077696e6e65720000604482015290519081900360640190fd5b336000908152600f8201602052604090205460ff1615612af3576040805162461bcd60e51b81526020600482015260156024820152742bb4b73734b7339030b63932b0b23c903a30b5b2b760591b604482015290519081900360640190fd5b600781015460068201543360009081526008840160205260408120549092612b26929091610df39163ffffffff612d4216565b600a8301546009840154336000908152600b8601602052604081205493945092612b5b9291610df3919063ffffffff612d4216565b90506000612ba6612b79600354600254612d4290919063ffffffff16565b60048601546003870154610df39190612b9a9081888a63ffffffff612cdf16565b9063ffffffff612d4216565b604051909150339082156108fc029083906000818181858888f19350505050158015612bd6573d6000803e3d6000fd5b5060008781526005602090815260408083208984526001908101835281842033808652600f909101845293829020805460ff19169091179055805184815290518a927fa62bf33e3860a18b08244c1b59b8aa4920be374252eb534e0ab47d5f7a18ca18928290030190a35050505092915050565b60005461010090046001600160a01b03163314612c6657600080fd5b6001600160a01b038116612c7957600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082820183811015612d39576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082612d5157506000612d3c565b82820282848281612d5e57fe5b0414612d395760405162461bcd60e51b8152600401808060200182810382526021815260200180612f9b6021913960400191505060405180910390fd5b6000808211612df1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381612dfa57fe5b049392505050565b600082821115612e59576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60405180608001604052806060815260200160008152602001606081526020016000151581525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612eca57805160ff1916838001178555612ef7565b82800160010185558215612ef7579182015b82811115612ef7578251825591602001919060010190612edc565b50612f03929150612f2d565b5090565b60405180606001604052806000815260200160008152602001612f28612f47565b905290565b610c1a91905b80821115612f035760008155600101612f33565b60405180610140016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564496e697469616c204672616374696f6e20436f73742068617320746f206265203e203054782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74a2646970667358221220d048fb33aa930d9528df38faf3a4812d2d52aa2c8c13a01ccdbc4fd9dc3703d364736f6c63430006020033", - "deployedBytecode": "0x6080604052600436106101c25760003560e01c806370f7ae95116100f7578063a8c776a111610095578063d3c9727c11610064578063d3c9727c1461092a578063e13a7d1114610960578063e682e9ad14610996578063f2fde38b146109c6576101c2565b8063a8c776a114610808578063ad5145af1461083e578063bf3edf7e146108be578063cccbcc7c146108f4576101c2565b8063998f6ac0116100d1578063998f6ac0146107545780639c8f9f231461077e5780639d9bbde7146107a8578063a25e6ab2146107de576101c2565b806370f7ae95146106bc5780638da5cb5b146106e6578063917c854d14610717576101c2565b806340993b261161016457806351c6590a1161013e57806351c6590a146104a957806354549f96146104c65780635c975abb1461067757806364f664671461068c576101c2565b806340993b26146104095780634392bb68146104465780635096865714610470576101c2565b806321c3c4be116101a057806321c3c4be1461031d578063262f92d21461037a5780633548124b1461038f578063404aa8f9146103f4576101c2565b806308888c0a146101c7578063089cdd0c146101ee5780630b79143014610203575b600080fd5b3480156101d357600080fd5b506101dc6109f9565b60408051918252519081900360200190f35b3480156101fa57600080fd5b506101dc6109ff565b34801561020f57600080fd5b5061022d6004803603602081101561022657600080fd5b5035610a05565b60405180806020018581526020018060200184151515158152602001838103835287818151815260200191508051906020019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156102de5781810151838201526020016102c6565b50505050905090810190601f16801561030b5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561032957600080fd5b506103476004803603602081101561034057600080fd5b5035610b47565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561038657600080fd5b506101dc610bb5565b34801561039b57600080fd5b506103a4610bbb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103e05781810151838201526020016103c8565b505050509050019250505060405180910390f35b34801561040057600080fd5b506103a4610c1d565b6104326004803603606081101561041f57600080fd5b5080359060208101359060400135610c73565b604080519115158252519081900360200190f35b34801561045257600080fd5b5061022d6004803603602081101561046957600080fd5b5035610f4d565b34801561047c57600080fd5b506101dc6004803603604081101561049357600080fd5b506001600160a01b0381351690602001356110d5565b610432600480360360208110156104bf57600080fd5b5035611103565b610432600480360360608110156104dc57600080fd5b8101906020810181356401000000008111156104f757600080fd5b82018360208201111561050957600080fd5b8035906020019184602083028401116401000000008311171561052b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561057b57600080fd5b82018360208201111561058d57600080fd5b803590602001918460018302840111640100000000831117156105af57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561060257600080fd5b82018360208201111561061457600080fd5b8035906020019184600183028401116401000000008311171561063657600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506114d6945050505050565b34801561068357600080fd5b5061043261179b565b34801561069857600080fd5b50610432600480360360408110156106af57600080fd5b50803590602001356117a4565b3480156106c857600080fd5b50610432600480360360208110156106df57600080fd5b503561183f565b3480156106f257600080fd5b506106fb61185e565b604080516001600160a01b039092168252519081900360200190f35b34801561072357600080fd5b506107526004803603604081101561073a57600080fd5b506001600160a01b0381358116916020013516611872565b005b34801561076057600080fd5b506101dc6004803603602081101561077757600080fd5b503561198c565b34801561078a57600080fd5b50610432600480360360208110156107a157600080fd5b50356119aa565b3480156107b457600080fd5b50610432600480360360608110156107cb57600080fd5b5080359060208101359060400135611e3c565b3480156107ea57600080fd5b506104326004803603602081101561080157600080fd5b503561202c565b34801561081457600080fd5b506101dc6004803603606081101561082b57600080fd5b5080359060208101359060400135612045565b34801561084a57600080fd5b5061086e6004803603604081101561086157600080fd5b5080359060200135612148565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b3480156108ca57600080fd5b506101dc600480360360608110156108e157600080fd5b5080359060208101359060400135612246565b34801561090057600080fd5b506104326004803603606081101561091757600080fd5b5080359060208101359060400135612312565b34801561093657600080fd5b506104326004803603606081101561094d57600080fd5b5080359060208101359060400135612577565b34801561096c57600080fd5b506101dc6004803603606081101561098357600080fd5b50803590602081013590604001356128cc565b3480156109a257600080fd5b50610432600480360360408110156109b957600080fd5b50803590602001356129c4565b3480156109d257600080fd5b50610752600480360360208110156109e957600080fd5b50356001600160a01b0316612c4a565b60025481565b60015481565b60056020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909291839190830182828015610a9c5780601f10610a7157610100808354040283529160200191610a9c565b820191906000526020600020905b815481529060010190602001808311610a7f57829003601f168201915b505050506002838101546003850180546040805160206001841615610100026000190190931695909504601f810183900483028601830190915280855295969295929450909190830182828015610b345780601f10610b0957610100808354040283529160200191610b34565b820191906000526020600020905b815481529060010190602001808311610b1757829003601f168201915b5050506004909301549192505060ff1684565b60009081526005602090815260408083206001808552018252808320600284528184203385526008808301855283862054600b808501875285882054600e95860188528689205493850188528689205491850188528689205495909401909652939095205492959094939290565b60035481565b33600090815260066020908152604091829020805483518184028101840190945280845260609392830182828015610c1257602002820191906000526020600020905b815481526020019060010190808311610bfe575b505050505090505b90565b60606004805480602002602001604051908101604052809291908181526020018280548015610c125760200282019190600052602060002090815481526020019060010190808311610bfe575050505050905090565b6000610c7e8461202c565b610c8757600080fd5b60008211610cd3576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600183811415610ce1575060025b60008581526005602090815260408083208484526001019091528082208683529082209091610d11888888612246565b60038301549091506000610d268a8a8a612045565b905060038110610d7d576040805162461bcd60e51b815260206004820152601d60248201527f536c69706167652068617320746f206265206c657373207468616e2033000000604482015290519081900360640190fd5b823414610dbb5760405162461bcd60e51b81526004018080602001828103825260288152602001806130276028913960400191505060405180910390fd5b6002840154610dd0908463ffffffff612cdf16565b6002808601829055805490870154610dff9291610df3919063ffffffff612d4216565b9063ffffffff612d9b16565b6002805491909101600486015585810154815491860154610e2a92610df3919063ffffffff612d4216565b60028054919091016004870155600585015490850154610e4f9163ffffffff612d9b16565b600385015560058501546002860154610e6d9163ffffffff612d9b16565b60038601556007840154889015610eaf576007850154610eac90610e9890859063ffffffff612d9b16565b60078701549060010363ffffffff612d9b16565b90505b6007850154610ec590829063ffffffff612e0216565b33600081815260088801602090815260408083209490945560078901859055600681528382208054600181018255908352918190209091018e905582518c8152908101869052825191928d928f927f09128000766ebce884c5ac8e461927d01432ce7f518e74a16b4606728d2c016192908290030190a45060019a9950505050505050505050565b6060600060606000610f5d612e5f565b6000868152600560209081526040918290208251815460026001821615610100026000190190911604601f8101849004909302810160a090810190945260808101838152909391928492849190840182828015610ffb5780601f10610fd057610100808354040283529160200191610ffb565b820191906000526020600020905b815481529060010190602001808311610fde57829003601f168201915b505050918352505060028281015460208084019190915260038401805460408051601f6000196101006001861615020190931695909504918201849004840285018401815281855290940193909183018282801561109a5780601f1061106f5761010080835404028352916020019161109a565b820191906000526020600020905b81548152906001019060200180831161107d57829003601f168201915b50505091835250506004919091015460ff16151560209182015281519082015160408301516060909301519199909850919650945092505050565b600660205281600052604060002081815481106110ee57fe5b90600052602060002001600091509150505481565b600061110e8261202c565b61111757600080fd5b60003411611163576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600082815260056020908152604080832060018085520190915280822060028352908220909180808060326111b16111a06064610df33485612d42565b60028801549063ffffffff612cdf16565b94506111dc6111cb6064610df3348563ffffffff612d4216565b60028901549063ffffffff612cdf16565b600287015460058801549195506111fe91610df390889063ffffffff612d4216565b6002880154600589015491945061122091610df390879063ffffffff612d4216565b60028088018790558801859055600587015490925060009061124990859063ffffffff612e0216565b600589015490915060009061126590859063ffffffff612e0216565b6006890154909150600090611280908463ffffffff612cdf16565b60068b015490915060009061129b908463ffffffff612cdf16565b60078b015490915084908490156112cf5760068c015460078d01546112cc9190610df390879063ffffffff612d4216565b91505b60078d0154156112fc5760068d015460078e01546112f99190610df390869063ffffffff612d4216565b90505b6006808d018590558d0183905560078c01546113419061132390849063ffffffff612e0216565b33600090815260088f0160205260409020549063ffffffff612cdf16565b33600090815260088e01602052604090205560078d01546113a69061136d90839063ffffffff612e0216565b8e6002016006016000336001600160a01b03166001600160a01b0316815260200190815260200160002054612cdf90919063ffffffff16565b33600090815260088f016020908152604080832093909355600e8f01905220546113d6908763ffffffff612cdf16565b8c600201600c016000336001600160a01b03166001600160a01b0316815260200190815260200160002081905550611441858e600201600c016000336001600160a01b03166001600160a01b0316815260200190815260200160002054612cdf90919063ffffffff16565b336000908152600e8f0160205260409020556007808d018390558d018190556005808d018a90558d01889055600d8c0154611482908763ffffffff612cdf16565b600d8d01819055611499908663ffffffff612cdf16565b600d909d019c909c555050336000908152600660209081526040822080546001810182559083529120019b909b5550979998505050505050505050565b6000805461010090046001600160a01b031633146114f357600080fd5b8351600214611549576040805162461bcd60e51b815260206004820152601b60248201527f526573756c7420537061636573206e65656420746f2062652032200000000000604482015290519081900360640190fd5b60035484516001916064029060009061156f908390610df390349063ffffffff612d9b16565b9050600081116115b05760405162461bcd60e51b81526004018080602001828103825260238152602001806130046023913960400191505060405180910390fd5b6001546000908152600560209081526040909120865190916115d6918391890190612e89565b5086516115ec90600383019060208a0190612e89565b5060048101805460ff1916905560005b88518110156116c85760008581526001808401602052604090912090810186905589518a908390811061162b57fe5b602090810291909101015181558951600282019061165090349063ffffffff612d9b16565b81556001808201869055600280548d5102908301556003820187905560048201879055600582018790556000600783018190556008808401829055600a8401829055600b90930181905597810180895285820160209081526040808b20308c52909401905291909720869055959190910190506115fc565b50600180546004805492830181556000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b909101556040518651879190819060208401908083835b602083106117305780518252601f199092019160209182019101611711565b5181516020939093036101000a60001901801990911692169190911790526040519201829003822060015490945092507f8b7268e8dbd7df43241ab8ae5931d26060053d65b418b03db1e68394dcfcb4cd9160009150a3505060018054810181559695505050505050565b60005460ff1690565b6000805461010090046001600160a01b031633146117c157600080fd5b6117ca8361202c565b6117d357600080fd5b6000821180156117e35750600382105b6117ec57600080fd5b60008381526005602052604080822060028101859055600401805460ff1916600117905551839185917f64e412f8b311be0c82113c299c4caf4b603bab21860146dae45a259bdb7cd3679190a392915050565b60008181526005602052604090206004015460ff161515600114919050565b60005461010090046001600160a01b031681565b60005461010090046001600160a01b0316331461188e57600080fd5b604080516370a0823160e01b8152306004820152905183916001600160a01b0383169163a9059cbb91859184916370a08231916024808301926020929190829003018186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d602081101561190a57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561195b57600080fd5b505af115801561196f573d6000803e3d6000fd5b505050506040513d602081101561198557600080fd5b5050505050565b6004818154811061199957fe5b600091825260209091200154905081565b6000818152600560209081526040808320600180855201825280832060028452818420338552600e810190935290832054909190611a2f576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646974792068617320746f20626967676572207468616e20300000604482015290519081900360640190fd5b336000908152600e83016020526040902054611a92576040805162461bcd60e51b815260206004820152601e60248201527f4c69717569646974792068617320746f20626967676572207468616e20300000604482015290519081900360640190fd5b60058101546002820154336000908152600e84016020526040812054909283928392611ac99291610df3919063ffffffff612d4216565b60058601546002870154336000908152600e8901602052604081205493945092611afe9291610df3919063ffffffff612d4216565b6002860154909150611b16908363ffffffff612e0216565b600280870191909155860154611b32908263ffffffff612e0216565b6002870155336000908152600e860160205260409020546005860154611b5d9163ffffffff612e0216565b600580870191909155336000908152600e8801602052604090205490870154611b8b9163ffffffff612e0216565b6005870155336000908152600e860160205260408120546006870154611bb69163ffffffff612e0216565b336000908152600e8901602052604081205460068a01549293509091611be19163ffffffff612e0216565b60068801546007890154919250600091611c069190610df3908663ffffffff612d4216565b60068a015460078b0154919250600091611c2b9190610df3908663ffffffff612d4216565b60078a015460068b015433600090815260088d01602052604081205493945092611c609291610df3919063ffffffff612d4216565b60078c015460068d015433600090815260088f01602052604081205493945092611c959291610df3919063ffffffff612d4216565b336000908152600e8d016020526040902054909150611cd2908790610df390611cc590869063ffffffff612e0216565b879063ffffffff612d4216565b33600090815260088d016020908152604080832093909355600e8f0190522054611d1a908690610df390611d0d90859063ffffffff612e0216565b869063ffffffff612d4216565b33600090815260088e01602090815260408083209390935560068e81018a90558f018890556007808f018890558f01869055600e8e0190522054600d8c0154611d689163ffffffff612e0216565b600d808d0191909155336000908152600e8e016020526040902054908d0154611d969163ffffffff612e0216565b600d8d0155336000908152600e808d0160209081526040808420849055918f019052812081905560038d0154611df990611dd7908a9063ffffffff612d4216565b60038e0154611ded908c9063ffffffff612d4216565b9063ffffffff612cdf16565b604051909150339082156108fc029083906000818181858888f19350505050158015611e29573d6000803e3d6000fd5b5050505050505050505050505050919050565b6000611e478461202c565b611e5057600080fd5b60008211611e9c576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600084815260056020908152604080832086845260010190915281206009810154600a820154919291611edb9190610df390879063ffffffff612d4216565b336000908152600b840160205260409020549091508110611f43576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2042616c616e636520746f2050756c6c204672616374696f6e7300000000604482015290519081900360640190fd5b336000908152600b83016020526040902054611f65908263ffffffff612e0216565b336000908152600b840160205260409020556009820154611f8c908563ffffffff612e0216565b6009830155600a820154611fa6908263ffffffff612e0216565b600a8301556006820154600090611fc3908663ffffffff612cdf16565b60068401546007850154919250600091611fe89190610df3908563ffffffff612d4216565b600785015490915061200190829063ffffffff612e0216565b3360009081526008860160205260409020556007840155600690920191909155506001949350505050565b60009081526005602052604090206004015460ff161590565b600061204f612f07565b5060008481526005602081815260408084208785526001908101835281852082516060808201855282548252928201548186015283516101408101855260028301548152600383015495810195909552600482015485850152948101549184019190915260068101546080840152600781015460a0840152600981015460c0840152600a81015460e0840152600c810154610100840152600d0154610120830152820152906120ff868686612246565b6040830151606081015190519192506000916121269190610df3908563ffffffff612e0216565b905061213d81610df384606463ffffffff612d4216565b979650505050505050565b60008060008060008060008060008061215f612f07565b5050506000998a525050600560208181526040808b20998b526001998a018252998a90208a5160608082018d52825482529a8201548184019081528c5161014081018e526002840154815260038401549481019485526004840154818f01908152958401549c81019c8d52600684015460808201908152600785015460a0830152600985015460c08301908152600a86015460e0840152600c8601546101008401908152600d9096015461012084019081529f8501839052935192519151955196519d519051935194519e51929f919e959d969c50959a5094985090965090945090925090565b6000612250612f07565b5060008481526005602081815260408084208785526001908101835293819020815160608082018452825482529582015481850152825161014081018452600283015481526003830154948101948552600483015481850152948201549585019590955260068101546080850152600781015460a0850152600981015460c0850152600a81015460e0850152600c810154610100850152600d01546101208401528301919091525161230990849063ffffffff612d4216565b95945050505050565b600061231d8461202c565b61232657600080fd5b60008211612372576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b60008481526005602090815260408083208684526001019091528120600681015460078201549192916123b19190610df390879063ffffffff612d4216565b3360009081526008840160205260409020549091508110612419576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2042616c616e636520746f2050756c6c204672616374696f6e7300000000604482015290519081900360640190fd5b60068201543360009081526008840160205260408120546007850154919261244d929091610df3919063ffffffff612d4216565b905080851061248d5760405162461bcd60e51b8152600401808060200182810382526048815260200180612fbc6048913960600191505060405180910390fd5b3360009081526008840160205260409020546124af908363ffffffff612e0216565b33600090815260088501602052604090205560068301546124d6908663ffffffff612e0216565b600684015560078301546124f0908363ffffffff612e0216565b6007840155600983015460009061250d908763ffffffff612cdf16565b6009850154600a8601549192506000916125329190610df3908563ffffffff612d4216565b600a86015490915061254b90829063ffffffff612e0216565b336000908152600b87016020526040902055600a85015560099093019290925550600195945050505050565b60006125828461202c565b61258b57600080fd5b600082116125d7576040805162461bcd60e51b81526020600482015260146024820152730416d6f756e742068617320746f206265203e20360641b604482015290519081900360640190fd5b600084815260056020908152604080832086845260019081019092529091209084811415612603575060025b600086815260056020908152604080832084845260010190915281206009840154600a8501549192916126429190610df390899063ffffffff612d4216565b336000908152600b8601602052604090205490915081106126aa576040805162461bcd60e51b815260206004820152601760248201527f4e6f2042616c616e636520746f204c6971756964617465000000000000000000604482015290519081900360640190fd5b60006126b78989896128cc565b90506003811061270e576040805162461bcd60e51b815260206004820152601d60248201527f536c69706167652068617320746f206265206c657373207468616e2033000000604482015290519081900360640190fd5b600385015460009061272790899063ffffffff612d4216565b336000908152600b8801602052604090205490915061274c908463ffffffff612e0216565b336000908152600b880160205260409020556009860154612773908963ffffffff612e0216565b6009870155600a86015461278d908463ffffffff612e0216565b600a87015560068601546127a7908963ffffffff612cdf16565b600687015560028601546127c1908263ffffffff612e0216565b60028088018290558054908601546127e49291610df3919063ffffffff612d4216565b600280549190910160048801558481015481549188015461280f92610df3919063ffffffff612d4216565b600280549190910160048601556005870154908701546128349163ffffffff612d9b16565b6003870155600584015460028501546128529163ffffffff612d9b16565b6003850155604051339082156108fc029083906000818181858888f19350505050158015612884573d6000803e3d6000fd5b5060408051828152905133918c917f5510da23a90d54e35ddff683d35a6e64dd363c19c189b94ff402ffc99a8cc2749181900360200190a35060019998505050505050505050565b60006128d6612f07565b5060008481526005602081815260408084208785526001908101835281852082516060808201855282548252928201548186015283516101408101855260028301548152600383015495810195909552600482015485850152948101549184019190915260068101546080840152600781015460a0840152600981015460c0840152600a81015460e0840152600c810154610100840152600d015461012083015282015290612986868686612246565b6040830151606081015190519192506000916129ad9190610df3908563ffffffff612e0216565b905061213d82610df383606463ffffffff612d4216565b60006129cf8361183f565b612a19576040805162461bcd60e51b8152602060048201526016602482015275115d995b9d081a185cc81d1bc818994818db1bdcd95960521b604482015290519081900360640190fd5b600083815260056020818152604080842086855260018101835290842093879052919052600201548314612a94576040805162461bcd60e51b815260206004820152601e60248201527f526573756c74205370616365206973206e6f74207468652077696e6e65720000604482015290519081900360640190fd5b336000908152600f8201602052604090205460ff1615612af3576040805162461bcd60e51b81526020600482015260156024820152742bb4b73734b7339030b63932b0b23c903a30b5b2b760591b604482015290519081900360640190fd5b600781015460068201543360009081526008840160205260408120549092612b26929091610df39163ffffffff612d4216565b600a8301546009840154336000908152600b8601602052604081205493945092612b5b9291610df3919063ffffffff612d4216565b90506000612ba6612b79600354600254612d4290919063ffffffff16565b60048601546003870154610df39190612b9a9081888a63ffffffff612cdf16565b9063ffffffff612d4216565b604051909150339082156108fc029083906000818181858888f19350505050158015612bd6573d6000803e3d6000fd5b5060008781526005602090815260408083208984526001908101835281842033808652600f909101845293829020805460ff19169091179055805184815290518a927fa62bf33e3860a18b08244c1b59b8aa4920be374252eb534e0ab47d5f7a18ca18928290030190a35050505092915050565b60005461010090046001600160a01b03163314612c6657600080fd5b6001600160a01b038116612c7957600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082820183811015612d39576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082612d5157506000612d3c565b82820282848281612d5e57fe5b0414612d395760405162461bcd60e51b8152600401808060200182810382526021815260200180612f9b6021913960400191505060405180910390fd5b6000808211612df1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381612dfa57fe5b049392505050565b600082821115612e59576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60405180608001604052806060815260200160008152602001606081526020016000151581525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612eca57805160ff1916838001178555612ef7565b82800160010185558215612ef7579182015b82811115612ef7578251825591602001919060010190612edc565b50612f03929150612f2d565b5090565b60405180606001604052806000815260200160008152602001612f28612f47565b905290565b610c1a91905b80821115612f035760008155600101612f33565b60405180610140016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564496e697469616c204672616374696f6e20436f73742068617320746f206265203e203054782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74a2646970667358221220d048fb33aa930d9528df38faf3a4812d2d52aa2c8c13a01ccdbc4fd9dc3703d364736f6c63430006020033", - "sourceMap": "199:24437:5:-:0;;;306:1;281:26;;343:5;313:35;;417:5;382:40;;3061:36;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;945:5:26;935:15;;516:10:11;935:15:26;508:18:11;-1:-1:-1;;;;;;508:18:11;;;;;;199:24437:5;;;;;;", - "deployedSourceMap": "199:24437:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;313:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:35:5;;;:::i;:::-;;;;;;;;;;;;;;;;281:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;281:26:5;;;:::i;460:39::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;460:39:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;460:39:5;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;460:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;460:39:5;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;460:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23757:657;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23757:657:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23757:657:5;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;382:40:5;;;:::i;23529:105::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23529:105:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;23529:105:5;;;;;;;;;;;;;;;;;22360:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22360:102:5;;;:::i;11710:2127::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11710:2127:5;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;22493:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22493:275:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22493:275:5;;:::i;505:45::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;505:45:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;505:45:5;;;;;;;;:::i;5218:3091::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5218:3091:5;;:::i;3376:1836::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3376:1836:5;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:5;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;3376:1836:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:5;;;;;;;;-1:-1:-1;3376:1836:5;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3376:1836:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:5;;;;;;;;-1:-1:-1;3376:1836:5;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;3376:1836:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3376:1836:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3376:1836:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3376:1836:5;;-1:-1:-1;3376:1836:5;;-1:-1:-1;;;;;3376:1836:5:i;1052:84:26:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1052:84:26;;;:::i;20678:421:5:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20678:421:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20678:421:5;;;;;;;:::i;3239:131::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3239:131:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3239:131:5;;:::i;239:20:11:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:20:11;;;:::i;:::-;;;;-1:-1:-1;;;;;239:20:11;;;;;;;;;;;;;;24419:214:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24419:214:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;24419:214:5;;;;;;;;;;:::i;:::-;;429:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;429:25:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;429:25:5;;:::i;8315:3389::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8315:3389:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8315:3389:5;;:::i;19212:1433::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19212:1433:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19212:1433:5;;;;;;;;;;;;:::i;3103:130::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3103:130:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3103:130:5;;:::i;16691:475::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16691:475:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16691:475:5;;;;;;;;;;;;:::i;22806:663::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22806:663:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22806:663:5;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17172:283;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17172:283:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17172:283:5;;;;;;;;;;;;:::i;17461:1745::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17461:1745:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17461:1745:5;;;;;;;;;;;;:::i;13843:2360::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13843:2360:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13843:2360:5;;;;;;;;;;;;:::i;16209:476::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16209:476:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16209:476:5;;;;;;;;;;;;:::i;21105:1224::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21105:1224:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21105:1224:5;;;;;;;:::i;864:188:11:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;864:188:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;313:35:5:-;;;;:::o;281:26::-;;;;:::o;460:39::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;460:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;460:39:5;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;460:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;460:39:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;460:39:5;;;;;;;-1:-1:-1;;460:39:5;;;:::o;23757:657::-;23824:7;23941:16;;;:6;:16;;;;;;;;:29;:32;;;:29;:32;;;;;24051:1;24021:32;;;;;24121:10;24085:47;;:35;;;;:47;;;;;;24134:36;;;;:48;;;;;;24184:30;;;;:42;;;;;;24240:39;;;:51;;;;;;24293:40;;;:52;;;;;;24347:34;;;;:46;;;;;;;;24085:47;;24134:48;;24184:42;24240:51;24347:46;23757:657::o;382:40::-;;;;:::o;23529:105::-;23616:10;23607:20;;;;:8;:20;;;;;;;;;23600:27;;;;;;;;;;;;;;;;;23573:16;;23600:27;;;23607:20;23600:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23529:105;;:::o;22360:102::-;22402:26;22447:8;22440:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22360:102;:::o;11710:2127::-;11815:12;11847:21;11859:8;11847:11;:21::i;:::-;11839:30;;;;;;11906:1;11887:16;:20;11879:53;;;;;-1:-1:-1;;;11879:53:5;;;;;;;;;;;;-1:-1:-1;;;11879:53:5;;;;;;;;;;;;;;;11968:1;11982:19;;;11979:44;;;-1:-1:-1;12020:1:5;11979:44;12033:35;12071:16;;;:6;:16;;;;;;;;:45;;;:29;;:45;;;;;;12160;;;;;;12071;;12239:60;12071:16;12160:45;12282:16;12239;:60::i;:::-;12340:25;;;;12216:83;;-1:-1:-1;12309:28:5;12394:59;12410:8;12420:14;12436:16;12394:15;:59::i;:::-;12376:77;;12481:1;12471:7;:11;12463:53;;;;;-1:-1:-1;;;12463:53:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;12548:11;12535:9;:24;12527:77;;;;-1:-1:-1;;;12527:77:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12666:20;;;:25;:42;;12696:11;12666:42;:29;:42;:::i;:::-;12638:20;;;;:70;;;12818:12;;12784:24;;;:29;:78;;12638:70;12784:47;;:29;:47;:33;:47;:::i;:::-;:51;:78;:51;:78;:::i;:::-;12768:12;;;12766:97;;;;12739:24;;;:124;12991:24;;;:29;12973:12;;12739:20;;;12943:25;:78;;:43;;:25;:43;:29;:43;:::i;:78::-;12927:12;;;12925:97;;;;12894:28;;;:128;13110:27;;;;:20;;;13080:25;:58;;;:29;:58;:::i;:::-;13052:25;;;:86;13234:31;;;;13052:20;13234:24;;13200:29;:66;;;:33;:66;:::i;:::-;13168:29;;;:98;13343:26;;;;13314:16;;13343:30;13340:158;;13458:26;;;;13397:90;;13433:52;;:20;;:52;:24;:52;:::i;:::-;13397:26;;;;;13428:1;:58;13397:90;:30;:90;:::i;:::-;13388:99;;13340:158;13591:26;;;;13580:38;;:6;;:38;:10;:38;:::i;:::-;13566:10;13530:47;;;;:35;;;:47;;;;;;;;:88;;;;13628:26;;;:35;;;13530;13673:20;;;;;27:10:-1;;39:1;23:18;;45:23;;13673:35:5;;;;;;;;;;;;;13723:86;;;;;;;;;;;;;13566:10;;13742:14;;13699:8;;13723:86;;;;;;;;;-1:-1:-1;13826:4:5;;11710:2127;-1:-1:-1;;;;;;;;;;11710:2127:5:o;22493:275::-;22554:13;22569:7;22578:13;22593:4;22609:19;;:::i;:::-;22631:16;;;;:6;:16;;;;;;;;;22609:38;;;;;;;;;;;-1:-1:-1;;22609:38:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22631:16;;22609:38;;22631:16;;22609:38;;;22631:16;22609:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22609:38:5;;;-1:-1:-1;;22609:38:5;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22609:38:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22609:38:5;;;-1:-1:-1;;22609:38:5;;;;;;;;;;;;;;;22697:11;;22710:13;;;;22725:16;;;;22743:17;;;;;22697:11;;22710:13;;-1:-1:-1;22725:16:5;;-1:-1:-1;22743:17:5;-1:-1:-1;22493:275:5;-1:-1:-1;;;22493:275:5:o;505:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5218:3091::-;5282:12;5314:21;5326:8;5314:11;:21::i;:::-;5306:30;;;;;;5366:1;5354:9;:13;5346:46;;;;;-1:-1:-1;;;5346:46:5;;;;;;;;;;;;-1:-1:-1;;;5346:46:5;;;;;;;;;;;;;;;5403:35;5441:16;;;:6;:16;;;;;;;;:29;:32;;;:29;:32;;;;;;5547:1;5517:32;;;;;5441;;5403:35;;;5682:2;5800:60;5830:29;5855:3;5830:20;:9;5682:2;5830:13;:20::i;:29::-;5800:20;;;:25;;:60;:29;:60;:::i;:::-;5791:69;-1:-1:-1;5901:64:5;5935:29;5960:3;5935:20;:9;5949:5;5935:20;:13;:20;:::i;:29::-;5901:24;;;:29;;:64;:33;:64;:::i;:::-;6046:20;;;:25;6012:27;;;;5892:73;;-1:-1:-1;6000:72:5;;6001:39;;:6;;:39;:10;:39;:::i;6000:72::-;6156:24;;;:29;6118:31;;;;5994:78;;-1:-1:-1;6106:80:5;;6107:43;;:6;;:43;:10;:43;:::i;6106:80::-;6197:20;;;;:34;;;6241:24;;:38;;;6324:27;;;;6100:86;;-1:-1:-1;6197:25:5;;6316:36;;:3;;:36;:7;:36;:::i;:::-;6396:31;;;;6290:62;;-1:-1:-1;6362:23:5;;6388:40;;:3;;:40;:7;:40;:::i;:::-;6458:27;;;;6362:66;;-1:-1:-1;6439:16:5;;6458:48;;6490:15;6458:48;:31;:48;:::i;:::-;6535:31;;;;6439:67;;-1:-1:-1;6516:16:5;;6535:52;;6571:15;6535:52;:35;:52;:::i;:::-;6690:26;;;;6516:71;;-1:-1:-1;6615:15:5;;6661;;6690:30;6687:141;;6789:27;;;;6757:26;;;;6744:73;;6789:27;6744:40;;:8;;:40;:12;:40;:::i;:73::-;6735:82;;6687:141;6840:30;;;;:34;6837:157;;6951:31;;;;6915:30;;;;6902:81;;6951:31;6902:44;;:8;;:44;:12;:44;:::i;:81::-;6889:94;;6837:157;7031:27;;;;:38;;;7098:31;;:42;;;7285:26;;;;7222:91;;7274:38;;:6;;:38;:10;:38;:::i;:::-;7258:10;7222:47;;;;:35;;;:47;;;;;;;:91;:51;:91;:::i;:::-;7208:10;7172:47;;;;:35;;;:47;;;;;:141;7469:30;;;;7398:103;;7454:46;;:10;;:46;:14;:46;:::i;:::-;7398:15;:24;;:39;;:51;7438:10;-1:-1:-1;;;;;7398:51:5;-1:-1:-1;;;;;7398:51:5;;;;;;;;;;;;;:55;;:103;;;;:::i;:::-;7384:10;7344:51;;;;:39;;;:51;;;;;;;;:157;;;;7579:30;;;:42;;;;:63;;7626:15;7579:63;:46;:63;:::i;:::-;7534:11;:20;;:30;;:42;7565:10;-1:-1:-1;;;;;7534:42:5;-1:-1:-1;;;;;7534:42:5;;;;;;;;;;;;:108;;;;7723:67;7774:15;7723;:24;;:34;;:46;7758:10;-1:-1:-1;;;;;7723:46:5;-1:-1:-1;;;;;7723:46:5;;;;;;;;;;;;;:50;;:67;;;;:::i;:::-;7709:10;7674:46;;;;:34;;;:46;;;;;:116;7821:26;;;;:35;;;7886:30;;:43;;;7821:26;7940:27;;;:33;;;7983:31;;:37;;;8099:30;;;;:51;;8134:15;8099:51;:34;:51;:::i;:::-;8066:30;;;:84;;;8197:51;;8232:15;8197:51;:34;:51;:::i;:::-;8160:34;;;;:88;;;;-1:-1:-1;;8276:10:5;8267:20;;;;:8;:20;;;;;;;27:10:-1;;39:1;23:18;;45:23;;8267:35:5;;;;;;;;;;-1:-1:-1;5218:3091:5;;;-1:-1:-1;;;;;;;;;5218:3091:5:o;3376:1836::-;3536:12;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3568:15:5::1;:22;3594:1;3568:27;3560:67;;;::::0;;-1:-1:-1;;;3560:67:5;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3697:17;::::0;3768:22;;3657:1:::1;::::0;3693:3:::1;:21;::::0;3638:16:::1;::::0;3754:57:::1;::::0;3693:21;;3754:37:::1;::::0;:9:::1;::::0;:37:::1;:13;:37;:::i;:57::-;3724:87;;3872:1;3850:19;:23;3842:71;;;;-1:-1:-1::0;;;3842:71:5::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:7;::::0;3993:20:::1;4016:15:::0;;;:6:::1;:15;::::0;;;;;;;4041:24;;4016:15;;4041:24:::1;::::0;4016:15;;4041:24;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4075:29:5;;::::1;::::0;:16:::1;::::0;::::1;::::0;:29:::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;4114:17:5::1;::::0;::::1;:25:::0;;-1:-1:-1;;4114:25:5::1;::::0;;4134:5:::1;4189:885;4210:15;:22;4206:1;:26;4189:885;;;4254:31;4288:29:::0;;;:19:::1;::::0;;::::1;:29;::::0;;;;;4332:20;;::::1;:31:::0;;;4394:18;;:15;;4410:1;;4394:18;::::1;;;;;;::::0;;::::1;::::0;;;;;;4377:35;;4519:22;;4455:20:::1;::::0;::::1;::::0;4505:37:::1;::::0;:9:::1;::::0;:37:::1;:13;:37;:::i;:::-;4489:53:::0;;4556:13:::1;::::0;;::::1;:35:::0;;;4643:12:::1;::::0;;4620:22;;:35:::1;4605:12:::0;;::::1;:50:::0;4669:15:::1;::::0;::::1;:32:::0;;;4715:15:::1;::::0;::::1;:32:::0;;;4761:14:::1;::::0;::::1;:31:::0;;;4489:13:::1;4806:16;::::0;::::1;:20:::0;;;4840:15:::1;::::0;;::::1;:19:::0;;;4873:13:::1;::::0;::::1;:17:::0;;;4904:18:::1;::::0;;::::1;:22:::0;;;4952:12;;::::1;4978:29:::0;;;:19;;::::1;:29;::::0;;;;;;;5040:4:::1;4978:68:::0;;:53;;;:68;;;;;;:85;;;4952:12;4234:3;;;::::1;::::0;-1:-1:-1;4189:885:5::1;;;-1:-1:-1::0;5098:7:5::1;::::0;;5084:8:::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;-1:-1;5084:22:5;;;;::::1;::::0;5121:32:::1;::::0;;;5142:10;;5121:32;;;5084:22:::1;5121:32:::0;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;299:10:::0;344;;263:2:::1;259:12:::0;;;::::1;254:3;250:22;-1:-1:::0;;246:30;311:9;::::1;295:26:::0;;::::1;340:21:::0;::::1;377:20:::0;;;::::1;365:33:::0;;5121:32:5::1;::::0;;::::1;::::0;;::::1;::::0;;274:1:-1::1;5133:7:5::0;5121:32;;-1:-1:-1;5133:7:5;-1:-1:-1;5121:32:5::1;::::0;-1:-1:-1;;;5121:32:5::1;-1:-1:-1::0;;5173:7:5::1;::::0;;:11;::::1;5163:21:::0;;5173:7;3376:1836;-1:-1:-1;;;;;;3376:1836:5:o;1052:84:26:-;1099:4;1122:7;;;1052:84;:::o;20678:421:5:-;20763:12;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;20795:21:5::1;20807:8;20795:11;:21::i;:::-;20787:30;;;::::0;::::1;;20880:1;20868:9;:13;20867:34;;;;;20899:1;20887:9;:13;20867:34;20859:43;;;::::0;::::1;;20941:16;::::0;;;:6:::1;:16;::::0;;;;;:23:::1;::::0;::::1;:35:::0;;;21012:27:::1;;:34:::0;;-1:-1:-1;;21012:34:5::1;21042:4;21012:34;::::0;;21061:31;20967:9;;20948:8;;21061:31:::1;::::0;20941:16;21061:31:::1;20678:421:::0;;;;:::o;3239:131::-;3296:12;3327:16;;;:6;:16;;;;;:27;;;;;:35;;:27;:35;3239:131;;;:::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;24419:214:5:-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;24590:35:5::1;::::0;;-1:-1:-1;;;24590:35:5;;24619:4:::1;24590:35;::::0;::::1;::::0;;;24541:13;;-1:-1:-1;;;;;24565:19:5;::::1;::::0;::::1;::::0;24585:3;;24565:19;;24590:20:::1;::::0;:35;;;;;::::1;::::0;;;;;;;;24565:19;24590:35;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24590:35:5;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24590:35:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;24590:35:5;24565:61:::1;::::0;;-1:-1:-1;;;;;;24565:61:5::1;::::0;;;;;;-1:-1:-1;;;;;24565:61:5;;::::1;;::::0;::::1;::::0;;;;;;;;;;;;;;24590:35:::1;::::0;24565:61;;;;;;;-1:-1:-1;24565:61:5;;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;24565:61:5;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;24565:61:5;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;;;;;24419:214:5:o;429:25::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;429:25:5;:::o;8315:3389::-;8374:12;8437:16;;;:6;:16;;;;;;;;:29;:32;;;:29;:32;;;;;8543:1;8513:32;;;;;8603:10;8572:42;;:30;;;:42;;;;;;;8437:32;;8513;8564:89;;;;;-1:-1:-1;;;8564:89:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;8706:10;8720:1;8671:46;;;:34;;;:46;;;;;;8663:93;;;;;-1:-1:-1;;;8663:93:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:27;;;;:20;;;8898:25;8882:10;8767:14;8851:42;;;:30;;;:42;;;;;;8767:14;;;;;;8851:106;;8929:27;8851:73;;:42;:73;:46;:73;:::i;:106::-;9080:31;;;;:24;;;9045:29;9029:10;8967:24;8994:46;;;:34;;;:46;;;;;;8824:133;;-1:-1:-1;8967:24:5;8994:118;;9080:31;8994:81;;:46;:81;:50;:81;:::i;:118::-;9181:20;;;:25;8967:145;;-1:-1:-1;9181:47:5;;9211:16;9181:47;:29;:47;:::i;:::-;9153:20;;;;:75;;;;9292:24;;:29;:51;;9326:16;9292:51;:33;:51;:::i;:::-;9260:24;;;:83;9465:10;9260:29;9434:42;;;:30;;;:42;;;;;;9402:27;;;;:75;;;:31;:75;:::i;:::-;9372:27;;;;:105;;;;9610:10;9575:46;;;;:34;;;:46;;;;;;9539:31;;;;:83;;;:35;:83;:::i;:::-;9505:31;;;:117;9734:10;9652:16;9703:42;;;:30;;;:42;;;;;;9671:27;;;;:75;;;:31;:75;:::i;:::-;9865:10;9775:16;9830:46;;;:34;;;:46;;;;;;9794:31;;;;9652:94;;-1:-1:-1;9775:16:5;;9794:83;;;:35;:83;:::i;:::-;9970:27;;;;9925:26;;;;9775:102;;-1:-1:-1;9908:14:5;;9925:73;;9970:27;9925:40;;9956:8;9925:40;:30;:40;:::i;:73::-;10094:31;;;;10045:30;;;;9908:90;;-1:-1:-1;10028:14:5;;10045:81;;10094:31;10045:44;;10080:8;10045:44;:34;:44;:::i;:81::-;10289:26;;;;10256:27;;;;10240:10;10176:25;10204:47;;;:35;;;:47;;;;;;10028:98;;-1:-1:-1;10176:25:5;10204:112;;10289:26;10204:80;;:47;:80;:51;:80;:::i;:112::-;10447:30;;;;10410:31;;;;10394:10;10326:25;10354:51;;;:39;;;:51;;;;;;10176:140;;-1:-1:-1;10326:25:5;10354:124;;10447:30;10354:88;;:51;:88;:55;:88;:::i;:124::-;10624:10;10593:42;;;;:30;;;:42;;;;;;10326:152;;-1:-1:-1;10560:91:5;;10642:8;;10560:77;;10571:65;;:17;;:65;:21;:65;:::i;:::-;10560:6;;:77;:10;:77;:::i;:91::-;10546:10;10510:47;;;;:35;;;:47;;;;;;;;:141;;;;10769:34;;;:46;;;;10736:95;;10822:8;;10736:81;;10747:69;;:17;;:69;:21;:69;:::i;:::-;10736:6;;:81;:10;:81;:::i;:95::-;10722:10;10682:51;;;;:39;;;:51;;;;;;;;:149;;;;:39;10842:27;;;:38;;;10890:31;;:42;;;10943:26;;;;:35;;;10988:30;;:39;;;11144:30;;;:42;;;;11109:30;;;;:78;;;:34;:78;:::i;:::-;11076:30;;;;:111;;;;11308:10;11273:46;;;;:34;;;:46;;;;;;11234:34;;;;:86;;;:38;:86;:::i;:::-;11197:34;;;:123;11384:10;11398:1;11353:42;;;:30;;;;:42;;;;;;;;:46;;;11431:34;;;:46;;;;:50;;;11590:29;;;;11517:104;;11569:51;;:16;;:51;:20;:51;:::i;:::-;11538:25;;;;11517:47;;:16;;:47;:20;:47;:::i;:::-;:51;:104;:51;:104;:::i;:::-;11662:35;;11492:129;;-1:-1:-1;11662:10:5;;:35;;;;;11492:129;;11662:35;;;;11492:129;11662:10;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11662:35:5;8315:3389;;;;;;;;;;;;;;;;:::o;19212:1433::-;19319:12;19351:21;19363:8;19351:11;:21::i;:::-;19343:30;;;;;;19410:1;19391:16;:20;19383:53;;;;;-1:-1:-1;;;19383:53:5;;;;;;;;;;;;-1:-1:-1;;;19383:53:5;;;;;;;;;;;;;;;19447:31;19481:16;;;:6;:16;;;;;;;;:45;;;:29;;:45;;;;;19645:28;;;;19611:27;;;;19481:45;;19447:31;19589:85;;19645:28;19590:49;;:16;;:49;:20;:49;:::i;19589:85::-;19729:10;19692:48;;;;:36;;;:48;;;;;;19555:119;;-1:-1:-1;19692:74:5;-1:-1:-1;19684:115:5;;;;;-1:-1:-1;;;19684:115:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;19923:10;19886:48;;;;:36;;;:48;;;;;;:77;;19939:23;19886:77;:52;:77;:::i;:::-;19872:10;19835:48;;;;:36;;;:48;;;;;:128;:36;20025:28;;;:50;;20058:16;20025:50;:32;:50;:::i;:::-;19994:28;;;:81;20137:27;;;;:56;;20169:23;20137:56;:31;:56;:::i;:::-;20107:27;;;:86;20218:27;;;;20204:11;;20218:49;;20250:16;20218:49;:31;:49;:::i;:::-;20336:27;;;;20295:26;;;;20204:63;;-1:-1:-1;20277:14:5;;20294:70;;20336:27;20295:35;;20204:63;20295:35;:30;:35;:::i;20294:70::-;20460:26;;;;20277:87;;-1:-1:-1;20449:38:5;;20277:87;;20449:38;:10;:38;:::i;:::-;20435:10;20399:47;;;;:35;;;:47;;;;;:88;20518:26;;;:35;20399;20583:27;;;:33;;;;-1:-1:-1;;;19212:1433:5;-1:-1:-1;;;;19212:1433:5:o;3103:130::-;3158:12;3189:16;;;:6;:16;;;;;:27;;;;;:36;;3103:130::o;16691:475::-;16805:15;16832:30;;:::i;:::-;-1:-1:-1;16865:16:5;;;;:6;:16;;;;;;;;:45;;;:29;;;;:45;;;;;16832:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16942:60;16872:8;16895:14;16985:16;16942;:60::i;:::-;17080:20;;;;:27;;;;17032:25;;16920:82;;-1:-1:-1;17012:16:5;;17031:77;;17080:27;17032:42;;16920:82;17032:42;:29;:42;:::i;17031:77::-;17012:96;-1:-1:-1;17125:34:5;17012:96;17125:20;:11;17141:3;17125:20;:15;:20;:::i;:34::-;17118:41;16691:475;-1:-1:-1;;;;;;;16691:475:5:o;22806:663::-;22906:11;22919:17;22938:13;22953;22968:12;22991:15;23008:11;23021:12;23035:13;23050:18;23085:30;;:::i;:::-;-1:-1:-1;;;23118:16:5;;;;-1:-1:-1;;23118:6:5;:16;;;;;;;;:45;;;:29;;;;:45;;;;;;23085:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23182:14;;23198:20;;23220:25;;23247;;23282:24;;23308:27;;23337;;23366:28;;23404:25;;23431:30;;23182:14;;23198:20;;23220:25;;23247;;-1:-1:-1;23282:24:5;;-1:-1:-1;23308:27:5;;-1:-1:-1;23337:27:5;;-1:-1:-1;23366:28:5;;-1:-1:-1;23404:25:5;;-1:-1:-1;23431:30:5;22806:663::o;17172:283::-;17287:7;17306:30;;:::i;:::-;-1:-1:-1;17339:16:5;;;;:6;:16;;;;;;;;:45;;;:29;;;;:45;;;;;;17306:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17422:25;17401:47;;:16;;:47;:20;:47;:::i;:::-;17394:54;17172:283;-1:-1:-1;;;;;17172:283:5:o;17461:1745::-;17568:12;17600:21;17612:8;17600:11;:21::i;:::-;17592:30;;;;;;17659:1;17640:16;:20;17632:53;;;;;-1:-1:-1;;;17632:53:5;;;;;;;;;;;;-1:-1:-1;;;17632:53:5;;;;;;;;;;;;;;;17696:31;17730:16;;;:6;:16;;;;;;;;:45;;;:29;;:45;;;;;17900:27;;;;17867:26;;;;17730:45;;17696:31;17845:83;;17900:27;17846:48;;:16;;:48;:20;:48;:::i;17845:83::-;17982:10;17946:47;;;;:35;;;:47;;;;;;17811:117;;-1:-1:-1;17946:73:5;-1:-1:-1;17938:114:5;;;;;-1:-1:-1;;;17938:114:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;18185:27;;;;18168:10;18063:35;18132:47;;;:35;;;:47;;;;;;18101:26;;;;18063:35;;18101:112;;18185:27;;18101:79;;:26;:79;:30;:79;:::i;:112::-;18063:150;;18250:27;18231:16;:46;18223:131;;;;-1:-1:-1;;;18223:131:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18475:10;18439:47;;;;:35;;;:47;;;;;;:76;;18491:23;18439:76;:51;:76;:::i;:::-;18425:10;18389:47;;;;:35;;;:47;;;;;:126;:35;18575:27;;;:49;;18607:16;18575:49;:31;:49;:::i;:::-;18545:27;;;:79;18684:26;;;;:55;;18715:23;18684:55;:30;:55;:::i;:::-;18655:26;;;:84;18765:28;;;;18750:12;;18765:50;;18798:16;18765:50;:32;:50;:::i;:::-;18887:28;;;;18844:27;;;;18750:65;;-1:-1:-1;18825:15:5;;18843:73;;18887:28;18844:37;;18750:65;18844:37;:31;:37;:::i;18843:73::-;19014:27;;;;18825:91;;-1:-1:-1;19002:40:5;;18825:91;;19002:40;:11;:40;:::i;:::-;18988:10;18951:48;;;;:36;;;:48;;;;;:91;19074:27;;;:37;18951:36;19142:28;;;:35;;;;-1:-1:-1;;;17461:1745:5;-1:-1:-1;;;;;17461:1745:5:o;13843:2360::-;13941:12;13973:21;13985:8;13973:11;:21::i;:::-;13965:30;;;;;;14032:1;14013:16;:20;14005:53;;;;;-1:-1:-1;;;14005:53:5;;;;;;;;;;;;-1:-1:-1;;;14005:53:5;;;;;;;;;;;;;;;14077:31;14111:16;;;:6;:16;;;;;;;;:45;;;:29;;;;:45;;;;;;;14205:19;;;14202:44;;;-1:-1:-1;14243:1:5;14202:44;14255:35;14293:16;;;:6;:16;;;;;;;;:45;;;:29;;:45;;;;;14439:28;;;;14405:27;;;;14293:45;;14255:35;14383:85;;14439:28;14384:49;;:16;;:49;:20;:49;:::i;14383:85::-;14523:10;14486:48;;;;:36;;;:48;;;;;;14349:119;;-1:-1:-1;14486:74:5;-1:-1:-1;14478:110:5;;;;;-1:-1:-1;;;14478:110:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;14599:15;14617:60;14634:8;14644:14;14660:16;14617;:60::i;:::-;14599:78;;14705:1;14695:7;:11;14687:53;;;;;-1:-1:-1;;;14687:53:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;14794:25;;;;14751:19;;14773:47;;:16;;:47;:20;:47;:::i;:::-;14943:10;14906:48;;;;:36;;;:48;;;;;;14751:69;;-1:-1:-1;14906:77:5;;14959:23;14906:77;:52;:77;:::i;:::-;14892:10;14855:48;;;;:36;;;:48;;;;;:128;:36;15045:28;;;:50;;15078:16;15045:50;:32;:50;:::i;:::-;15014:28;;;:81;15157:27;;;;:56;;15189:23;15157:56;:31;:56;:::i;:::-;15127:27;;;:86;15273:27;;;;:49;;15305:16;15273:49;:31;:49;:::i;:::-;15243:27;;;:79;:20;;;15382:25;:42;;15412:11;15382:42;:29;:42;:::i;:::-;15354:20;;;;:70;;;15534:12;;15500:24;;;:29;:78;;15354:70;15500:47;;:29;:47;:33;:47;:::i;:78::-;15484:12;;;15482:97;;;;15455:24;;;:124;15707:24;;;:29;15689:12;;15455:20;;;15659:25;:78;;:43;;:25;:43;:29;:43;:::i;:78::-;15643:12;;;15641:97;;;;15610:28;;;:128;15826:27;;;;:20;;;15796:25;:58;;;:29;:58;:::i;:::-;15768:25;;;:86;15950:31;;;;15768:20;15950:24;;15916:29;:66;;;:33;:66;:::i;:::-;15884:29;;;:98;16054:32;;:10;;:32;;;;;16074:11;;16054:32;;;;16074:11;16054:10;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;16131:44:5;;;;;;;;16164:10;;16141:8;;16131:44;;;;;;;;;-1:-1:-1;16192:4:5;;13843:2360;-1:-1:-1;;;;;;;;;13843:2360:5:o;16209:476::-;16324:15;16351:30;;:::i;:::-;-1:-1:-1;16384:16:5;;;;:6;:16;;;;;;;;:45;;;:29;;;;:45;;;;;16351:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16461:60;16391:8;16414:14;16504:16;16461;:60::i;:::-;16599:20;;;;:27;;;;16551:25;;16439:82;;-1:-1:-1;16531:16:5;;16550:77;;16599:27;16551:42;;16439:82;16551:42;:29;:42;:::i;16550:77::-;16531:96;-1:-1:-1;16644:34:5;16666:11;16644:17;16531:96;16657:3;16644:17;:12;:17;:::i;21105:1224::-;21185:12;21218:23;21232:8;21218:13;:23::i;:::-;21210:58;;;;;-1:-1:-1;;;21210:58:5;;;;;;;;;;;;-1:-1:-1;;;21210:58:5;;;;;;;;;;;;;;;21278:31;21312:16;;;:6;:16;;;;;;;;:45;;;:29;;;:45;;;;;21375:16;;;;;;;:23;;;:41;;21367:84;;;;;-1:-1:-1;;;21367:84:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;21494:10;21469:36;;;;:24;;;:36;;;;;;;;:45;21461:79;;;;;-1:-1:-1;;;21461:79:5;;;;;;;;;;;;-1:-1:-1;;;21461:79:5;;;;;;;;;;;;;;;21697:26;;;;21663:27;;;;21647:10;21580:27;21611:47;;;:35;;;:47;;;;;;21580:27;;21610:114;;21697:26;;21611:80;;;:51;:80;:::i;21610:114::-;21854:27;;;;21819:28;;;;21803:10;21734:28;21766:48;;;:36;;;:48;;;;;;21580:144;;-1:-1:-1;21734:28:5;21765:117;;21854:27;21766:82;;:48;:82;:52;:82;:::i;21765:117::-;21734:148;;21892:21;21916:151;22031:35;22048:17;;22031:12;;:16;;:35;;;;:::i;:::-;22000:24;;;;21969:25;;;;21917:108;;22000:24;21917:78;;;21918:20;21943:19;21918:45;:24;:45;:::i;:::-;21917:51;:78;:51;:78;:::i;21916:151::-;22106:34;;21892:175;;-1:-1:-1;22106:10:5;;:34;;;;;21892:175;;22106:34;;;;21892:175;22106:10;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;22180:16:5;;;;:6;:16;;;;;;;;:45;;;22253:4;22180:29;;;:45;;;;;22239:10;22180:70;;;:58;;;;:70;;;;;;:77;;-1:-1:-1;;22180:77:5;;;;;;22272:50;;;;;;;22187:8;;22272:50;;;;;;;;21105:1224;;;;;;;;:::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;-1:-1:-1;2690:175:14;;;;;:::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:14:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:14;;;3136:155::o;199:24437:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;199:24437:5;;;-1:-1:-1;199:24437:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract Exchange is Pausable, Ownable {\n \n using SafeMath for uint256;\n\n uint256 public eventId = 0;\n uint256 public ODD_DECIMALS = 10**4; // 1*10**4 = 10000 => 1.000\n uint256 public CURRENCY_DECIMALS = 10**7; \n uint256[] public eventIds;\n mapping(uint256 => Event) public events;\n mapping(address => uint256[]) public myEvents;\n\n \n struct Fraction {\n uint256 pool; /* (Pool) Total pool amount (ETH in WEI) */\n uint256 cost; /* (VF) Fraction Cost (ETH in WEI) */\n uint256 odd; /* (Odd) Odd of Fraction (in 10**4) (ex : 2.410 = 2410) */\n /* IN + OUT */\n uint256 amount; /* (#F) Total amount of fractions (in 10**18) */\n /* IN */\n uint256 inPool; /* (In) Total amount Absolute of fractions in pool (in 10**18) */\n uint256 relIn; /* (#In) Relative amount of fractions in pool (in 10**18) */\n mapping(address => uint256) inPoolBalances; /* (#In[]) Relative amount of fractions in pool per address (in 10**18)*/\n /* OUT */\n uint256 outPool; /* (Out) Total amount of fractions off pool (in 10**18) */\n uint256 relOut; /* (#Out) Relative amount of fractions off pool (in 10**18) */\n mapping(address => uint256) outPoolBalances; /* (#Out[])Relative amount of fractions off pool per address (in 10**18)*/\n /* Fees */\n uint256 fees; /* Absolute Amount of Fees available (in 10**18) */\n uint256 liqAmount; /* Absolute Amount of Fractions in liquidity */\n mapping(address => uint256) liquidity; /* Liquidity of Address - absolute values */\n // TO DO : Use fees for something\n }\n\n struct ResultSpace {\n uint256 id; /* Result Space External ID - IPFS Mapping*/\n uint256 resultId; /* Result Space ID */\n Fraction fraction; /* Amount of Fractions existent */\n mapping(address => bool) tookWinnings; /* See if Winnings were taken */\n }\n\n struct Event {\n string name; /* Event name */\n mapping(uint256 => ResultSpace) resultSpaces;\n uint256 result; /* result space id (when finalized) */\n string urlOracle; /* URL that determines the result */\n bool isResolved; /* If Resolved */\n } \n\n event CreateEvent(uint256 indexed id, string indexed name);\n event BuyEvent(uint256 indexed id, uint256 indexed resultSpaceId, uint256 fractionAmount, uint256 fractionCost, address indexed buyer);\n event CloseEvent(uint256 indexed id, uint256 indexed resultSpaceId);\n event WithdrawEvent(uint256 indexed id, uint256 winAmount, address indexed buyer);\n event SellEvent(uint256 indexed id, uint256 liquidateAmount, address indexed seller);\n\n constructor() public {\n \n }\n\n function isEventOpen(uint256 _eventId) public returns (bool success){\n return (events[_eventId].isResolved == false);\n }\n\n function isEventClosed(uint256 _eventId) public returns (bool success){\n return (events[_eventId].isResolved == true);\n }\n\n function createEvent(uint256[] memory _resultSpaceIds /* Descriptions */, string memory _urlOracle, string memory _eventName) payable public onlyOwner returns (bool success) {\n require(_resultSpaceIds.length == 2, \"Result Spaces need to be 2 \"); \n uint256 resultId = 1;\n uint256 fractionAmount = 100*CURRENCY_DECIMALS;\n uint256 initialFractionCost = msg.value.div(_resultSpaceIds.length).div(fractionAmount); /* Initial Amount */\n require(initialFractionCost > 0, \"Initial Fraction Cost has to be > 0\"); /* Initial Fraction Cost has to be > 0 */\n\n /* Create Event */\n Event storage _event = events[eventId];\n _event.name = _eventName;\n _event.urlOracle = _urlOracle;\n _event.isResolved = false;\n\n /* Create the Result spaces */\n for (uint i = 0; i < _resultSpaceIds.length; i++) {\n\n ResultSpace storage resultSpace = _event.resultSpaces[resultId];\n\n resultSpace.resultId = resultId;\n resultSpace.id = _resultSpaceIds[i];\n\n Fraction storage fraction = resultSpace.fraction;\n fraction.pool = msg.value.div(_resultSpaceIds.length);\n fraction.cost = initialFractionCost;\n fraction.odd = _resultSpaceIds.length*ODD_DECIMALS;\n fraction.amount = fractionAmount;\n fraction.inPool = fractionAmount;\n fraction.relIn = fractionAmount;\n fraction.outPool = 0;\n fraction.relOut = 0;\n fraction.fees = 0;\n fraction.liqAmount = 0;\n\n resultId = resultId + 1;\n _event.resultSpaces[resultId].fraction.inPoolBalances[address(this)] = fractionAmount;\n }\n\n eventIds.push(eventId);\n emit CreateEvent(eventId, _eventName);\n eventId = eventId + 1;\n return true;\n }\n\n function addLiquidity(uint256 _eventId) payable public returns (bool success) {\n require(isEventOpen(_eventId));\n require(msg.value > 0, \"Amount has to be > 0\");\n\n ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[1];\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[2];\n\n uint256 poolA2 = 0;\n uint256 poolB2 = 0;\n uint256 FA2 = 0;\n uint256 FB2 = 0;\n uint256 ratio = 50; /* 50% */ // resultSpace_opp.fraction.pool.div(resultSpace.fraction.pool)\n\n /* Pool A2 */\n poolA2 = resultSpace.fraction.pool.add(msg.value.mul(ratio).div(100));\n /* Pool B2 */\n poolB2 = resultSpace_opp.fraction.pool.add(msg.value.mul(ratio).div(100));\n\n /* FA2 */\n FA2 = (poolA2.mul(resultSpace.fraction.amount)).div(resultSpace.fraction.pool);\n /* FB2 */\n FB2 = (poolB2.mul(resultSpace_opp.fraction.amount)).div(resultSpace_opp.fraction.pool);\n\n resultSpace.fraction.pool = poolA2;\n resultSpace_opp.fraction.pool = poolB2;\n\n uint256 fractionsToAddA = FA2.sub(resultSpace.fraction.amount);\n uint256 fractionsToAddB = FB2.sub(resultSpace_opp.fraction.amount);\n\n uint256 inPoolA2 = resultSpace.fraction.inPool.add(fractionsToAddA);\n uint256 inPoolB2 = resultSpace_opp.fraction.inPool.add(fractionsToAddB);\n\n uint256 relIn2 = fractionsToAddA;\n uint256 relIn2_opp = fractionsToAddB;\n\n if(resultSpace.fraction.relIn > 0){\n relIn2 = inPoolA2.mul(resultSpace.fraction.relIn).div(resultSpace.fraction.inPool);\n }\n if(resultSpace_opp.fraction.relIn > 0){\n relIn2_opp = inPoolB2.mul(resultSpace_opp.fraction.relIn).div(resultSpace_opp.fraction.inPool);\n } \n\n /* INA2 */\n resultSpace.fraction.inPool = inPoolA2;\n /* INB2 */\n resultSpace_opp.fraction.inPool = inPoolB2;\n\n /* INA[]2 */\n resultSpace.fraction.inPoolBalances[msg.sender] = resultSpace.fraction.inPoolBalances[msg.sender].add(relIn2.sub(resultSpace.fraction.relIn));\n /* INB[]2 */\n resultSpace_opp.fraction.inPoolBalances[msg.sender] = resultSpace_opp.fraction.inPoolBalances[msg.sender].add(relIn2_opp.sub(resultSpace_opp.fraction.relIn));\n\n /* LiqA[]2 */\n resultSpace.fraction.liquidity[msg.sender] = resultSpace.fraction.liquidity[msg.sender].add(fractionsToAddA);\n /* LiqB[]2 */\n resultSpace_opp.fraction.liquidity[msg.sender] = resultSpace_opp.fraction.liquidity[msg.sender].add(fractionsToAddB);\n\n /* #INA2 */\n resultSpace.fraction.relIn = relIn2;\n /* #INB2 */\n resultSpace_opp.fraction.relIn = relIn2_opp;\n\n resultSpace.fraction.amount = FA2;\n resultSpace_opp.fraction.amount = FB2;\n\n /* Add Liquidity Amount */\n resultSpace.fraction.liqAmount = resultSpace.fraction.liqAmount.add(fractionsToAddA);\n resultSpace_opp.fraction.liqAmount = resultSpace.fraction.liqAmount.add(fractionsToAddB);\n \n myEvents[msg.sender].push(_eventId);\n }\n\n function removeLiquidity(uint256 _eventId) public returns (bool success) {\n\n ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[1];\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[2];\n \n require(resultSpace.fraction.liquidity[msg.sender] > 0, \"Liquidity has to bigger than 0\");\n require(resultSpace_opp.fraction.liquidity[msg.sender] > 0, \"Liquidity has to bigger than 0\");\n\n uint256 poolA2 = 0;\n uint256 poolB2 = 0;\n\n uint256 liqPoolAfromUser = resultSpace.fraction.liquidity[msg.sender].mul(resultSpace.fraction.pool).div(resultSpace.fraction.amount);\n uint256 liqPoolBfromUser = resultSpace_opp.fraction.liquidity[msg.sender].mul(resultSpace_opp.fraction.pool).div(resultSpace_opp.fraction.amount);\n \n /* Pool A2 */\n resultSpace.fraction.pool = resultSpace.fraction.pool.sub(liqPoolAfromUser);\n /* Pool B2 */\n resultSpace_opp.fraction.pool = resultSpace_opp.fraction.pool.sub(liqPoolBfromUser);\n\n /* FA2 */\n resultSpace.fraction.amount = resultSpace.fraction.amount.sub(resultSpace.fraction.liquidity[msg.sender]);\n /* FB2 */\n resultSpace_opp.fraction.amount = resultSpace_opp.fraction.amount.sub(resultSpace_opp.fraction.liquidity[msg.sender]);\n\n /* INA2 */\n uint256 inPoolA2 = resultSpace.fraction.inPool.sub(resultSpace.fraction.liquidity[msg.sender]);\n /* INB2 */\n uint256 inPoolB2 = resultSpace_opp.fraction.inPool.sub(resultSpace_opp.fraction.liquidity[msg.sender]);\n\n /* #INA2 */\n uint256 relAIn = resultSpace.fraction.relIn.mul(inPoolA2).div(resultSpace.fraction.inPool);\n /* #INB2 */\n uint256 relBIn = resultSpace_opp.fraction.relIn.mul(inPoolB2).div(resultSpace_opp.fraction.inPool);\n\n /* Initial Fractions Amount */\n uint256 initialFractionsA = resultSpace.fraction.inPoolBalances[msg.sender].mul(resultSpace.fraction.inPool).div(resultSpace.fraction.relIn);\n uint256 initialFractionsB = resultSpace_opp.fraction.inPoolBalances[msg.sender].mul(resultSpace_opp.fraction.inPool).div(resultSpace_opp.fraction.relIn);\n\n /* INA[]2 */\n resultSpace.fraction.inPoolBalances[msg.sender] = relAIn.mul(initialFractionsA.sub(resultSpace.fraction.liquidity[msg.sender])).div(inPoolA2);\n /* INB[]2 */\n resultSpace_opp.fraction.inPoolBalances[msg.sender] = relBIn.mul(initialFractionsB.sub(resultSpace_opp.fraction.liquidity[msg.sender])).div(inPoolB2);\n\n resultSpace.fraction.inPool = inPoolA2;\n resultSpace_opp.fraction.inPool = inPoolB2;\n\n resultSpace.fraction.relIn = relAIn;\n resultSpace_opp.fraction.relIn = relBIn;\n\n /* Remove Liquidity Amount */\n resultSpace.fraction.liqAmount = resultSpace.fraction.liqAmount.sub(resultSpace.fraction.liquidity[msg.sender]);\n resultSpace_opp.fraction.liqAmount = resultSpace_opp.fraction.liqAmount.sub(resultSpace_opp.fraction.liquidity[msg.sender]);\n\n /* LiqA[]2 */\n resultSpace.fraction.liquidity[msg.sender] = 0;\n /* LiqB[]2 */\n resultSpace_opp.fraction.liquidity[msg.sender] = 0;\n\n uint256 totalLiquidity = liqPoolAfromUser.mul(resultSpace.fraction.cost).add(liqPoolBfromUser.mul(resultSpace_opp.fraction.cost));\n /* Remove Liquidity */\n msg.sender.transfer(totalLiquidity);\n }\n\n function buy(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) payable public returns (bool success) {\n require(isEventOpen(_eventId));\n require(_fractionsAmount > 0, \"Amount has to be > 0\");\n\n uint256 _oppResSpaceId = 1;\n if(_resultSpaceId == 1){_oppResSpaceId = 2;}\n\n ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[_oppResSpaceId];\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n\n uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount);\n uint256 previousFractionCost = resultSpace.fraction.cost;\n\n uint256 slipage = getSlipageOnBuy(_eventId, _resultSpaceId, _fractionsAmount);\n require(slipage < 3, \"Slipage has to be less than 3\");\n\n require(msg.value == marketValue, \"Tx value has to be equal to payable sent\"); \n\n /* Pool A2 */\n resultSpace.fraction.pool = resultSpace.fraction.pool.add(marketValue);\n /* Odd A2 */\n resultSpace.fraction.odd = 1*ODD_DECIMALS + (resultSpace_opp.fraction.pool.mul(ODD_DECIMALS).div(resultSpace.fraction.pool));\n /* Odd B2 */\n resultSpace_opp.fraction.odd = 1*ODD_DECIMALS + (resultSpace.fraction.pool.mul(ODD_DECIMALS).div(resultSpace_opp.fraction.pool));\n /* VF A2 */\n resultSpace.fraction.cost = resultSpace.fraction.pool.div(resultSpace.fraction.amount);\n /* VF B2 */\n resultSpace_opp.fraction.cost = resultSpace_opp.fraction.pool.div(resultSpace_opp.fraction.amount);\n /* #In A2 */\n uint256 relIn2 = _fractionsAmount;\n if(resultSpace.fraction.relIn > 0){\n relIn2 = resultSpace.fraction.relIn.div(1 - (previousFractionCost.div(resultSpace.fraction.relIn)));\n }\n /* #In[] A2 */\n resultSpace.fraction.inPoolBalances[msg.sender] = relIn2.sub(resultSpace.fraction.relIn);\n resultSpace.fraction.relIn = relIn2;\n myEvents[msg.sender].push(_eventId);\n emit BuyEvent(_eventId, _resultSpaceId, _fractionsAmount, previousFractionCost, msg.sender);\n return true;\n }\n\n function sell(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) {\n require(isEventOpen(_eventId));\n require(_fractionsAmount > 0, \"Amount has to be > 0\");\n \n ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n uint256 _oppResSpaceId = 1;\n if(_resultSpaceId == 1){_oppResSpaceId = 2;}\n ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[_oppResSpaceId];\n\n uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relOut)).div(resultSpace.fraction.outPool);\n require(resultSpace.fraction.outPoolBalances[msg.sender] > fractionsAmountRelative, \"No Balance to Liquidate\");\n\n uint256 slipage = getSlipageOnSell(_eventId, _resultSpaceId, _fractionsAmount);\n require(slipage < 3, \"Slipage has to be less than 3\");\n\n uint256 marketValue = _fractionsAmount.mul(resultSpace.fraction.cost);\n\n /* #Out[] A2 */\n resultSpace.fraction.outPoolBalances[msg.sender] = resultSpace.fraction.outPoolBalances[msg.sender].sub(fractionsAmountRelative);\n /* Out A2 */\n resultSpace.fraction.outPool = resultSpace.fraction.outPool.sub(_fractionsAmount);\n /* #Out A2 */\n resultSpace.fraction.relOut = resultSpace.fraction.relOut.sub(fractionsAmountRelative);\n /* In A2 */\n resultSpace.fraction.inPool = resultSpace.fraction.inPool.add(_fractionsAmount);\n /* Pool A2 */\n resultSpace.fraction.pool = resultSpace.fraction.pool.sub(marketValue);\n /* Odd A2 */\n resultSpace.fraction.odd = 1*ODD_DECIMALS + (resultSpace_opp.fraction.pool.mul(ODD_DECIMALS).div(resultSpace.fraction.pool));\n /* Odd B2 */\n resultSpace_opp.fraction.odd = 1*ODD_DECIMALS + (resultSpace.fraction.pool.mul(ODD_DECIMALS).div(resultSpace_opp.fraction.pool));\n /* VF A2 */\n resultSpace.fraction.cost = resultSpace.fraction.pool.div(resultSpace.fraction.amount);\n /* VF B2 */\n resultSpace_opp.fraction.cost = resultSpace_opp.fraction.pool.div(resultSpace_opp.fraction.amount);\n \n /* Liquidate the pool capital to the seller */\n msg.sender.transfer(marketValue);\n\n /* Winnings taken */\n emit SellEvent(_eventId, marketValue, msg.sender);\n return true;\n }\n\n function getSlipageOnSell(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256 slipage) {\n ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount);\n uint256 newValue = (resultSpace.fraction.pool.sub(marketValue)).div(resultSpace.fraction.amount);\n return newValue.mul(100).div(marketValue);\n }\n\n function getSlipageOnBuy(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256 slipage) {\n ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount);\n uint256 newValue = (resultSpace.fraction.pool.sub(marketValue)).div(resultSpace.fraction.amount);\n return marketValue.mul(100).div(newValue);\n }\n\n function getFractionsCost(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256) {\n ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n return _fractionsAmount.mul(resultSpace.fraction.cost);\n }\n\n function pullFractions(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) {\n require(isEventOpen(_eventId));\n require(_fractionsAmount > 0, \"Amount has to be > 0\");\n\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; \n /* #FT */\n uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relIn)).div(resultSpace.fraction.inPool);\n require(resultSpace.fraction.inPoolBalances[msg.sender] > fractionsAmountRelative, \"No Balance to Pull Fractions\");\n\n uint256 fractionsOutsideOfLiquidity = resultSpace.fraction.relIn.mul(resultSpace.fraction.inPoolBalances[msg.sender]).div(resultSpace.fraction.inPool);\n require(_fractionsAmount < fractionsOutsideOfLiquidity, \"Amount of Fractions outside of liquidity have to be bigger than proposed\"); \n\n /* #In[] A2 */\n resultSpace.fraction.inPoolBalances[msg.sender] = resultSpace.fraction.inPoolBalances[msg.sender].sub(fractionsAmountRelative);\n /* In A2 */\n resultSpace.fraction.inPool = resultSpace.fraction.inPool.sub(_fractionsAmount);\n /* #In A2 */\n resultSpace.fraction.relIn = resultSpace.fraction.relIn.sub(fractionsAmountRelative);\n\n uint256 out2 = resultSpace.fraction.outPool.add(_fractionsAmount);\n uint256 relOut2 = (resultSpace.fraction.relOut.mul(out2)).div(resultSpace.fraction.outPool);\n\n /* #Out[] A2 */\n resultSpace.fraction.outPoolBalances[msg.sender] = relOut2.sub(resultSpace.fraction.relOut);\n /* #Out A2 */\n resultSpace.fraction.relOut = relOut2;\n /* Out A2 */\n resultSpace.fraction.outPool = out2;\n\n return true;\n }\n\n function pushFractions(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) {\n require(isEventOpen(_eventId));\n require(_fractionsAmount > 0, \"Amount has to be > 0\");\n\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n\n /* #FT */\n uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relOut)).div(resultSpace.fraction.outPool);\n require(resultSpace.fraction.outPoolBalances[msg.sender] > fractionsAmountRelative, \"No Balance to Pull Fractions\");\n \n /* #Out[] A2 */\n resultSpace.fraction.outPoolBalances[msg.sender] = resultSpace.fraction.outPoolBalances[msg.sender].sub(fractionsAmountRelative);\n /* Out A2 */\n resultSpace.fraction.outPool = resultSpace.fraction.outPool.sub(_fractionsAmount);\n /* #Out A2 */\n resultSpace.fraction.relOut = resultSpace.fraction.relOut.sub(fractionsAmountRelative);\n\n uint256 in2 = resultSpace.fraction.inPool.add(_fractionsAmount);\n uint256 relIn2 = (resultSpace.fraction.relIn.mul(in2)).div(resultSpace.fraction.inPool);\n\n /* #Int[] A2 */\n resultSpace.fraction.inPoolBalances[msg.sender] = relIn2.sub(resultSpace.fraction.relIn);\n /* #In A2 */\n resultSpace.fraction.relIn = relIn2;\n /* In A2 */\n resultSpace.fraction.inPool = in2;\n\n return true;\n }\n\n /* Event Resolution */\n function resolveEvent(uint256 _eventId, uint256 _resultId) public onlyOwner returns (bool success) {\n require(isEventOpen(_eventId));\n /* Confirm it exists */\n require((_resultId > 0) && (_resultId < 3));\n /* Set the result */\n events[_eventId].result = _resultId;\n /* Close Event */\n events[_eventId].isResolved = true;\n emit CloseEvent(_eventId, _resultId);\n }\n\n function withdrawWins(uint256 _eventId, uint256 _resultSpaceId) public returns (bool success) {\n\n require(isEventClosed(_eventId), \"Event has to be closed\");\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId];\n require(events[_eventId].result == _resultSpaceId, \"Result Space is not the winner\");\n require(resultSpace.tookWinnings[msg.sender] == false, \"Winning already taken\");\n\n /* Get Win Amount */\n uint256 absoluteFractionsIn = (resultSpace.fraction.inPoolBalances[msg.sender].mul(resultSpace.fraction.inPool)).div(resultSpace.fraction.relIn);\n uint256 absoluteFractionsOut = (resultSpace.fraction.outPoolBalances[msg.sender].mul(resultSpace.fraction.outPool)).div(resultSpace.fraction.relOut);\n uint256 winningAmount = ((absoluteFractionsOut.add(absoluteFractionsIn)).mul(resultSpace.fraction.cost).mul(resultSpace.fraction.odd)).div(ODD_DECIMALS.mul(CURRENCY_DECIMALS));\n\n /* Send Winnings */\n msg.sender.transfer(winningAmount);\n\n /* Winnings taken */\n events[_eventId].resultSpaces[_resultSpaceId].tookWinnings[msg.sender] = true;\n emit WithdrawEvent(_eventId, winningAmount, msg.sender);\n }\n\n /* Get All Events */\n function getEvents() view public returns (uint256[] memory event_ids) {\n return eventIds;\n }\n\n /* Get Event Date */\n function getEventData(uint256 _eventId) view public returns (string memory, uint256, string memory, bool) {\n Event memory _event = events[_eventId];\n /* Return Event Data */\n return (_event.name, _event.result, _event.urlOracle, _event.isResolved);\n }\n\n /* Get Result Space Date */\n function getResultSpaceData(uint256 _eventId, uint256 resultSpace_id) view public returns (\n uint256 _id, uint256 _resultId, uint256 _pool, uint256 _cost, uint256 _odd, \n uint256 _amount, uint256 _in, uint256 _out, uint256 _fees, uint256 _liqAmount\n ) {\n ResultSpace memory resultSpace = events[_eventId].resultSpaces[resultSpace_id];\n\n return (resultSpace.id, resultSpace.resultId, resultSpace.fraction.pool, resultSpace.fraction.cost,\n resultSpace.fraction.odd, resultSpace.fraction.amount, resultSpace.fraction.inPool, resultSpace.fraction.outPool,\n resultSpace.fraction.fees, resultSpace.fraction.liqAmount);\n }\n\n /* Get Portfolio of My events based on address */\n function getMyEvents() view public returns (uint256[] memory){\n return myEvents[msg.sender];\n }\n\n /* Get Portfolio of My Holdings/Liquidity on Event Data based on address (IN / OUT / Liquidity for each type) */\n function getMyEventHoldings(uint256 _eventId) view public returns (uint256, uint256, uint256, uint256, uint256, uint256){\n /* TO DO */\n ResultSpace storage resultSpace = events[_eventId].resultSpaces[1];\n ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[2];\n\n return (\n resultSpace.fraction.inPoolBalances[msg.sender], resultSpace.fraction.outPoolBalances[msg.sender], resultSpace.fraction.liquidity[msg.sender],\n resultSpace_opp.fraction.inPoolBalances[msg.sender], resultSpace_opp.fraction.outPoolBalances[msg.sender], resultSpace_opp.fraction.liquidity[msg.sender]\n );\n }\n\n function removeOtherERC20Tokens(address _tokenAddress, address _to) external onlyOwner {\n ERC20 erc20Token = ERC20(_tokenAddress);\n erc20Token.transfer(_to, erc20Token.balanceOf(address(this)));\n } \n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol", - "exportedSymbols": { - "Exchange": [ - 4252 - ] - }, - "id": 4253, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1631, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:5" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1632, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 9319, - "src": "59:55:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 1633, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 11875, - "src": "115:52:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1634, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 8431, - "src": "168:29:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1635, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "220:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 1636, - "nodeType": "InheritanceSpecifier", - "src": "220:8:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1637, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "230:7:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 1638, - "nodeType": "InheritanceSpecifier", - "src": "230:7:5" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4252, - "linearizedBaseContracts": [ - 4252, - 8430, - 11874, - 10777 - ], - "name": "Exchange", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1641, - "libraryName": { - "contractScope": null, - "id": 1639, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "254:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "248:27:5", - "typeName": { - "id": 1640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "267:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "089cdd0c", - "id": 1644, - "name": "eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "281:26:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "08888c0a", - "id": 1649, - "name": "ODD_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "313:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "347:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "343:5:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "262f92d2", - "id": 1654, - "name": "CURRENCY_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "382:40:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "417:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "37", - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "417:5:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "998f6ac0", - "id": 1657, - "name": "eventIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "429:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1656, - "length": null, - "nodeType": "ArrayTypeName", - "src": "429:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0b791430", - "id": 1661, - "name": "events", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "460:39:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "typeName": { - "id": 1660, - "keyType": { - "id": 1658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "468:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "460:25:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "valueType": { - "contractScope": null, - "id": 1659, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "479:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "50968657", - "id": 1666, - "name": "myEvents", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "505:45:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 1665, - "keyType": { - "id": 1662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "505:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 1663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "524:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1664, - "length": null, - "nodeType": "ArrayTypeName", - "src": "524:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Exchange.Fraction", - "id": 1699, - "members": [ - { - "constant": false, - "id": 1668, - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "585:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1670, - "name": "cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "661:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1672, - "name": "odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "731:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "731:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1674, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "845:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1676, - "name": "inPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "944:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1678, - "name": "relIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1050:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1050:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1682, - "name": "inPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1145:42:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1681, - "keyType": { - "id": 1679, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1145:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1164:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1684, - "name": "outPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1291:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1291:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1686, - "name": "relOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1391:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1391:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1690, - "name": "outPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1489:43:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1689, - "keyType": { - "id": 1687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1497:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1489:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1508:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1692, - "name": "fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1638:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1638:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1694, - "name": "liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1735:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1698, - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1831:37:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1697, - "keyType": { - "id": 1695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1839:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1831:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Fraction", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "559:1404:5", - "visibility": "public" - }, - { - "canonicalName": "Exchange.ResultSpace", - "id": 1710, - "members": [ - { - "constant": false, - "id": 1701, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "1998:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1998:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1703, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2087:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2087:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1705, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2153:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1699, - "src": "2153:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1709, - "name": "tookWinnings", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2232:37:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1708, - "keyType": { - "id": 1706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2232:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1707, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2251:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ResultSpace", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "1969:340:5", - "visibility": "public" - }, - { - "canonicalName": "Exchange.Event", - "id": 1723, - "members": [ - { - "constant": false, - "id": 1712, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2338:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1711, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2338:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1716, - "name": "resultSpaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2376:44:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "typeName": { - "id": 1715, - "keyType": { - "id": 1713, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2376:31:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "valueType": { - "contractScope": null, - "id": 1714, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "2395:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1718, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2430:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1720, - "name": "urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2493:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1719, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1722, - "name": "isResolved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2556:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1721, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2556:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Event", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "2315:281:5", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1729, - "name": "CreateEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1725, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1729, - "src": "2624:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "indexed": true, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1729, - "src": "2644:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2644:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2623:41:5" - }, - "src": "2606:59:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1741, - "name": "BuyEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1731, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2685:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1733, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2705:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2705:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1735, - "indexed": false, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2736:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2736:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1737, - "indexed": false, - "name": "fractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2760:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2760:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1739, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2782:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:120:5" - }, - "src": "2670:135:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1747, - "name": "CloseEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1747, - "src": "2827:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2827:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1745, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1747, - "src": "2847:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2847:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2826:51:5" - }, - "src": "2810:68:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1755, - "name": "WithdrawEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1749, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2903:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2903:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1751, - "indexed": false, - "name": "winAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2923:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2923:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2942:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2902:62:5" - }, - "src": "2883:82:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1763, - "name": "SellEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1757, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "2986:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1759, - "indexed": false, - "name": "liquidateAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "3006:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3006:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1761, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "3031:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2985:69:5" - }, - "src": "2970:85:5" - }, - { - "body": { - "id": 1766, - "nodeType": "Block", - "src": "3082:15:5", - "statements": [] - }, - "documentation": null, - "id": 1767, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1764, - "nodeType": "ParameterList", - "parameters": [], - "src": "3072:2:5" - }, - "returnParameters": { - "id": 1765, - "nodeType": "ParameterList", - "parameters": [], - "src": "3082:0:5" - }, - "scope": 4252, - "src": "3061:36:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "3171:62:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1774, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "3189:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1776, - "indexExpression": { - "argumentTypes": null, - "id": 1775, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "3196:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3189:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "3189:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3220:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3189:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1780, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3188:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1773, - "id": 1781, - "nodeType": "Return", - "src": "3181:45:5" - } - ] - }, - "documentation": null, - "functionSelector": "a25e6ab2", - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventOpen", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1769, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1783, - "src": "3124:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3124:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:18:5" - }, - "returnParameters": { - "id": 1773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1772, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1783, - "src": "3158:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1771, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3158:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3157:14:5" - }, - "scope": 4252, - "src": "3103:130:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1798, - "nodeType": "Block", - "src": "3309:61:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1790, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "3327:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1792, - "indexExpression": { - "argumentTypes": null, - "id": 1791, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "3334:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3327:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "3327:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3358:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3327:35:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1796, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3326:37:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1789, - "id": 1797, - "nodeType": "Return", - "src": "3319:44:5" - } - ] - }, - "documentation": null, - "functionSelector": "70f7ae95", - "id": 1799, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventClosed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1799, - "src": "3262:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3262:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:18:5" - }, - "returnParameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1788, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1799, - "src": "3296:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1787, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3296:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:14:5" - }, - "scope": 4252, - "src": "3239:131:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2021, - "nodeType": "Block", - "src": "3550:1662:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1814, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "3568:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3568:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3594:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "3568:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c7420537061636573206e65656420746f206265203220", - "id": 1818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3597:29:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bf22c3e9d03511e48d564c5ba8323c560832a8629c092eae820da6a0220a69f3", - "typeString": "literal_string \"Result Spaces need to be 2 \"" - }, - "value": "Result Spaces need to be 2 " - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bf22c3e9d03511e48d564c5ba8323c560832a8629c092eae820da6a0220a69f3", - "typeString": "literal_string \"Result Spaces need to be 2 \"" - } - ], - "id": 1813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3560:67:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1820, - "nodeType": "ExpressionStatement", - "src": "3560:67:5" - }, - { - "assignments": [ - 1822 - ], - "declarations": [ - { - "constant": false, - "id": 1822, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3638:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3638:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1824, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 1823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3638:20:5" - }, - { - "assignments": [ - 1826 - ], - "declarations": [ - { - "constant": false, - "id": 1826, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3668:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3668:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1830, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3693:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1828, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "3697:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3693:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3668:46:5" - }, - { - "assignments": [ - 1832 - ], - "declarations": [ - { - "constant": false, - "id": 1832, - "name": "initialFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3724:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1842, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1840, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "3796:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1836, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "3768:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3768:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1833, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3754:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3754:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3754:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3754:41:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:57:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3724:87:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1844, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "3850:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3872:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3850:23:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e697469616c204672616374696f6e20436f73742068617320746f206265203e2030", - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3875:37:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_99fb3d6d5521f009e95e2be7d1be74aa0d984027419778ce9e98e9863fc37a0c", - "typeString": "literal_string \"Initial Fraction Cost has to be > 0\"" - }, - "value": "Initial Fraction Cost has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_99fb3d6d5521f009e95e2be7d1be74aa0d984027419778ce9e98e9863fc37a0c", - "typeString": "literal_string \"Initial Fraction Cost has to be > 0\"" - } - ], - "id": 1843, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:71:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1849, - "nodeType": "ExpressionStatement", - "src": "3842:71:5" - }, - { - "assignments": [ - 1851 - ], - "declarations": [ - { - "constant": false, - "id": 1851, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3993:20:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 1850, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "3993:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1855, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1852, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "4016:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1854, - "indexExpression": { - "argumentTypes": null, - "id": 1853, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "4023:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4016:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3993:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1856, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4041:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1712, - "src": "4041:11:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1859, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "4055:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4041:24:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1861, - "nodeType": "ExpressionStatement", - "src": "4041:24:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1862, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4075:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1720, - "src": "4075:16:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1865, - "name": "_urlOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "4094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4075:29:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1867, - "nodeType": "ExpressionStatement", - "src": "4075:29:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1868, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4114:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "4114:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4134:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4114:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1873, - "nodeType": "ExpressionStatement", - "src": "4114:25:5" - }, - { - "body": { - "id": 2000, - "nodeType": "Block", - "src": "4239:835:5", - "statements": [ - { - "assignments": [ - 1886 - ], - "declarations": [ - { - "constant": false, - "id": 1886, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2000, - "src": "4254:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1885, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "4254:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1891, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1887, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4288:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "4288:19:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1890, - "indexExpression": { - "argumentTypes": null, - "id": 1889, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4308:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4288:29:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4254:63:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1892, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4332:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1703, - "src": "4332:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1895, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4355:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4332:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1897, - "nodeType": "ExpressionStatement", - "src": "4332:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1898, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4377:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1701, - "src": "4377:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1901, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4394:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1903, - "indexExpression": { - "argumentTypes": null, - "id": 1902, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4410:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4394:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4377:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1905, - "nodeType": "ExpressionStatement", - "src": "4377:35:5" - }, - { - "assignments": [ - 1907 - ], - "declarations": [ - { - "constant": false, - "id": 1907, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2000, - "src": "4427:25:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1906, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1699, - "src": "4427:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1910, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1908, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4455:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "4455:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4427:48:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1911, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4489:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "4489:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1917, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4519:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4519:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4505:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "4505:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4489:53:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1921, - "nodeType": "ExpressionStatement", - "src": "4489:53:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4556:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "4556:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1925, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "4572:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4556:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1927, - "nodeType": "ExpressionStatement", - "src": "4556:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1928, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4605:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "4605:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4620:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4620:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1933, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "4643:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4620:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1936, - "nodeType": "ExpressionStatement", - "src": "4605:50:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1937, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4669:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "4669:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1940, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4687:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4669:32:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1942, - "nodeType": "ExpressionStatement", - "src": "4669:32:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1943, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4715:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "4715:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1946, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4733:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:32:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1948, - "nodeType": "ExpressionStatement", - "src": "4715:32:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1949, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4761:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "4761:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1952, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4778:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1954, - "nodeType": "ExpressionStatement", - "src": "4761:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1955, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4806:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "4806:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4825:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4806:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "4806:20:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4840:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "4840:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4840:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1966, - "nodeType": "ExpressionStatement", - "src": "4840:19:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1967, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4873:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1692, - "src": "4873:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4889:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4873:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1972, - "nodeType": "ExpressionStatement", - "src": "4873:17:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1973, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4904:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "4904:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4925:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4904:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1978, - "nodeType": "ExpressionStatement", - "src": "4904:22:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1979, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4941:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1980, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4952:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4963:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4952:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4941:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "4941:23:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4978:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "4978:19:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4998:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4978:29:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 1990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "4978:38:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "4978:53:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1996, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1994, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5040:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - ], - "id": 1993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5032:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:5", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4978:68:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1997, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "5049:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4978:85:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1999, - "nodeType": "ExpressionStatement", - "src": "4978:85:5" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1878, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4206:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1879, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4210:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4210:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4206:26:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2001, - "initializationExpression": { - "assignments": [ - 1875 - ], - "declarations": [ - { - "constant": false, - "id": 1875, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2001, - "src": "4194:6:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1874, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4194:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4203:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4194:10:5" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4234:3:5", - "subExpression": { - "argumentTypes": null, - "id": 1882, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4234:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1884, - "nodeType": "ExpressionStatement", - "src": "4234:3:5" - }, - "nodeType": "ForStatement", - "src": "4189:885:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2005, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5098:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "5084:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5084:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5084:22:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2007, - "nodeType": "ExpressionStatement", - "src": "5084:22:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2009, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5133:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2010, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "5142:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2008, - "name": "CreateEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "5121:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5121:32:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2012, - "nodeType": "EmitStatement", - "src": "5116:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2013, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5163:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2014, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5173:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5173:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5163:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2018, - "nodeType": "ExpressionStatement", - "src": "5163:21:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5201:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1812, - "id": 2020, - "nodeType": "Return", - "src": "5194:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "54549f96", - "id": 2022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1809, - "modifierName": { - "argumentTypes": null, - "id": 1808, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3517:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3517:9:5" - } - ], - "name": "createEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1802, - "name": "_resultSpaceIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3397:32:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1801, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3397:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1804, - "name": "_urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3450:24:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1803, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3450:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1806, - "name": "_eventName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3476:24:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1805, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3476:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3396:105:5" - }, - "returnParameters": { - "id": 1812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1811, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3536:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1810, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3536:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3535:14:5" - }, - "scope": 4252, - "src": "3376:1836:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2413, - "nodeType": "Block", - "src": "5296:3013:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2031, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5326:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2030, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "5314:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5314:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2029, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5306:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2034, - "nodeType": "ExpressionStatement", - "src": "5306:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2036, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5354:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5354:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5366:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5354:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5369:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 2035, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:46:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2042, - "nodeType": "ExpressionStatement", - "src": "5346:46:5" - }, - { - "assignments": [ - 2044 - ], - "declarations": [ - { - "constant": false, - "id": 2044, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5403:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2043, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "5403:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2051, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2045, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "5441:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2047, - "indexExpression": { - "argumentTypes": null, - "id": 2046, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5448:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "5441:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2050, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5471:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5403:70:5" - }, - { - "assignments": [ - 2053 - ], - "declarations": [ - { - "constant": false, - "id": 2053, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5483:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2052, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "5483:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2060, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2054, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "5517:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2056, - "indexExpression": { - "argumentTypes": null, - "id": 2055, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5524:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "5517:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2059, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 2058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5547:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5483:66:5" - }, - { - "assignments": [ - 2062 - ], - "declarations": [ - { - "constant": false, - "id": 2062, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5560:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2064, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5560:18:5" - }, - { - "assignments": [ - 2066 - ], - "declarations": [ - { - "constant": false, - "id": 2066, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5588:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5588:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2068, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5588:18:5" - }, - { - "assignments": [ - 2070 - ], - "declarations": [ - { - "constant": false, - "id": 2070, - "name": "FA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5616:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5616:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2072, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5616:15:5" - }, - { - "assignments": [ - 2074 - ], - "declarations": [ - { - "constant": false, - "id": 2074, - "name": "FB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5641:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5641:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2076, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5655:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5641:15:5" - }, - { - "assignments": [ - 2078 - ], - "declarations": [ - { - "constant": false, - "id": 2078, - "name": "ratio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5666:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5666:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2080, - "initialValue": { - "argumentTypes": null, - "hexValue": "3530", - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5682:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5666:18:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2081, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "5791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2089, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "5844:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2086, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5830:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5830:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "5830:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "5830:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:29:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2082, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "5800:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "5800:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "5800:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5800:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5800:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5791:69:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2096, - "nodeType": "ExpressionStatement", - "src": "5791:69:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2097, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "5892:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5960:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "5949:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2102, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5935:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5935:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "5935:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "5935:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:29:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "5901:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "5901:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "5901:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5901:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:64:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5892:73:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2112, - "nodeType": "ExpressionStatement", - "src": "5892:73:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2113, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "5994:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6046:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6046:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6046:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2116, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6012:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6012:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6012:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "6001:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6001:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:39:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2120, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6000:41:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6000:45:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6000:72:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5994:78:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2127, - "nodeType": "ExpressionStatement", - "src": "5994:78:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2128, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "6100:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2137, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6156:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6156:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6156:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2131, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6118:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6118:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6118:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2129, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "6107:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6107:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6107:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2135, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6106:45:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6106:49:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6106:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6100:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2142, - "nodeType": "ExpressionStatement", - "src": "6100:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2143, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6197:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6197:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6197:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2148, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "6225:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2150, - "nodeType": "ExpressionStatement", - "src": "6197:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2151, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6241:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6241:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6241:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2156, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "6273:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6241:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2158, - "nodeType": "ExpressionStatement", - "src": "6241:38:5" - }, - { - "assignments": [ - 2160 - ], - "declarations": [ - { - "constant": false, - "id": 2160, - "name": "fractionsToAddA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6290:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6290:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2167, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2163, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6324:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6324:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6324:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2161, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "6316:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "6316:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6316:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6290:62:5" - }, - { - "assignments": [ - 2169 - ], - "declarations": [ - { - "constant": false, - "id": 2169, - "name": "fractionsToAddB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6362:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6362:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2176, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2172, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6396:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6396:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6396:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2170, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "6388:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "6388:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6388:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6362:66:5" - }, - { - "assignments": [ - 2178 - ], - "declarations": [ - { - "constant": false, - "id": 2178, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6439:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6439:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2185, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2183, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "6490:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2179, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6458:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6458:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2181, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6458:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6458:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6458:48:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6439:67:5" - }, - { - "assignments": [ - 2187 - ], - "declarations": [ - { - "constant": false, - "id": 2187, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6516:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2194, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2192, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "6571:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2188, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6535:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6535:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6535:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6535:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6535:52:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:71:5" - }, - { - "assignments": [ - 2196 - ], - "declarations": [ - { - "constant": false, - "id": 2196, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6598:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2198, - "initialValue": { - "argumentTypes": null, - "id": 2197, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "6615:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:32:5" - }, - { - "assignments": [ - 2200 - ], - "declarations": [ - { - "constant": false, - "id": 2200, - "name": "relIn2_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6640:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2202, - "initialValue": { - "argumentTypes": null, - "id": 2201, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "6661:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6640:36:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2203, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6690:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6690:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6690:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6719:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6690:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2223, - "nodeType": "IfStatement", - "src": "6687:141:5", - "trueBody": { - "id": 2222, - "nodeType": "Block", - "src": "6721:107:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2208, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "6735:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6789:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2217, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6789:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6789:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2211, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6757:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6757:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6757:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2209, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "6744:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6744:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6744:44:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6735:82:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2221, - "nodeType": "ExpressionStatement", - "src": "6735:82:5" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2224, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6840:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6840:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6840:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6840:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2244, - "nodeType": "IfStatement", - "src": "6837:157:5", - "trueBody": { - "id": 2243, - "nodeType": "Block", - "src": "6875:119:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2229, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "6889:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2237, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6951:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2238, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6951:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6951:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2232, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6915:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6915:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6915:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2230, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2187, - "src": "6902:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6902:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6902:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6889:94:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2242, - "nodeType": "ExpressionStatement", - "src": "6889:94:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2245, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7031:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7031:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "7031:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2250, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "7061:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2252, - "nodeType": "ExpressionStatement", - "src": "7031:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2253, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7098:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7098:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "7098:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2258, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2187, - "src": "7132:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7098:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2260, - "nodeType": "ExpressionStatement", - "src": "7098:42:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2261, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7172:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7172:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7172:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2268, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2264, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7208:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7208:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7172:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2278, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7285:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7285:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7285:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2276, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "7274:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "7274:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2269, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7222:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7222:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7222:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2274, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2272, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7258:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7258:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7222:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7222:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:91:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7172:141:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2284, - "nodeType": "ExpressionStatement", - "src": "7172:141:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2285, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7344:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7344:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7344:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2292, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2288, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7384:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7384:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7344:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7469:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7469:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7469:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2300, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "7454:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "7454:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7454:46:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2293, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7398:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7398:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7398:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2298, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2296, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7438:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7438:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7398:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7398:103:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7344:157:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2308, - "nodeType": "ExpressionStatement", - "src": "7344:157:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2309, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7534:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7534:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7534:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2316, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2312, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7565:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7565:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7534:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2324, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "7626:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2317, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7579:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7579:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7579:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7610:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7610:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7579:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7579:46:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7579:63:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7534:108:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2327, - "nodeType": "ExpressionStatement", - "src": "7534:108:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2328, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7674:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7674:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7674:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2335, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7709:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7709:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7674:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2343, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "7774:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2336, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7723:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2337, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7723:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7723:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2341, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2339, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7758:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7758:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7723:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7723:50:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7723:67:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7674:116:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "nodeType": "ExpressionStatement", - "src": "7674:116:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2347, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7821:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2350, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7821:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7821:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2352, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "7850:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7821:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2354, - "nodeType": "ExpressionStatement", - "src": "7821:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2355, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7886:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7886:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2359, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7886:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2360, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "7919:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:43:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2362, - "nodeType": "ExpressionStatement", - "src": "7886:43:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2363, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7940:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7940:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "7940:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2368, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "7970:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7940:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2370, - "nodeType": "ExpressionStatement", - "src": "7940:33:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2371, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7983:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7983:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "7983:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2376, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "8017:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7983:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2378, - "nodeType": "ExpressionStatement", - "src": "7983:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2379, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8066:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8066:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2383, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8066:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2388, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "8134:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2384, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8099:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8099:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8099:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8099:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8099:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8066:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2391, - "nodeType": "ExpressionStatement", - "src": "8066:84:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2392, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "8160:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8160:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8160:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2401, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "8232:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2397, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8197:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8197:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8197:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8197:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8160:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2404, - "nodeType": "ExpressionStatement", - "src": "8160:88:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2410, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "8293:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2405, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "8267:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2406, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8276:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8276:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8267:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8267:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8267:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2412, - "nodeType": "ExpressionStatement", - "src": "8267:35:5" - } - ] - }, - "documentation": null, - "functionSelector": "51c6590a", - "id": 2414, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2024, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2414, - "src": "5240:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5239:18:5" - }, - "returnParameters": { - "id": 2028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2027, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2414, - "src": "5282:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2026, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5282:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5281:14:5" - }, - "scope": 4252, - "src": "5218:3091:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2830, - "nodeType": "Block", - "src": "8388:3316:5", - "statements": [ - { - "assignments": [ - 2422 - ], - "declarations": [ - { - "constant": false, - "id": 2422, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8399:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2421, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "8399:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2429, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8437:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "8444:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "8437:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8467:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8399:70:5" - }, - { - "assignments": [ - 2431 - ], - "declarations": [ - { - "constant": false, - "id": 2431, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8479:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2430, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "8479:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2438, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8513:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "8520:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "8513:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8543:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8479:66:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2440, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8572:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8572:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8572:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2445, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2443, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8603:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8603:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8572:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8572:46:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8620:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - }, - "value": "Liquidity has to bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - } - ], - "id": 2439, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8564:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8564:89:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "8564:89:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "8671:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8671:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8671:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2457, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2455, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8706:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8706:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8671:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8720:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8671:50:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 2460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8723:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - }, - "value": "Liquidity has to bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - } - ], - "id": 2451, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8663:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8663:93:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2462, - "nodeType": "ExpressionStatement", - "src": "8663:93:5" - }, - { - "assignments": [ - 2464 - ], - "declarations": [ - { - "constant": false, - "id": 2464, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8767:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8767:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2466, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8784:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8767:18:5" - }, - { - "assignments": [ - 2468 - ], - "declarations": [ - { - "constant": false, - "id": 2468, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8795:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8795:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2470, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8812:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8795:18:5" - }, - { - "assignments": [ - 2472 - ], - "declarations": [ - { - "constant": false, - "id": 2472, - "name": "liqPoolAfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8824:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8824:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2489, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2485, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8929:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8929:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "8929:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2480, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8898:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8898:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "8898:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2473, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8851:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8851:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8851:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2478, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2476, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8882:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8882:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8851:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8851:46:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8851:77:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:106:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8824:133:5" - }, - { - "assignments": [ - 2491 - ], - "declarations": [ - { - "constant": false, - "id": 2491, - "name": "liqPoolBfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8967:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8967:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2508, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2504, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9080:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9080:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9080:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2499, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9045:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2500, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9045:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9045:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2492, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "8994:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8994:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8994:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9029:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9029:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8994:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8994:50:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8994:85:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:118:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8967:145:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9153:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9153:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9153:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2518, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2472, - "src": "9211:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2514, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9181:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2515, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9181:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9181:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9181:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9181:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9153:75:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "9153:75:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2522, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9260:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9260:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9260:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2531, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2491, - "src": "9326:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2527, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9292:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9292:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2529, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9292:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9292:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9292:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9260:83:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2534, - "nodeType": "ExpressionStatement", - "src": "9260:83:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2535, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9372:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9372:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9372:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2544, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9434:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9434:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9434:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2549, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2547, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9465:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9465:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9434:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2540, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9402:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9402:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9402:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9402:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:75:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9372:105:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2552, - "nodeType": "ExpressionStatement", - "src": "9372:105:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2553, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9505:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9505:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9505:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2562, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9575:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9575:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9575:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2567, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2565, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9610:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9610:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9575:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2558, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9539:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9539:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9539:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9539:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9539:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9505:117:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2570, - "nodeType": "ExpressionStatement", - "src": "9505:117:5" - }, - { - "assignments": [ - 2572 - ], - "declarations": [ - { - "constant": false, - "id": 2572, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9652:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2571, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9652:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2584, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2577, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9703:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9703:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9703:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2582, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2580, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9734:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9734:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9703:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2573, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9671:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9671:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9671:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9671:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:75:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:94:5" - }, - { - "assignments": [ - 2586 - ], - "declarations": [ - { - "constant": false, - "id": 2586, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9775:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9775:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2598, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2591, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9830:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9830:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9830:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2596, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2594, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9865:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9830:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2587, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9794:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9794:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9794:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9794:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9794:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9775:102:5" - }, - { - "assignments": [ - 2600 - ], - "declarations": [ - { - "constant": false, - "id": 2600, - "name": "relAIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9908:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2612, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2608, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9970:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9970:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9970:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2605, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "9956:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2601, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9925:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9925:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "9925:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9925:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9925:44:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:90:5" - }, - { - "assignments": [ - 2614 - ], - "declarations": [ - { - "constant": false, - "id": 2614, - "name": "relBIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10028:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10028:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2622, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10094:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10094:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10094:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2619, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10080:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2615, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10045:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10045:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10045:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10045:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10045:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10028:98:5" - }, - { - "assignments": [ - 2628 - ], - "declarations": [ - { - "constant": false, - "id": 2628, - "name": "initialFractionsA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10176:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10176:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2645, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2641, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10289:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10289:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10289:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10256:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10256:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10256:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2629, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10204:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10204:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10204:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2634, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2632, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10240:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10240:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10204:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10204:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10204:84:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:112:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10176:140:5" - }, - { - "assignments": [ - 2647 - ], - "declarations": [ - { - "constant": false, - "id": 2647, - "name": "initialFractionsB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10326:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10326:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2664, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2660, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10447:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10447:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10447:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2655, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10410:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10410:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10410:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2648, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10354:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10354:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10354:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10394:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10394:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10354:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10354:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:88:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10354:92:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:124:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10326:152:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2665, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10510:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10510:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10510:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2672, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2668, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10546:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10546:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10510:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2686, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "10642:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2677, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10593:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10593:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "10593:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2682, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10624:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10624:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10593:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2675, - "name": "initialFractionsA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "10571:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "10571:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10571:65:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2673, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2600, - "src": "10560:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10560:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10560:81:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:91:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10510:141:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2689, - "nodeType": "ExpressionStatement", - "src": "10510:141:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2690, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10682:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10682:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10682:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2697, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2693, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10722:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10722:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10682:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10822:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2702, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10769:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10769:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "10769:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10769:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2700, - "name": "initialFractionsB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2647, - "src": "10747:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "10747:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10747:69:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2698, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "10736:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10736:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10736:85:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:95:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10682:149:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "10682:149:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2715, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10842:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10842:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10842:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2720, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "10872:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10842:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2722, - "nodeType": "ExpressionStatement", - "src": "10842:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2723, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10890:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10890:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10890:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2728, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10924:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10890:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2730, - "nodeType": "ExpressionStatement", - "src": "10890:42:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2731, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10943:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10943:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10943:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2736, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2600, - "src": "10972:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10943:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2738, - "nodeType": "ExpressionStatement", - "src": "10943:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2739, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10988:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10988:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10988:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2744, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "11021:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2746, - "nodeType": "ExpressionStatement", - "src": "10988:39:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2747, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11076:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11076:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11076:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2756, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11144:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11144:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11144:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2761, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11175:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11175:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11144:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2752, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11109:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11109:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11109:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11109:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11109:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11076:111:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2764, - "nodeType": "ExpressionStatement", - "src": "11076:111:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2765, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11197:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11197:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2774, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11273:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11273:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11273:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2779, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11308:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11273:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2770, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11234:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11234:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11234:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11234:38:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11234:86:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11197:123:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2782, - "nodeType": "ExpressionStatement", - "src": "11197:123:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2783, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11353:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11353:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11353:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2790, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11384:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11384:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11353:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11398:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11353:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2793, - "nodeType": "ExpressionStatement", - "src": "11353:46:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2794, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11431:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11431:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11431:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2801, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11466:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11466:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11431:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11480:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11431:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2804, - "nodeType": "ExpressionStatement", - "src": "11431:50:5" - }, - { - "assignments": [ - 2806 - ], - "declarations": [ - { - "constant": false, - "id": 2806, - "name": "totalLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "11492:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11492:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2821, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2816, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11590:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11590:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "11590:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2814, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2491, - "src": "11569:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "11569:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11569:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11538:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11538:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "11538:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2807, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2472, - "src": "11517:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "11517:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11517:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:104:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11492:129:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2827, - "name": "totalLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "11682:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2822, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11662:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2829, - "nodeType": "ExpressionStatement", - "src": "11662:35:5" - } - ] - }, - "documentation": null, - "functionSelector": "9c8f9f23", - "id": 2831, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2416, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2831, - "src": "8340:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8340:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8339:18:5" - }, - "returnParameters": { - "id": 2420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2419, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2831, - "src": "8374:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2418, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8374:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8373:14:5" - }, - "scope": 4252, - "src": "8315:3389:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3083, - "nodeType": "Block", - "src": "11829:2008:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2844, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "11859:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2843, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "11847:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11847:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2842, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11839:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11839:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2847, - "nodeType": "ExpressionStatement", - "src": "11839:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2849, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "11887:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11906:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11887:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11909:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 2848, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11879:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2854, - "nodeType": "ExpressionStatement", - "src": "11879:53:5" - }, - { - "assignments": [ - 2856 - ], - "declarations": [ - { - "constant": false, - "id": 2856, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "11943:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2858, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11968:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11943:26:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2859, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "11982:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12000:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11982:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2867, - "nodeType": "IfStatement", - "src": "11979:44:5", - "trueBody": { - "id": 2866, - "nodeType": "Block", - "src": "12002:21:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2862, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "12003:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12020:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12003:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2865, - "nodeType": "ExpressionStatement", - "src": "12003:18:5" - } - ] - } - }, - { - "assignments": [ - 2869 - ], - "declarations": [ - { - "constant": false, - "id": 2869, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12033:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2868, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "12033:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2876, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2870, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "12071:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2872, - "indexExpression": { - "argumentTypes": null, - "id": 2871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12078:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "12071:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2875, - "indexExpression": { - "argumentTypes": null, - "id": 2874, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "12101:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12033:83:5" - }, - { - "assignments": [ - 2878 - ], - "declarations": [ - { - "constant": false, - "id": 2878, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12126:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2877, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "12126:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2885, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2879, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "12160:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2881, - "indexExpression": { - "argumentTypes": null, - "id": 2880, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12167:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "12160:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2884, - "indexExpression": { - "argumentTypes": null, - "id": 2883, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12190:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12126:79:5" - }, - { - "assignments": [ - 2887 - ], - "declarations": [ - { - "constant": false, - "id": 2887, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12216:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12216:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2893, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2889, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12256:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2890, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12266:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2891, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "12282:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2888, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "12239:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12216:83:5" - }, - { - "assignments": [ - 2895 - ], - "declarations": [ - { - "constant": false, - "id": 2895, - "name": "previousFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12309:28:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12309:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2899, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2896, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12340:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12340:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "12340:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12309:56:5" - }, - { - "assignments": [ - 2901 - ], - "declarations": [ - { - "constant": false, - "id": 2901, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12376:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12376:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2907, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2903, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12410:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2904, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12420:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2905, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "12436:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2902, - "name": "getSlipageOnBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3459, - "src": "12394:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12394:59:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12376:77:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2909, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2901, - "src": "12471:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12481:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "12471:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12484:31:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - }, - "value": "Slipage has to be less than 3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - } - ], - "id": 2908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12463:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12463:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2914, - "nodeType": "ExpressionStatement", - "src": "12463:53:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2916, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12535:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12535:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2918, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2887, - "src": "12548:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12535:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74", - "id": 2920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12561:42:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c878d244025523fdb3dab62a298eee7f7fa4d2ca59955f4e6558a2c974b690ee", - "typeString": "literal_string \"Tx value has to be equal to payable sent\"" - }, - "value": "Tx value has to be equal to payable sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c878d244025523fdb3dab62a298eee7f7fa4d2ca59955f4e6558a2c974b690ee", - "typeString": "literal_string \"Tx value has to be equal to payable sent\"" - } - ], - "id": 2915, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12527:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2922, - "nodeType": "ExpressionStatement", - "src": "12527:77:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2923, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12638:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12638:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12638:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2932, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2887, - "src": "12696:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2928, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12666:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12666:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12666:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "12666:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12666:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12638:70:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2935, - "nodeType": "ExpressionStatement", - "src": "12638:70:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2936, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12739:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12739:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "12739:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12766:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2942, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12768:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2951, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12836:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12836:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12836:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2948, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12818:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2944, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12784:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12784:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12784:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "12784:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "12784:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12783:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12739:124:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2958, - "nodeType": "ExpressionStatement", - "src": "12739:124:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2959, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12894:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12894:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "12894:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12925:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2965, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12927:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2974, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12991:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12991:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12991:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2971, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12973:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12943:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12943:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12943:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "12943:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "12943:47:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2978, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12942:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12894:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2981, - "nodeType": "ExpressionStatement", - "src": "12894:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13052:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2985, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13052:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "13052:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2991, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13110:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2992, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13110:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "13110:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2987, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13080:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13080:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "13080:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13080:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13080:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13052:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "13052:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2997, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13168:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13168:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "13168:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3006, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13234:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13234:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "13234:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3002, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13200:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13200:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "13200:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13200:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13200:66:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13168:98:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3011, - "nodeType": "ExpressionStatement", - "src": "13168:98:5" - }, - { - "assignments": [ - 3013 - ], - "declarations": [ - { - "constant": false, - "id": 3013, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "13297:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13297:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3015, - "initialValue": { - "argumentTypes": null, - "id": 3014, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "13314:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13297:33:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13343:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13343:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13343:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13372:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13343:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3039, - "nodeType": "IfStatement", - "src": "13340:158:5", - "trueBody": { - "id": 3038, - "nodeType": "Block", - "src": "13374:124:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3021, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13388:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13428:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13458:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13458:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13458:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3027, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "13433:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13433:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:52:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3033, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13432:54:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13428:58:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3022, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13397:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3023, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13397:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13397:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13397:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13397:90:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13388:99:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "13388:99:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3040, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13530:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13530:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "13530:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3043, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13566:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13566:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13530:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3050, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13591:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13591:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13591:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3048, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13580:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "13580:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13580:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13530:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3055, - "nodeType": "ExpressionStatement", - "src": "13530:88:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3056, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13628:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3059, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13628:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13628:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3061, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13657:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13628:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "13628:35:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3069, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "13699:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3064, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "13673:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3067, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13682:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13682:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13673:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13673:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13673:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "ExpressionStatement", - "src": "13673:35:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3073, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "13732:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3074, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "13742:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3075, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "13758:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3076, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "13776:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3077, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13798:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13798:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "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_payable", - "typeString": "address payable" - } - ], - "id": 3072, - "name": "BuyEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1741, - "src": "13723:8: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": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13723:86:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3080, - "nodeType": "EmitStatement", - "src": "13718:91:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13826:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2841, - "id": 3082, - "nodeType": "Return", - "src": "13819:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "40993b26", - "id": 3084, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2833, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11723:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11723:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11741:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11741:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2837, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11765:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11765:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11722:68:5" - }, - "returnParameters": { - "id": 2841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2840, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11815:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2839, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11815:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11814:14:5" - }, - "scope": 4252, - "src": "11710:2127:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3354, - "nodeType": "Block", - "src": "13955:2248:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3097, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "13985:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3096, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "13973:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13973:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13965:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13965:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3100, - "nodeType": "ExpressionStatement", - "src": "13965:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3102, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14013:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14013:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14035:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3101, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14005:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14005:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3107, - "nodeType": "ExpressionStatement", - "src": "14005:53:5" - }, - { - "assignments": [ - 3109 - ], - "declarations": [ - { - "constant": false, - "id": 3109, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14077:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3108, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "14077:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3116, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3110, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "14111:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3112, - "indexExpression": { - "argumentTypes": null, - "id": 3111, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14118:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "14111:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3115, - "indexExpression": { - "argumentTypes": null, - "id": 3114, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14141:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14077:79:5" - }, - { - "assignments": [ - 3118 - ], - "declarations": [ - { - "constant": false, - "id": 3118, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14166:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14166:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3120, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14191:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14166:26:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3121, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14205:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14223:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14205:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3129, - "nodeType": "IfStatement", - "src": "14202:44:5", - "trueBody": { - "id": 3128, - "nodeType": "Block", - "src": "14225:21:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3124, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "14226:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14243:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "14226:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3127, - "nodeType": "ExpressionStatement", - "src": "14226:18:5" - } - ] - } - }, - { - "assignments": [ - 3131 - ], - "declarations": [ - { - "constant": false, - "id": 3131, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14255:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3130, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "14255:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3138, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3132, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "14293:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3134, - "indexExpression": { - "argumentTypes": null, - "id": 3133, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14300:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "14293:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3136, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "14323:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14255:83:5" - }, - { - "assignments": [ - 3140 - ], - "declarations": [ - { - "constant": false, - "id": 3140, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14349:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14349:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3153, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3149, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14439:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14439:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "14439:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14405:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14405:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "14405:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3141, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14384:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "14384:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14384:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3147, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14383:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "14383:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14383:85:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14349:119:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3155, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14486:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14486:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14486:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3160, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14523:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14523:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14486:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3161, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "14537:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14486:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f204c6971756964617465", - "id": 3163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14562:25:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5dbbd47fb3942243a4d036954effefadb4a36bfb63cfe9d2723aea3639fdbd97", - "typeString": "literal_string \"No Balance to Liquidate\"" - }, - "value": "No Balance to Liquidate" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5dbbd47fb3942243a4d036954effefadb4a36bfb63cfe9d2723aea3639fdbd97", - "typeString": "literal_string \"No Balance to Liquidate\"" - } - ], - "id": 3154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14478:110:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3165, - "nodeType": "ExpressionStatement", - "src": "14478:110:5" - }, - { - "assignments": [ - 3167 - ], - "declarations": [ - { - "constant": false, - "id": 3167, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14599:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14599:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3173, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3169, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14634:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3170, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14644:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3171, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14660:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3168, - "name": "getSlipageOnSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "14617:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14599:78:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3175, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3167, - "src": "14695:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14705:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "14695:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14708:31:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - }, - "value": "Slipage has to be less than 3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - } - ], - "id": 3174, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14687:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14687:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3180, - "nodeType": "ExpressionStatement", - "src": "14687:53:5" - }, - { - "assignments": [ - 3182 - ], - "declarations": [ - { - "constant": false, - "id": 3182, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14751:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14751:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3189, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3185, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14794:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3186, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14794:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "14794:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3183, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14773:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "14773:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14773:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14751:69:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3190, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14855:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14855:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14855:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3197, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3193, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14892:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14892:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14855:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3205, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "14959:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3198, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14906:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14906:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14906:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3203, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3201, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14943:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14943:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14906:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "14906:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14906:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14855:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3208, - "nodeType": "ExpressionStatement", - "src": "14855:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3209, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15014:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15014:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "15014:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3218, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "15078:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3214, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15045:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15045:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "15045:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15045:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15045:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:81:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3221, - "nodeType": "ExpressionStatement", - "src": "15014:81:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3222, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15127:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15127:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "15127:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3231, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "15189:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3227, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15157:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15157:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3229, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "15157:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15157:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:56:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15127:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3234, - "nodeType": "ExpressionStatement", - "src": "15127:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3235, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15243:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15243:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "15243:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3244, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "15305:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3240, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15273:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3241, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15273:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "15273:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15273:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15273:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15243:79:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3247, - "nodeType": "ExpressionStatement", - "src": "15243:79:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3248, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15354:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15354:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15354:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3257, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "15412:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3253, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15382:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15382:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15382:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15382:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15382:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15354:70:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3260, - "nodeType": "ExpressionStatement", - "src": "15354:70:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3261, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15455:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15455:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "15455:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15482:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3267, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15484:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3276, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15552:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15552:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15552:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3273, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15534:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3269, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15500:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15500:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3271, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15500:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "15500:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15500:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3280, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15499:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15455:124:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "15455:124:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3284, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15610:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15610:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "15610:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15641:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3290, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15643:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3299, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15707:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15707:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15707:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3296, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15689:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3292, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15659:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15659:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15659:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "15659:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15659:47:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3303, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15658:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15610:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3306, - "nodeType": "ExpressionStatement", - "src": "15610:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15768:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15768:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "15768:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3316, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15826:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3317, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15826:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "15826:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3312, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15796:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3313, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15796:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15796:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15796:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15768:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3321, - "nodeType": "ExpressionStatement", - "src": "15768:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3322, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15884:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15884:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "15884:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3331, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15950:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15950:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "15950:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3327, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15916:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15916:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15916:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15916:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15916:66:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15884:98:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3336, - "nodeType": "ExpressionStatement", - "src": "15884:98:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3342, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "16074:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3337, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16054:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16054:32:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3344, - "nodeType": "ExpressionStatement", - "src": "16054:32:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3346, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "16141:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3347, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "16151:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3348, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16164:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16164:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3345, - "name": "SellEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1763, - "src": "16131:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3351, - "nodeType": "EmitStatement", - "src": "16126:49:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3094, - "id": 3353, - "nodeType": "Return", - "src": "16185:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "d3c9727c", - "id": 3355, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3086, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13857:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13857:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3088, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13875:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13875:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3090, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13899:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13899:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13856:68:5" - }, - "returnParameters": { - "id": 3094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3093, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13941:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3092, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13941:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13940:14:5" - }, - "scope": 4252, - "src": "13843:2360:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3406, - "nodeType": "Block", - "src": "16341:344:5", - "statements": [ - { - "assignments": [ - 3367 - ], - "declarations": [ - { - "constant": false, - "id": 3367, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16351:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3366, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "16351:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3374, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3368, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "16384:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3370, - "indexExpression": { - "argumentTypes": null, - "id": 3369, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3357, - "src": "16391:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "16384:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3373, - "indexExpression": { - "argumentTypes": null, - "id": 3372, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16414:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16351:78:5" - }, - { - "assignments": [ - 3376 - ], - "declarations": [ - { - "constant": false, - "id": 3376, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16439:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16439:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3382, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3378, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3357, - "src": "16478:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3379, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16488:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3380, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "16504:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3377, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "16461:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16461:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16439:82:5" - }, - { - "assignments": [ - 3384 - ], - "declarations": [ - { - "constant": false, - "id": 3384, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16531:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3397, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3393, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3367, - "src": "16599:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "16599:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "16599:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3389, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "16581:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3385, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3367, - "src": "16551:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "16551:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "16551:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "16551:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16551:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3391, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16550:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "16550:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16531:96:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3403, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "16666:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "id": 3398, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "16644:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "16644:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:17:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "16644:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3365, - "id": 3405, - "nodeType": "Return", - "src": "16637:41:5" - } - ] - }, - "documentation": null, - "functionSelector": "e13a7d11", - "id": 3407, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnSell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3357, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16235:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3359, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16253:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16253:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3361, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16277:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16234:68:5" - }, - "returnParameters": { - "id": 3365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3364, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16324:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16324:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16323:17:5" - }, - "scope": 4252, - "src": "16209:476:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3458, - "nodeType": "Block", - "src": "16822:344:5", - "statements": [ - { - "assignments": [ - 3419 - ], - "declarations": [ - { - "constant": false, - "id": 3419, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "16832:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3418, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "16832:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3426, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3420, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "16865:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3422, - "indexExpression": { - "argumentTypes": null, - "id": 3421, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "16872:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "16865:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3425, - "indexExpression": { - "argumentTypes": null, - "id": 3424, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "16895:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16832:78:5" - }, - { - "assignments": [ - 3428 - ], - "declarations": [ - { - "constant": false, - "id": 3428, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "16920:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16920:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3430, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "16959:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3431, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "16969:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3432, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3413, - "src": "16985:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3429, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "16942:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16942:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16920:82:5" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "17012:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3449, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3445, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3419, - "src": "17080:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17080:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "17080:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3441, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3428, - "src": "17062:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3437, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3419, - "src": "17032:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17032:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "17032:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "17032:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17032:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3443, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17031:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17031:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17031:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17012:96:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3455, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "17150:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17141:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "id": 3450, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3428, - "src": "17125:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17125:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17125:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3417, - "id": 3457, - "nodeType": "Return", - "src": "17118:41:5" - } - ] - }, - "documentation": null, - "functionSelector": "a8c776a1", - "id": 3459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnBuy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3409, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16716:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16716:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3411, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16734:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16734:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3413, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16758:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16758:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16715:68:5" - }, - "returnParameters": { - "id": 3417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3416, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16805:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16805:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16804:17:5" - }, - "scope": 4252, - "src": "16691:475:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3486, - "nodeType": "Block", - "src": "17296:159:5", - "statements": [ - { - "assignments": [ - 3471 - ], - "declarations": [ - { - "constant": false, - "id": 3471, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3486, - "src": "17306:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3470, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "17306:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3478, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3472, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "17339:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3474, - "indexExpression": { - "argumentTypes": null, - "id": 3473, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3461, - "src": "17346:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "17339:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3477, - "indexExpression": { - "argumentTypes": null, - "id": 3476, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3463, - "src": "17369:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17306:78:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3481, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3471, - "src": "17422:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17422:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "17422:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3479, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3465, - "src": "17401:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17401:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17401:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3469, - "id": 3485, - "nodeType": "Return", - "src": "17394:54:5" - } - ] - }, - "documentation": null, - "functionSelector": "bf3edf7e", - "id": 3487, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getFractionsCost", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3461, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17198:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17198:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3463, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17216:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17216:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3465, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17240:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:68:5" - }, - "returnParameters": { - "id": 3469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3468, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17287:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17287:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17286:9:5" - }, - "scope": 4252, - "src": "17172:283:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3676, - "nodeType": "Block", - "src": "17582:1624:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3500, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3489, - "src": "17612:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3499, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "17600:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17600:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17592:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17592:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3503, - "nodeType": "ExpressionStatement", - "src": "17592:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3505, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "17640:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17659:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17640:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17662:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3504, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17632:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17632:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3510, - "nodeType": "ExpressionStatement", - "src": "17632:53:5" - }, - { - "assignments": [ - 3512 - ], - "declarations": [ - { - "constant": false, - "id": 3512, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "17696:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3511, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "17696:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3519, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3513, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "17730:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3515, - "indexExpression": { - "argumentTypes": null, - "id": 3514, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3489, - "src": "17737:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "17730:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3518, - "indexExpression": { - "argumentTypes": null, - "id": 3517, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3491, - "src": "17760:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17696:79:5" - }, - { - "assignments": [ - 3521 - ], - "declarations": [ - { - "constant": false, - "id": 3521, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "17811:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17811:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3534, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3530, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17900:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17900:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "17900:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3524, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17867:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17867:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "17867:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3522, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "17846:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17846:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17846:48:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3528, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17845:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17845:54:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17845:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17811:117:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3536, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17946:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17946:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "17946:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3541, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3539, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17982:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17982:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17946:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3542, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "17996:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17946:73:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18021:30:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - }, - "value": "No Balance to Pull Fractions" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - } - ], - "id": 3535, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17938:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17938:114:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3546, - "nodeType": "ExpressionStatement", - "src": "17938:114:5" - }, - { - "assignments": [ - 3548 - ], - "declarations": [ - { - "constant": false, - "id": 3548, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18063:35:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18063:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3565, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3561, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18185:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18185:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18185:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3553, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18132:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18132:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18132:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3558, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3556, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18168:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18168:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3549, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18101:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18101:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18101:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "18101:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:79:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "18101:83:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:112:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18063:150:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3567, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18231:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3568, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3548, - "src": "18250:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18231:46:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564", - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:74:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93ba46180ea4565c98ccdd11dbd42df20736ede4d639d2e0a0d9cad929a38102", - "typeString": "literal_string \"Amount of Fractions outside of liquidity have to be bigger than proposed\"" - }, - "value": "Amount of Fractions outside of liquidity have to be bigger than proposed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_93ba46180ea4565c98ccdd11dbd42df20736ede4d639d2e0a0d9cad929a38102", - "typeString": "literal_string \"Amount of Fractions outside of liquidity have to be bigger than proposed\"" - } - ], - "id": 3566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18223:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18223:131:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3572, - "nodeType": "ExpressionStatement", - "src": "18223:131:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3573, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18389:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18389:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18389:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3576, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18425:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18425:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18389:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3588, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "18491:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3581, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18439:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3582, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18439:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3583, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18439:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3586, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3584, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18475:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18475:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18439:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18439:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18439:76:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18389:126:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3591, - "nodeType": "ExpressionStatement", - "src": "18389:126:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3592, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18545:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18545:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18545:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3601, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18607:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3597, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18575:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18575:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18575:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18575:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18575:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18545:79:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3604, - "nodeType": "ExpressionStatement", - "src": "18545:79:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3605, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18655:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18655:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18655:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3614, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "18715:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3610, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18684:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18684:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18684:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18684:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18684:55:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18655:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3617, - "nodeType": "ExpressionStatement", - "src": "18655:84:5" - }, - { - "assignments": [ - 3619 - ], - "declarations": [ - { - "constant": false, - "id": 3619, - "name": "out2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18750:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18750:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3624, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18798:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3620, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18765:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18765:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "18765:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "18765:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18765:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18750:65:5" - }, - { - "assignments": [ - 3628 - ], - "declarations": [ - { - "constant": false, - "id": 3628, - "name": "relOut2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18825:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18825:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3641, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3637, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18887:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18887:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "18887:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3633, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3619, - "src": "18876:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3629, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18844:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18844:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "18844:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "18844:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18844:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3635, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18843:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "18843:43:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18843:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18825:91:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3642, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18951:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18951:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "18951:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3649, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3645, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18988:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18988:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18951:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3652, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19014:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3653, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19014:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19014:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3650, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3628, - "src": "19002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "19002:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19002:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18951:91:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3657, - "nodeType": "ExpressionStatement", - "src": "18951:91:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3658, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19074:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19074:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19074:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3663, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3628, - "src": "19104:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19074:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3665, - "nodeType": "ExpressionStatement", - "src": "19074:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3666, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19142:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19142:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19142:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3671, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3619, - "src": "19173:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19142:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3673, - "nodeType": "ExpressionStatement", - "src": "19142:35:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19195:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3497, - "id": 3675, - "nodeType": "Return", - "src": "19188:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "cccbcc7c", - "id": 3677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pullFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3489, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17484:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17484:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3491, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17502:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17502:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3493, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17526:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17526:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17483:68:5" - }, - "returnParameters": { - "id": 3497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3496, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17568:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17568:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17567:14:5" - }, - "scope": 4252, - "src": "17461:1745:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3840, - "nodeType": "Block", - "src": "19333:1312:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3690, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "19363:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3689, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "19351:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19351:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3688, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19343:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19343:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3693, - "nodeType": "ExpressionStatement", - "src": "19343:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3695, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "19391:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19410:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19391:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19413:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3694, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19383:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19383:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3700, - "nodeType": "ExpressionStatement", - "src": "19383:53:5" - }, - { - "assignments": [ - 3702 - ], - "declarations": [ - { - "constant": false, - "id": 3702, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "19447:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3701, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "19447:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3709, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3703, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "19481:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3705, - "indexExpression": { - "argumentTypes": null, - "id": 3704, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "19488:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "19481:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3708, - "indexExpression": { - "argumentTypes": null, - "id": 3707, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "19511:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19447:79:5" - }, - { - "assignments": [ - 3711 - ], - "declarations": [ - { - "constant": false, - "id": 3711, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "19555:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19555:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3724, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3720, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19645:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19645:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19645:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3714, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19611:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19611:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3716, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19611:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3712, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "19590:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "19590:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19590:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3718, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19589:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "19589:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19589:85:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19555:119:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3726, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19692:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19692:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19692:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3731, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3729, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19729:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19729:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19692:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3732, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "19743:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19692:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19768:30:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - }, - "value": "No Balance to Pull Fractions" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - } - ], - "id": 3725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19684:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19684:115:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3736, - "nodeType": "ExpressionStatement", - "src": "19684:115:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3737, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19835:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19835:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19835:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3744, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3740, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19872:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19872:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19835:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3752, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "19939:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3745, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19886:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3746, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19886:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19886:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3750, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3748, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19923:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19923:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19886:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "19886:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19886:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19835:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3755, - "nodeType": "ExpressionStatement", - "src": "19835:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19994:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19994:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19994:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3765, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "20058:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3761, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20025:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20025:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "20025:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20025:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20025:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19994:81:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3768, - "nodeType": "ExpressionStatement", - "src": "19994:81:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3769, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20107:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20107:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "20107:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3778, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "20169:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3774, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20137:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20137:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "20137:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20137:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20137:56:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20107:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3781, - "nodeType": "ExpressionStatement", - "src": "20107:86:5" - }, - { - "assignments": [ - 3783 - ], - "declarations": [ - { - "constant": false, - "id": 3783, - "name": "in2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "20204:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20204:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3790, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3788, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "20250:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3784, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20218:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20218:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20218:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "20218:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20218:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20204:63:5" - }, - { - "assignments": [ - 3792 - ], - "declarations": [ - { - "constant": false, - "id": 3792, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "20277:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3805, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3801, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20336:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20336:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20336:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3797, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "20326:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3793, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20295:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20295:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3795, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20295:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "20295:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20295:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3799, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20294:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "20294:41:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20294:70:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20277:87:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20399:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20399:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "20399:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3813, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20435:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20435:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20399:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3816, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20460:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20460:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20460:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3814, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "20449:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20449:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20449:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20399:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3821, - "nodeType": "ExpressionStatement", - "src": "20399:88:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3822, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20518:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20518:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20518:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3827, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "20547:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20518:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3829, - "nodeType": "ExpressionStatement", - "src": "20518:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3830, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20583:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20583:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20583:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3835, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "20613:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20583:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3837, - "nodeType": "ExpressionStatement", - "src": "20583:33:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20634:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3687, - "id": 3839, - "nodeType": "Return", - "src": "20627:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "9d9bbde7", - "id": 3841, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pushFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3679, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19235:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3681, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19253:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19253:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3683, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19277:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19234:68:5" - }, - "returnParameters": { - "id": 3687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3686, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19319:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3685, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19319:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19318:14:5" - }, - "scope": 4252, - "src": "19212:1433:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3889, - "nodeType": "Block", - "src": "20777:322:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3854, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "20807:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3853, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "20795:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20795:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20787:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20787:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3857, - "nodeType": "ExpressionStatement", - "src": "20787:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3859, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20868:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20880:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20868:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3862, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20867:15:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3863, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20887:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20899:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20887:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3866, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20886:15:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20867:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3858, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20859:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20859:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3869, - "nodeType": "ExpressionStatement", - "src": "20859:43:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3870, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "20941:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3872, - "indexExpression": { - "argumentTypes": null, - "id": 3871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "20948:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20941:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "20941:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3874, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20967:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20941:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3876, - "nodeType": "ExpressionStatement", - "src": "20941:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3877, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21012:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3879, - "indexExpression": { - "argumentTypes": null, - "id": 3878, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "21019:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21012:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "21012:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21042:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "21012:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3883, - "nodeType": "ExpressionStatement", - "src": "21012:34:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3885, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "21072:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3886, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "21082:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3884, - "name": "CloseEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "21061:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21061:31:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3888, - "nodeType": "EmitStatement", - "src": "21056:36:5" - } - ] - }, - "documentation": null, - "functionSelector": "64f66467", - "id": 3890, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3848, - "modifierName": { - "argumentTypes": null, - "id": 3847, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "20744:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20744:9:5" - } - ], - "name": "resolveEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3843, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20700:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20700:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3845, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20718:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20718:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20699:37:5" - }, - "returnParameters": { - "id": 3851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3850, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20763:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3849, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20763:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20762:14:5" - }, - "scope": 4252, - "src": "20678:421:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4029, - "nodeType": "Block", - "src": "21199:1130:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3901, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21232:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3900, - "name": "isEventClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "21218:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21218:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4576656e742068617320746f20626520636c6f736564", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21243:24:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2302621f29a97288ad02b635dde058e29579ea1542a1f4379bda7f8d87e1543b", - "typeString": "literal_string \"Event has to be closed\"" - }, - "value": "Event has to be closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2302621f29a97288ad02b635dde058e29579ea1542a1f4379bda7f8d87e1543b", - "typeString": "literal_string \"Event has to be closed\"" - } - ], - "id": 3899, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21210:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21210:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3905, - "nodeType": "ExpressionStatement", - "src": "21210:58:5" - }, - { - "assignments": [ - 3907 - ], - "declarations": [ - { - "constant": false, - "id": 3907, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21278:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3906, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "21278:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3914, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3908, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21312:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3910, - "indexExpression": { - "argumentTypes": null, - "id": 3909, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21319:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "21312:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3913, - "indexExpression": { - "argumentTypes": null, - "id": 3912, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "21342:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21278:79:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3916, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21375:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3918, - "indexExpression": { - "argumentTypes": null, - "id": 3917, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21382:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21375:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "21375:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3920, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "21402:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21375:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c74205370616365206973206e6f74207468652077696e6e6572", - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21418:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_034f39acad2599bee6b3f1642662ad029eeb68a3bc1e3addb98c8c4fb97406ac", - "typeString": "literal_string \"Result Space is not the winner\"" - }, - "value": "Result Space is not the winner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_034f39acad2599bee6b3f1642662ad029eeb68a3bc1e3addb98c8c4fb97406ac", - "typeString": "literal_string \"Result Space is not the winner\"" - } - ], - "id": 3915, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21367:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21367:84:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3924, - "nodeType": "ExpressionStatement", - "src": "21367:84:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3926, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21469:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1709, - "src": "21469:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3930, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3928, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21494:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21494:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21469:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21509:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "21469:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57696e6e696e6720616c72656164792074616b656e", - "id": 3933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21516:23:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24c471a04399655808db475791fad3b57c4c099c548fcabfef240b532aa71a40", - "typeString": "literal_string \"Winning already taken\"" - }, - "value": "Winning already taken" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24c471a04399655808db475791fad3b57c4c099c548fcabfef240b532aa71a40", - "typeString": "literal_string \"Winning already taken\"" - } - ], - "id": 3925, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21461:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21461:79:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "21461:79:5" - }, - { - "assignments": [ - 3937 - ], - "declarations": [ - { - "constant": false, - "id": 3937, - "name": "absoluteFractionsIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21580:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21580:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3955, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3951, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21697:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21697:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "21697:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3945, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21663:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21663:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "21663:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3938, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21611:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21611:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "21611:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3943, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3941, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21647:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21647:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21611:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21611:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21611:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3949, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21610:82:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21610:86:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21610:114:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21580:144:5" - }, - { - "assignments": [ - 3957 - ], - "declarations": [ - { - "constant": false, - "id": 3957, - "name": "absoluteFractionsOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21734:28:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21734:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3975, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3971, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21854:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21854:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "21854:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3965, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21819:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21819:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "21819:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3958, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21766:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21766:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "21766:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3963, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3961, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21803:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21803:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21766:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21766:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21766:82:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3969, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21765:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21765:88:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21765:117:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21734:148:5" - }, - { - "assignments": [ - 3977 - ], - "declarations": [ - { - "constant": false, - "id": 3977, - "name": "winningAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21892:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21892:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3997, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "22048:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3995, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "22031:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "22031:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22031:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3989, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "22000:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "22000:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "22000:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3984, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21969:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3985, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21969:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "21969:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3980, - "name": "absoluteFractionsIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3937, - "src": "21943:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3978, - "name": "absoluteFractionsOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3957, - "src": "21918:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "21918:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21918:45:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3982, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21917:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21917:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21917:82:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:108:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3993, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21916:110:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21916:114:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21916:151:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21892:175:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4006, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3977, - "src": "22126:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4001, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22106:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 4005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22106:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4008, - "nodeType": "ExpressionStatement", - "src": "22106:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 4020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4009, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "22180:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4011, - "indexExpression": { - "argumentTypes": null, - "id": 4010, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "22187:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "22180:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4014, - "indexExpression": { - "argumentTypes": null, - "id": 4013, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "22210:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 4015, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1709, - "src": "22180:58:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 4018, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4016, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22239:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22239:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22180:70:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22253:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "22180:77:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4021, - "nodeType": "ExpressionStatement", - "src": "22180:77:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4023, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "22286:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4024, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3977, - "src": "22296:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4025, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22311:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22311:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 4022, - "name": "WithdrawEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "22272:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 4027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22272:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4028, - "nodeType": "EmitStatement", - "src": "22267:55:5" - } - ] - }, - "documentation": null, - "functionSelector": "e682e9ad", - "id": 4030, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawWins", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3892, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21127:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21127:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3894, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21145:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21145:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21126:42:5" - }, - "returnParameters": { - "id": 3898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3897, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21185:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3896, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:14:5" - }, - "scope": 4252, - "src": "21105:1224:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4038, - "nodeType": "Block", - "src": "22430:32:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4036, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "22447:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4035, - "id": 4037, - "nodeType": "Return", - "src": "22440:15:5" - } - ] - }, - "documentation": null, - "functionSelector": "404aa8f9", - "id": 4039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4031, - "nodeType": "ParameterList", - "parameters": [], - "src": "22378:2:5" - }, - "returnParameters": { - "id": 4035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4034, - "name": "event_ids", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4039, - "src": "22402:26:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22402:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4033, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22402:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22401:28:5" - }, - "scope": 4252, - "src": "22360:102:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4068, - "nodeType": "Block", - "src": "22599:169:5", - "statements": [ - { - "assignments": [ - 4053 - ], - "declarations": [ - { - "constant": false, - "id": 4053, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4068, - "src": "22609:19:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 4052, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "22609:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4057, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4054, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "22631:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4056, - "indexExpression": { - "argumentTypes": null, - "id": 4055, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4041, - "src": "22638:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22631:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22609:38:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4058, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22697:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4059, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1712, - "src": "22697:11:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4060, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22710:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4061, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "22710:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4062, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22725:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1720, - "src": "22725:16:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4064, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22743:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "22743:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4066, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22696:65:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_$_t_uint256_$_t_string_memory_$_t_bool_$", - "typeString": "tuple(string memory,uint256,string memory,bool)" - } - }, - "functionReturnParameters": 4051, - "id": 4067, - "nodeType": "Return", - "src": "22689:72:5" - } - ] - }, - "documentation": null, - "functionSelector": "4392bb68", - "id": 4069, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEventData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4041, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22515:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22515:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22514:18:5" - }, - "returnParameters": { - "id": 4051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4044, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22554:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4043, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22554:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4046, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22569:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22569:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22578:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4047, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22578:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22593:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22593:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22553:45:5" - }, - "scope": 4252, - "src": "22493:275:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4135, - "nodeType": "Block", - "src": "23075:394:5", - "statements": [ - { - "assignments": [ - 4097 - ], - "declarations": [ - { - "constant": false, - "id": 4097, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4135, - "src": "23085:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4096, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23085:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4104, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4098, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "23118:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4100, - "indexExpression": { - "argumentTypes": null, - "id": 4099, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4071, - "src": "23125:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "23118:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4103, - "indexExpression": { - "argumentTypes": null, - "id": 4102, - "name": "resultSpace_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4073, - "src": "23148:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23085:78:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4105, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23182:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1701, - "src": "23182:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4107, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23198:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1703, - "src": "23198:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4109, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23220:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23220:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4111, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "23220:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4112, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23247:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23247:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "23247:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4115, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23282:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23282:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "23282:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4118, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23308:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4119, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23308:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "23308:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4121, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23337:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23337:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "23337:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4124, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23366:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23366:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "23366:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4127, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23404:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23404:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1692, - "src": "23404:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4130, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23431:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23431:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "23431:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4133, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23181:281:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4095, - "id": 4134, - "nodeType": "Return", - "src": "23174:288:5" - } - ] - }, - "documentation": null, - "functionSelector": "ad5145af", - "id": 4136, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResultSpaceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4071, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22834:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22834:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4073, - "name": "resultSpace_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22852:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22833:42:5" - }, - "returnParameters": { - "id": 4095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4076, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22906:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22906:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4078, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22919:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22919:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4080, - "name": "_pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22938:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22938:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4082, - "name": "_cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22953:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22953:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4084, - "name": "_odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22968:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22968:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4086, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22991:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22991:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4088, - "name": "_in", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23008:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23008:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4090, - "name": "_out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23021:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23021:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4092, - "name": "_fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23035:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23035:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4094, - "name": "_liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23050:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23050:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22896:178:5" - }, - "scope": 4252, - "src": "22806:663:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4147, - "nodeType": "Block", - "src": "23590:44:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4142, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "23607:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4145, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4143, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23616:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23616:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23607:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4141, - "id": 4146, - "nodeType": "Return", - "src": "23600:27:5" - } - ] - }, - "documentation": null, - "functionSelector": "3548124b", - "id": 4148, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4137, - "nodeType": "ParameterList", - "parameters": [], - "src": "23549:2:5" - }, - "returnParameters": { - "id": 4141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4140, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4148, - "src": "23573:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23573:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4139, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23573:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23572:18:5" - }, - "scope": 4252, - "src": "23529:105:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4221, - "nodeType": "Block", - "src": "23877:537:5", - "statements": [ - { - "assignments": [ - 4166 - ], - "declarations": [ - { - "constant": false, - "id": 4166, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4221, - "src": "23907:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4165, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23907:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4173, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4167, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "23941:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4169, - "indexExpression": { - "argumentTypes": null, - "id": 4168, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "23948:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4170, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "23941:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4172, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23971:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23907:66:5" - }, - { - "assignments": [ - 4175 - ], - "declarations": [ - { - "constant": false, - "id": 4175, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4221, - "src": "23983:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4174, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23983:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4182, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4176, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "24021:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4178, - "indexExpression": { - "argumentTypes": null, - "id": 4177, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "24028:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "24021:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4181, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24051:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23983:70:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4183, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24085:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24085:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "24085:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4188, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4186, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24121:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24121:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24085:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4189, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24134:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24134:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4191, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "24134:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4194, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24171:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24171:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24134:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4195, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24184:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24184:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "24184:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24215:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24215:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24184:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4201, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24240:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24240:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "24240:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4206, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24280:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24280:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24240:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4207, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24293:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24293:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "24293:40:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4212, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4210, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24334:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24334:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24293:52:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4213, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24347:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24347:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "24347:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4218, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24382:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24382:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24347:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4219, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24071:336:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4164, - "id": 4220, - "nodeType": "Return", - "src": "24064:343:5" - } - ] - }, - "documentation": null, - "functionSelector": "21c3c4be", - "id": 4222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEventHoldings", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4150, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23785:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23785:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23784:18:5" - }, - "returnParameters": { - "id": 4164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4153, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23824:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23824:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4155, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23833:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23833:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4157, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23842:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4159, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23851:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23851:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4161, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23860:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23860:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4163, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23869:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23869:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23823:54:5" - }, - "scope": 4252, - "src": "23757:657:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4250, - "nodeType": "Block", - "src": "24506:127:5", - "statements": [ - { - "assignments": [ - 4232 - ], - "declarations": [ - { - "constant": false, - "id": 4232, - "name": "erc20Token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4250, - "src": "24516:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4231, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "24516:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4236, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4234, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4224, - "src": "24541:13:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4233, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9318, - "src": "24535:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9318_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24535:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24516:39:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4240, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4226, - "src": "24585:3:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4245, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24619:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - ], - "id": 4244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24611:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24611:7:5", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24611:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4241, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4232, - "src": "24590:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 4242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8930, - "src": "24590:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24590:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4237, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4232, - "src": "24565:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 4239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "24565:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24565:61:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4249, - "nodeType": "ExpressionStatement", - "src": "24565:61:5" - } - ] - }, - "documentation": null, - "functionSelector": "917c854d", - "id": 4251, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4229, - "modifierName": { - "argumentTypes": null, - "id": 4228, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "24496:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "24496:9:5" - } - ], - "name": "removeOtherERC20Tokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4224, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4251, - "src": "24451:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24451:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4226, - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4251, - "src": "24474:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24474:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24450:36:5" - }, - "returnParameters": { - "id": 4230, - "nodeType": "ParameterList", - "parameters": [], - "src": "24506:0:5" - }, - "scope": 4252, - "src": "24419:214:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4253, - "src": "199:24437:5" - } - ], - "src": "33:24603:5" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ExchangeMarket.sol", - "exportedSymbols": { - "Exchange": [ - 4252 - ] - }, - "id": 4253, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1631, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:5" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 1632, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 9319, - "src": "59:55:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 1633, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 11875, - "src": "115:52:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 1634, - "nodeType": "ImportDirective", - "scope": 4253, - "sourceUnit": 8431, - "src": "168:29:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1635, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "220:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 1636, - "nodeType": "InheritanceSpecifier", - "src": "220:8:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1637, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "230:7:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 1638, - "nodeType": "InheritanceSpecifier", - "src": "230:7:5" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 4252, - "linearizedBaseContracts": [ - 4252, - 8430, - 11874, - 10777 - ], - "name": "Exchange", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 1641, - "libraryName": { - "contractScope": null, - "id": 1639, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "254:8:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "248:27:5", - "typeName": { - "id": 1640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "267:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "089cdd0c", - "id": 1644, - "name": "eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "281:26:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1642, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "281:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 1643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "306:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "08888c0a", - "id": 1649, - "name": "ODD_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "313:35:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1645, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "313:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "id": 1648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1646, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 1647, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "347:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "343:5:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "262f92d2", - "id": 1654, - "name": "CURRENCY_DECIMALS", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "382:40:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "382:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "id": 1653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 1651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "417:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "37", - "id": 1652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "421:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_7_by_1", - "typeString": "int_const 7" - }, - "value": "7" - }, - "src": "417:5:5", - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "998f6ac0", - "id": 1657, - "name": "eventIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "429:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "429:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1656, - "length": null, - "nodeType": "ArrayTypeName", - "src": "429:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0b791430", - "id": 1661, - "name": "events", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "460:39:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "typeName": { - "id": 1660, - "keyType": { - "id": 1658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "468:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "460:25:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event)" - }, - "valueType": { - "contractScope": null, - "id": 1659, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "479:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "50968657", - "id": 1666, - "name": "myEvents", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4252, - "src": "505:45:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 1665, - "keyType": { - "id": 1662, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "513:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "505:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 1663, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "524:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1664, - "length": null, - "nodeType": "ArrayTypeName", - "src": "524:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Exchange.Fraction", - "id": 1699, - "members": [ - { - "constant": false, - "id": 1668, - "name": "pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "585:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1667, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "585:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1670, - "name": "cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "661:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "661:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1672, - "name": "odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "731:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "731:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1674, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "845:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "845:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1676, - "name": "inPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "944:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1675, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1678, - "name": "relIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1050:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1050:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1682, - "name": "inPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1145:42:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1681, - "keyType": { - "id": 1679, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1153:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1145:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1164:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1684, - "name": "outPool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1291:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1683, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1291:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1686, - "name": "relOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1391:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1391:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1690, - "name": "outPoolBalances", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1489:43:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1689, - "keyType": { - "id": 1687, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1497:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1489:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1688, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1508:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1692, - "name": "fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1638:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1638:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1694, - "name": "liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1735:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1693, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1735:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1698, - "name": "liquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1699, - "src": "1831:37:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 1697, - "keyType": { - "id": 1695, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1839:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1831:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 1696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1850:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Fraction", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "559:1404:5", - "visibility": "public" - }, - { - "canonicalName": "Exchange.ResultSpace", - "id": 1710, - "members": [ - { - "constant": false, - "id": 1701, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "1998:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1998:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1703, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2087:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1702, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2087:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1705, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2153:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1704, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1699, - "src": "2153:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1709, - "name": "tookWinnings", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1710, - "src": "2232:37:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1708, - "keyType": { - "id": 1706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2232:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1707, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2251:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ResultSpace", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "1969:340:5", - "visibility": "public" - }, - { - "canonicalName": "Exchange.Event", - "id": 1723, - "members": [ - { - "constant": false, - "id": 1712, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2338:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1711, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2338:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1716, - "name": "resultSpaces", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2376:44:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "typeName": { - "id": 1715, - "keyType": { - "id": 1713, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2376:31:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace)" - }, - "valueType": { - "contractScope": null, - "id": 1714, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "2395:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1718, - "name": "result", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2430:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1717, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2430:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1720, - "name": "urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2493:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1719, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2493:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1722, - "name": "isResolved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1723, - "src": "2556:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1721, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2556:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Event", - "nodeType": "StructDefinition", - "scope": 4252, - "src": "2315:281:5", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 1729, - "name": "CreateEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1725, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1729, - "src": "2624:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1724, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2624:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1727, - "indexed": true, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1729, - "src": "2644:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1726, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2644:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2623:41:5" - }, - "src": "2606:59:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1741, - "name": "BuyEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1740, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1731, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2685:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2685:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1733, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2705:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1732, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2705:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1735, - "indexed": false, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2736:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1734, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2736:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1737, - "indexed": false, - "name": "fractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2760:20:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1736, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2760:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1739, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1741, - "src": "2782:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1738, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2782:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2684:120:5" - }, - "src": "2670:135:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1747, - "name": "CloseEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1746, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1743, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1747, - "src": "2827:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2827:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1745, - "indexed": true, - "name": "resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1747, - "src": "2847:29:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2847:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2826:51:5" - }, - "src": "2810:68:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1755, - "name": "WithdrawEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1754, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1749, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2903:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2903:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1751, - "indexed": false, - "name": "winAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2923:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2923:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "indexed": true, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1755, - "src": "2942:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2942:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2902:62:5" - }, - "src": "2883:82:5" - }, - { - "anonymous": false, - "documentation": null, - "id": 1763, - "name": "SellEvent", - "nodeType": "EventDefinition", - "parameters": { - "id": 1762, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1757, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "2986:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1756, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1759, - "indexed": false, - "name": "liquidateAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "3006:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1758, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3006:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1761, - "indexed": true, - "name": "seller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1763, - "src": "3031:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1760, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3031:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2985:69:5" - }, - "src": "2970:85:5" - }, - { - "body": { - "id": 1766, - "nodeType": "Block", - "src": "3082:15:5", - "statements": [] - }, - "documentation": null, - "id": 1767, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1764, - "nodeType": "ParameterList", - "parameters": [], - "src": "3072:2:5" - }, - "returnParameters": { - "id": 1765, - "nodeType": "ParameterList", - "parameters": [], - "src": "3082:0:5" - }, - "scope": 4252, - "src": "3061:36:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "3171:62:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1774, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "3189:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1776, - "indexExpression": { - "argumentTypes": null, - "id": 1775, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1769, - "src": "3196:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3189:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "3189:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3220:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3189:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1780, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3188:38:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1773, - "id": 1781, - "nodeType": "Return", - "src": "3181:45:5" - } - ] - }, - "documentation": null, - "functionSelector": "a25e6ab2", - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventOpen", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1769, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1783, - "src": "3124:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3124:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3123:18:5" - }, - "returnParameters": { - "id": 1773, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1772, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1783, - "src": "3158:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1771, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3158:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3157:14:5" - }, - "scope": 4252, - "src": "3103:130:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1798, - "nodeType": "Block", - "src": "3309:61:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 1795, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1790, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "3327:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1792, - "indexExpression": { - "argumentTypes": null, - "id": 1791, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "3334:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3327:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 1793, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "3327:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3358:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3327:35:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 1796, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3326:37:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1789, - "id": 1797, - "nodeType": "Return", - "src": "3319:44:5" - } - ] - }, - "documentation": null, - "functionSelector": "70f7ae95", - "id": 1799, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isEventClosed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1799, - "src": "3262:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1784, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3262:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:18:5" - }, - "returnParameters": { - "id": 1789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1788, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1799, - "src": "3296:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1787, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3296:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3295:14:5" - }, - "scope": 4252, - "src": "3239:131:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2021, - "nodeType": "Block", - "src": "3550:1662:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1814, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "3568:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3568:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 1816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3594:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "3568:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c7420537061636573206e65656420746f206265203220", - "id": 1818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3597:29:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bf22c3e9d03511e48d564c5ba8323c560832a8629c092eae820da6a0220a69f3", - "typeString": "literal_string \"Result Spaces need to be 2 \"" - }, - "value": "Result Spaces need to be 2 " - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bf22c3e9d03511e48d564c5ba8323c560832a8629c092eae820da6a0220a69f3", - "typeString": "literal_string \"Result Spaces need to be 2 \"" - } - ], - "id": 1813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3560:67:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1820, - "nodeType": "ExpressionStatement", - "src": "3560:67:5" - }, - { - "assignments": [ - 1822 - ], - "declarations": [ - { - "constant": false, - "id": 1822, - "name": "resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3638:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3638:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1824, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 1823, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3657:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3638:20:5" - }, - { - "assignments": [ - 1826 - ], - "declarations": [ - { - "constant": false, - "id": 1826, - "name": "fractionAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3668:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3668:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1830, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 1827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3693:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1828, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "3697:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3693:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3668:46:5" - }, - { - "assignments": [ - 1832 - ], - "declarations": [ - { - "constant": false, - "id": 1832, - "name": "initialFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3724:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1842, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1840, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "3796:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1836, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "3768:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3768:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1833, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3754:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3754:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3754:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1838, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3754:41:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3754:57:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3724:87:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1844, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "3850:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1845, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3872:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3850:23:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "496e697469616c204672616374696f6e20436f73742068617320746f206265203e2030", - "id": 1847, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3875:37:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_99fb3d6d5521f009e95e2be7d1be74aa0d984027419778ce9e98e9863fc37a0c", - "typeString": "literal_string \"Initial Fraction Cost has to be > 0\"" - }, - "value": "Initial Fraction Cost has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_99fb3d6d5521f009e95e2be7d1be74aa0d984027419778ce9e98e9863fc37a0c", - "typeString": "literal_string \"Initial Fraction Cost has to be > 0\"" - } - ], - "id": 1843, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3842:71:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1849, - "nodeType": "ExpressionStatement", - "src": "3842:71:5" - }, - { - "assignments": [ - 1851 - ], - "declarations": [ - { - "constant": false, - "id": 1851, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2021, - "src": "3993:20:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 1850, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "3993:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1855, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1852, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "4016:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 1854, - "indexExpression": { - "argumentTypes": null, - "id": 1853, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "4023:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4016:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3993:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1860, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1856, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4041:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1858, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1712, - "src": "4041:11:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1859, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "4055:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4041:24:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1861, - "nodeType": "ExpressionStatement", - "src": "4041:24:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1862, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4075:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1864, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1720, - "src": "4075:16:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1865, - "name": "_urlOracle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1804, - "src": "4094:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "4075:29:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1867, - "nodeType": "ExpressionStatement", - "src": "4075:29:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1868, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4114:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "4114:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4134:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4114:25:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1873, - "nodeType": "ExpressionStatement", - "src": "4114:25:5" - }, - { - "body": { - "id": 2000, - "nodeType": "Block", - "src": "4239:835:5", - "statements": [ - { - "assignments": [ - 1886 - ], - "declarations": [ - { - "constant": false, - "id": 1886, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2000, - "src": "4254:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 1885, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "4254:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1891, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1887, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4288:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1888, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "4288:19:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1890, - "indexExpression": { - "argumentTypes": null, - "id": 1889, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4308:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4288:29:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4254:63:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1892, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4332:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1894, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1703, - "src": "4332:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1895, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4355:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4332:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1897, - "nodeType": "ExpressionStatement", - "src": "4332:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1898, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4377:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1701, - "src": "4377:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1901, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4394:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1903, - "indexExpression": { - "argumentTypes": null, - "id": 1902, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4410:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4394:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4377:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1905, - "nodeType": "ExpressionStatement", - "src": "4377:35:5" - }, - { - "assignments": [ - 1907 - ], - "declarations": [ - { - "constant": false, - "id": 1907, - "name": "fraction", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2000, - "src": "4427:25:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - }, - "typeName": { - "contractScope": null, - "id": 1906, - "name": "Fraction", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1699, - "src": "4427:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1910, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1908, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1886, - "src": "4455:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 1909, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "4455:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4427:48:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1920, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1911, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4489:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1913, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "4489:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1917, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4519:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4519:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1914, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4505:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4505:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "4505:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4505:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4489:53:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1921, - "nodeType": "ExpressionStatement", - "src": "4489:53:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1926, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4556:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1924, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "4556:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1925, - "name": "initialFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1832, - "src": "4572:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4556:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1927, - "nodeType": "ExpressionStatement", - "src": "4556:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1928, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4605:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "4605:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4620:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4620:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 1933, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "4643:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4620:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4605:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1936, - "nodeType": "ExpressionStatement", - "src": "4605:50:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1937, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4669:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "4669:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1940, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4687:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4669:32:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1942, - "nodeType": "ExpressionStatement", - "src": "4669:32:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1943, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4715:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "4715:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1946, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4733:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4715:32:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1948, - "nodeType": "ExpressionStatement", - "src": "4715:32:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1949, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4761:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1951, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "4761:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1952, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "4778:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4761:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1954, - "nodeType": "ExpressionStatement", - "src": "4761:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1955, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4806:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1957, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "4806:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4825:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4806:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "4806:20:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1965, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4840:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "4840:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4858:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4840:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1966, - "nodeType": "ExpressionStatement", - "src": "4840:19:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1967, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4873:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1692, - "src": "4873:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1970, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4889:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4873:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1972, - "nodeType": "ExpressionStatement", - "src": "4873:17:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1973, - "name": "fraction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1907, - "src": "4904:8:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage_ptr", - "typeString": "struct Exchange.Fraction storage pointer" - } - }, - "id": 1975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "4904:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 1976, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4925:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4904:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1978, - "nodeType": "ExpressionStatement", - "src": "4904:22:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 1979, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4941:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1980, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4952:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4963:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4952:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4941:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "4941:23:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1851, - "src": "4978:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "4978:19:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "4998:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4978:29:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 1990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "4978:38:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 1991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "4978:53:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 1996, - "indexExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1994, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "5040:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - ], - "id": 1993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5032:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 1992, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5032:7:5", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 1995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4978:68:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1997, - "name": "fractionAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1826, - "src": "5049:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4978:85:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1999, - "nodeType": "ExpressionStatement", - "src": "4978:85:5" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1878, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4206:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1879, - "name": "_resultSpaceIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1802, - "src": "4210:15:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4210:22:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4206:26:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2001, - "initializationExpression": { - "assignments": [ - 1875 - ], - "declarations": [ - { - "constant": false, - "id": 1875, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2001, - "src": "4194:6:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1874, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4194:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4203:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4194:10:5" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 1883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4234:3:5", - "subExpression": { - "argumentTypes": null, - "id": 1882, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1875, - "src": "4234:1:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1884, - "nodeType": "ExpressionStatement", - "src": "4234:3:5" - }, - "nodeType": "ForStatement", - "src": "4189:885:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2005, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5098:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2002, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "5084:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5084:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5084:22:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2007, - "nodeType": "ExpressionStatement", - "src": "5084:22:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2009, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5133:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2010, - "name": "_eventName", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "5142:10:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2008, - "name": "CreateEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1729, - "src": "5121:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 2011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5121:32:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2012, - "nodeType": "EmitStatement", - "src": "5116:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2013, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5163:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2016, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2014, - "name": "eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1644, - "src": "5173:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2015, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5183:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "5173:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5163:21:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2018, - "nodeType": "ExpressionStatement", - "src": "5163:21:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5201:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1812, - "id": 2020, - "nodeType": "Return", - "src": "5194:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "54549f96", - "id": 2022, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1809, - "modifierName": { - "argumentTypes": null, - "id": 1808, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3517:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3517:9:5" - } - ], - "name": "createEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1807, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1802, - "name": "_resultSpaceIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3397:32:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1800, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3397:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1801, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3397:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1804, - "name": "_urlOracle", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3450:24:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1803, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3450:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1806, - "name": "_eventName", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3476:24:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1805, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3476:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3396:105:5" - }, - "returnParameters": { - "id": 1812, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1811, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2022, - "src": "3536:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1810, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3536:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3535:14:5" - }, - "scope": 4252, - "src": "3376:1836:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2413, - "nodeType": "Block", - "src": "5296:3013:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2031, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5326:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2030, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "5314:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5314:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2029, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5306:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5306:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2034, - "nodeType": "ExpressionStatement", - "src": "5306:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2036, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5354:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5354:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2038, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5366:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5354:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5369:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 2035, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2041, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5346:46:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2042, - "nodeType": "ExpressionStatement", - "src": "5346:46:5" - }, - { - "assignments": [ - 2044 - ], - "declarations": [ - { - "constant": false, - "id": 2044, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5403:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2043, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "5403:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2051, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2045, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "5441:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2047, - "indexExpression": { - "argumentTypes": null, - "id": 2046, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5448:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "5441:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2050, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2049, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5471:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5441:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5403:70:5" - }, - { - "assignments": [ - 2053 - ], - "declarations": [ - { - "constant": false, - "id": 2053, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5483:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2052, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "5483:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2060, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2054, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "5517:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2056, - "indexExpression": { - "argumentTypes": null, - "id": 2055, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "5524:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2057, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "5517:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2059, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 2058, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5547:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5517:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5483:66:5" - }, - { - "assignments": [ - 2062 - ], - "declarations": [ - { - "constant": false, - "id": 2062, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5560:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5560:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2064, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2063, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5577:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5560:18:5" - }, - { - "assignments": [ - 2066 - ], - "declarations": [ - { - "constant": false, - "id": 2066, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5588:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2065, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5588:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2068, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5588:18:5" - }, - { - "assignments": [ - 2070 - ], - "declarations": [ - { - "constant": false, - "id": 2070, - "name": "FA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5616:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2069, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5616:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2072, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5630:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5616:15:5" - }, - { - "assignments": [ - 2074 - ], - "declarations": [ - { - "constant": false, - "id": 2074, - "name": "FB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5641:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5641:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2076, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2075, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5655:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5641:15:5" - }, - { - "assignments": [ - 2078 - ], - "declarations": [ - { - "constant": false, - "id": 2078, - "name": "ratio", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "5666:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5666:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2080, - "initialValue": { - "argumentTypes": null, - "hexValue": "3530", - "id": 2079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5682:2:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_50_by_1", - "typeString": "int_const 50" - }, - "value": "50" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5666:18:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2081, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "5791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5855:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2089, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "5844:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2086, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5830:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5830:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "5830:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "5830:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5830:29:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2082, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "5800:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2083, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "5800:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "5800:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5800:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2094, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5800:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5791:69:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2096, - "nodeType": "ExpressionStatement", - "src": "5791:69:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2097, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "5892:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5960:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "ratio", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "5949:5:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2102, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5935:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5935:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "5935:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "5935:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5935:29:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "5901:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2099, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "5901:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "5901:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2101, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5901:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5901:64:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5892:73:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2112, - "nodeType": "ExpressionStatement", - "src": "5892:73:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2113, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "5994:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2122, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6046:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6046:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6046:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2116, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6012:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6012:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6012:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "6001:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6001:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:39:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2120, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6000:41:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6000:45:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6000:72:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5994:78:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2127, - "nodeType": "ExpressionStatement", - "src": "5994:78:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2128, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "6100:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2137, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6156:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6156:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2139, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6156:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2131, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6118:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6118:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2133, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6118:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2129, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "6107:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6107:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6107:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2135, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6106:45:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6106:49:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6106:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6100:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2142, - "nodeType": "ExpressionStatement", - "src": "6100:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2143, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6197:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2146, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6197:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6197:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2148, - "name": "poolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2062, - "src": "6225:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2150, - "nodeType": "ExpressionStatement", - "src": "6197:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2151, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6241:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2154, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6241:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2155, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "6241:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2156, - "name": "poolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "6273:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6241:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2158, - "nodeType": "ExpressionStatement", - "src": "6241:38:5" - }, - { - "assignments": [ - 2160 - ], - "declarations": [ - { - "constant": false, - "id": 2160, - "name": "fractionsToAddA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6290:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2159, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6290:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2167, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2163, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6324:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2164, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6324:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2165, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6324:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2161, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "6316:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "6316:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6316:36:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6290:62:5" - }, - { - "assignments": [ - 2169 - ], - "declarations": [ - { - "constant": false, - "id": 2169, - "name": "fractionsToAddB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6362:23:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6362:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2176, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2172, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6396:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6396:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2174, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "6396:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2170, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "6388:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2171, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "6388:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6388:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6362:66:5" - }, - { - "assignments": [ - 2178 - ], - "declarations": [ - { - "constant": false, - "id": 2178, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6439:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6439:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2185, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2183, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "6490:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2179, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6458:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2180, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6458:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2181, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6458:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2182, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6458:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6458:48:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6439:67:5" - }, - { - "assignments": [ - 2187 - ], - "declarations": [ - { - "constant": false, - "id": 2187, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6516:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6516:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2194, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2192, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "6571:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2188, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6535:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2189, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6535:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6535:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6535:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6535:52:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6516:71:5" - }, - { - "assignments": [ - 2196 - ], - "declarations": [ - { - "constant": false, - "id": 2196, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6598:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2198, - "initialValue": { - "argumentTypes": null, - "id": 2197, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "6615:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:32:5" - }, - { - "assignments": [ - 2200 - ], - "declarations": [ - { - "constant": false, - "id": 2200, - "name": "relIn2_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2413, - "src": "6640:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6640:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2202, - "initialValue": { - "argumentTypes": null, - "id": 2201, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "6661:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6640:36:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2203, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6690:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2204, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6690:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2205, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6690:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6719:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6690:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2223, - "nodeType": "IfStatement", - "src": "6687:141:5", - "trueBody": { - "id": 2222, - "nodeType": "Block", - "src": "6721:107:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2208, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "6735:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2216, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6789:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2217, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6789:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2218, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6789:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2211, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "6757:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6757:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6757:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2209, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "6744:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6744:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2214, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6744:44:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6744:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6735:82:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2221, - "nodeType": "ExpressionStatement", - "src": "6735:82:5" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2224, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6840:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6840:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6840:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6873:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6840:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2244, - "nodeType": "IfStatement", - "src": "6837:157:5", - "trueBody": { - "id": 2243, - "nodeType": "Block", - "src": "6875:119:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2229, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "6889:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2237, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6951:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2238, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6951:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "6951:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2232, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "6915:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "6915:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2234, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "6915:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2230, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2187, - "src": "6902:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "6902:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "6902:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6902:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6889:94:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2242, - "nodeType": "ExpressionStatement", - "src": "6889:94:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 2251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2245, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7031:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7031:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "7031:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2250, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2178, - "src": "7061:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7031:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2252, - "nodeType": "ExpressionStatement", - "src": "7031:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2253, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7098:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2256, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7098:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "7098:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2258, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2187, - "src": "7132:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7098:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2260, - "nodeType": "ExpressionStatement", - "src": "7098:42:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2283, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2261, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7172:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7172:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7172:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2268, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2264, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7208:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7208:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7172:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2278, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7285:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7285:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2280, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7285:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2276, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "7274:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2277, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "7274:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7274:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2269, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7222:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7222:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7222:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2274, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2272, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7258:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7258:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7222:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7222:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7222:91:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7172:141:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2284, - "nodeType": "ExpressionStatement", - "src": "7172:141:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2285, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7344:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2290, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7344:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7344:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2292, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2288, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7384:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7384:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7344:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7469:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7469:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2304, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7469:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2300, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "7454:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "7454:14:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7454:46:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2293, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7398:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7398:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2295, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "7398:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2298, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2296, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7438:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7438:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7398:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7398:103:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7344:157:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2308, - "nodeType": "ExpressionStatement", - "src": "7344:157:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2309, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7534:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7534:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2315, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7534:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2316, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2312, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7565:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7565:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7534:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2324, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "7626:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2317, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7579:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7579:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2319, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7579:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7610:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7610:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7579:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7579:46:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7579:63:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7534:108:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2327, - "nodeType": "ExpressionStatement", - "src": "7534:108:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2328, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7674:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7674:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7674:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2335, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7709:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7709:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7674:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2343, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "7774:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2336, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7723:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2337, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7723:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "7723:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2341, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2339, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7758:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7758:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7723:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7723:50:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7723:67:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7674:116:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "nodeType": "ExpressionStatement", - "src": "7674:116:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2347, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7821:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2350, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7821:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2351, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7821:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2352, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2196, - "src": "7850:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7821:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2354, - "nodeType": "ExpressionStatement", - "src": "7821:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2355, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7886:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2358, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7886:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2359, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "7886:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2360, - "name": "relIn2_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2200, - "src": "7919:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:43:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2362, - "nodeType": "ExpressionStatement", - "src": "7886:43:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2363, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "7940:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2366, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7940:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2367, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "7940:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2368, - "name": "FA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2070, - "src": "7970:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7940:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2370, - "nodeType": "ExpressionStatement", - "src": "7940:33:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2371, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "7983:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2374, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "7983:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2375, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "7983:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2376, - "name": "FB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "8017:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7983:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2378, - "nodeType": "ExpressionStatement", - "src": "7983:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2379, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8066:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2382, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8066:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2383, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8066:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2388, - "name": "fractionsToAddA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2160, - "src": "8134:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2384, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8099:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2385, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8099:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8099:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8099:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8099:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8066:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2391, - "nodeType": "ExpressionStatement", - "src": "8066:84:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2392, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2044, - "src": "8160:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8160:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8160:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2401, - "name": "fractionsToAddB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2169, - "src": "8232:15:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2397, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "8197:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2398, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8197:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "8197:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8197:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8160:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2404, - "nodeType": "ExpressionStatement", - "src": "8160:88:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2410, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2024, - "src": "8293:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2405, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "8267:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 2408, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2406, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8276:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8276:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8267:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8267:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8267:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2412, - "nodeType": "ExpressionStatement", - "src": "8267:35:5" - } - ] - }, - "documentation": null, - "functionSelector": "51c6590a", - "id": 2414, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "addLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2024, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2414, - "src": "5240:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5239:18:5" - }, - "returnParameters": { - "id": 2028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2027, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2414, - "src": "5282:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2026, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5282:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5281:14:5" - }, - "scope": 4252, - "src": "5218:3091:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2830, - "nodeType": "Block", - "src": "8388:3316:5", - "statements": [ - { - "assignments": [ - 2422 - ], - "declarations": [ - { - "constant": false, - "id": 2422, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8399:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2421, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "8399:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2429, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2423, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8437:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2425, - "indexExpression": { - "argumentTypes": null, - "id": 2424, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "8444:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "8437:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2428, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2427, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8467:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8437:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8399:70:5" - }, - { - "assignments": [ - 2431 - ], - "declarations": [ - { - "constant": false, - "id": 2431, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8479:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2430, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "8479:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2438, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "8513:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "8520:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2435, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "8513:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8543:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8513:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8479:66:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2447, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2440, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8572:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8572:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8572:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2445, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2443, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8603:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8603:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8572:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8617:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8572:46:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8620:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - }, - "value": "Liquidity has to bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - } - ], - "id": 2439, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8564:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8564:89:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2450, - "nodeType": "ExpressionStatement", - "src": "8564:89:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2452, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "8671:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8671:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8671:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2457, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2455, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8706:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8706:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8671:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8720:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8671:50:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4c69717569646974792068617320746f20626967676572207468616e2030", - "id": 2460, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8723:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - }, - "value": "Liquidity has to bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_884107009ba6df653b0272b122897e8cf115159701338e3f44819dee8e6eef88", - "typeString": "literal_string \"Liquidity has to bigger than 0\"" - } - ], - "id": 2451, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8663:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8663:93:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2462, - "nodeType": "ExpressionStatement", - "src": "8663:93:5" - }, - { - "assignments": [ - 2464 - ], - "declarations": [ - { - "constant": false, - "id": 2464, - "name": "poolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8767:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2463, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8767:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2466, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2465, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8784:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8767:18:5" - }, - { - "assignments": [ - 2468 - ], - "declarations": [ - { - "constant": false, - "id": 2468, - "name": "poolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8795:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8795:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2470, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8812:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "8795:18:5" - }, - { - "assignments": [ - 2472 - ], - "declarations": [ - { - "constant": false, - "id": 2472, - "name": "liqPoolAfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8824:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2471, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8824:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2489, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2485, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8929:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2486, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8929:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "8929:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2480, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8898:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2481, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8898:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "8898:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2473, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "8851:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2474, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8851:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8851:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2478, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2476, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8882:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8882:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8851:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8851:46:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8851:77:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2488, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8851:106:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8824:133:5" - }, - { - "assignments": [ - 2491 - ], - "declarations": [ - { - "constant": false, - "id": 2491, - "name": "liqPoolBfromUser", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "8967:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8967:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2508, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2504, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9080:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2505, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9080:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9080:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2499, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9045:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2500, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9045:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9045:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2492, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "8994:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "8994:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2494, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "8994:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9029:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9029:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8994:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8994:50:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8994:85:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8994:118:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8967:145:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9153:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2512, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9153:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9153:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2518, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2472, - "src": "9211:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2514, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9181:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2515, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9181:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9181:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9181:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9181:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9153:75:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "9153:75:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2522, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9260:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9260:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9260:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2531, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2491, - "src": "9326:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2527, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9292:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9292:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2529, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "9292:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9292:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9292:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9260:83:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2534, - "nodeType": "ExpressionStatement", - "src": "9260:83:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2535, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9372:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9372:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9372:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2544, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9434:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2545, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9434:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2546, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9434:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2549, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2547, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9465:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9465:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9434:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2540, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9402:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2541, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9402:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9402:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9402:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9402:75:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9372:105:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2552, - "nodeType": "ExpressionStatement", - "src": "9372:105:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2553, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9505:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9505:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9505:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2562, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9575:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9575:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2564, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9575:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2567, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2565, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9610:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9610:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9575:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2558, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9539:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9539:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2560, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "9539:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9539:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9539:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9505:117:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2570, - "nodeType": "ExpressionStatement", - "src": "9505:117:5" - }, - { - "assignments": [ - 2572 - ], - "declarations": [ - { - "constant": false, - "id": 2572, - "name": "inPoolA2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9652:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2571, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9652:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2584, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2577, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9703:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9703:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9703:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2582, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2580, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9734:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9734:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9703:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2573, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9671:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2574, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9671:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2575, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9671:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9671:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9671:75:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9652:94:5" - }, - { - "assignments": [ - 2586 - ], - "declarations": [ - { - "constant": false, - "id": 2586, - "name": "inPoolB2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9775:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2585, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9775:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2598, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2591, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9830:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9830:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2593, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "9830:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2596, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2594, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "9865:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "9865:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9830:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2587, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "9794:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9794:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9794:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "9794:35:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9794:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9775:102:5" - }, - { - "assignments": [ - 2600 - ], - "declarations": [ - { - "constant": false, - "id": 2600, - "name": "relAIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "9908:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2599, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9908:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2612, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2608, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9970:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9970:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2610, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "9970:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2605, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "9956:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2601, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "9925:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2602, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "9925:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "9925:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9925:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9925:44:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9925:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9908:90:5" - }, - { - "assignments": [ - 2614 - ], - "declarations": [ - { - "constant": false, - "id": 2614, - "name": "relBIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10028:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10028:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2622, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10094:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10094:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10094:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2619, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10080:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2615, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10045:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10045:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2617, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10045:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10045:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10045:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10045:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10028:98:5" - }, - { - "assignments": [ - 2628 - ], - "declarations": [ - { - "constant": false, - "id": 2628, - "name": "initialFractionsA", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10176:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10176:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2645, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2641, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10289:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10289:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10289:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2636, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10256:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2637, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10256:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10256:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2629, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10204:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10204:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10204:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2634, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2632, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10240:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10240:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10204:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10204:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10204:84:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10204:112:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10176:140:5" - }, - { - "assignments": [ - 2647 - ], - "declarations": [ - { - "constant": false, - "id": 2647, - "name": "initialFractionsB", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "10326:25:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10326:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2664, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2660, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10447:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10447:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10447:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2655, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10410:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2656, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10410:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2657, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10410:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2648, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10354:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2649, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10354:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2650, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10354:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10394:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10394:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10354:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10354:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:88:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10354:92:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10354:124:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "10326:152:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2665, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10510:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10510:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10510:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2672, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2668, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10546:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10546:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10510:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2686, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "10642:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2677, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10593:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10593:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "10593:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2682, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2680, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10624:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10624:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10593:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2675, - "name": "initialFractionsA", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2628, - "src": "10571:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "10571:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10571:65:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2673, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2600, - "src": "10560:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10560:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10560:81:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10560:91:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10510:141:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2689, - "nodeType": "ExpressionStatement", - "src": "10510:141:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2690, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10682:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10682:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2696, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "10682:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2697, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2693, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10722:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10722:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10682:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10822:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2702, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10769:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10769:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "10769:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10769:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2700, - "name": "initialFractionsB", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2647, - "src": "10747:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "10747:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10747:69:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2698, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "10736:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "10736:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:81:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "10736:85:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10736:95:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10682:149:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "10682:149:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2715, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10842:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10842:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10842:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2720, - "name": "inPoolA2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2572, - "src": "10872:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10842:38:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2722, - "nodeType": "ExpressionStatement", - "src": "10842:38:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2723, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10890:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10890:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "10890:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2728, - "name": "inPoolB2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2586, - "src": "10924:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10890:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2730, - "nodeType": "ExpressionStatement", - "src": "10890:42:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2731, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "10943:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2734, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10943:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2735, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10943:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2736, - "name": "relAIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2600, - "src": "10972:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10943:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2738, - "nodeType": "ExpressionStatement", - "src": "10943:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2739, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "10988:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "10988:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "10988:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2744, - "name": "relBIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2614, - "src": "11021:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10988:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2746, - "nodeType": "ExpressionStatement", - "src": "10988:39:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2747, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11076:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2750, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11076:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2751, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11076:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2756, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11144:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11144:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11144:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2761, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11175:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11175:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11144:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2752, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11109:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2753, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11109:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11109:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11109:34:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11109:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11076:111:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2764, - "nodeType": "ExpressionStatement", - "src": "11076:111:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2765, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11197:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2768, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11197:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11197:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2774, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11273:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11273:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11273:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2779, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11308:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11308:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11273:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2770, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11234:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2771, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11234:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "11234:34:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11234:38:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11234:86:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11197:123:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2782, - "nodeType": "ExpressionStatement", - "src": "11197:123:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2783, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11353:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11353:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2789, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11353:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2790, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11384:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11384:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11353:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2791, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11398:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11353:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2793, - "nodeType": "ExpressionStatement", - "src": "11353:46:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2794, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11431:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11431:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2800, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "11431:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2801, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2797, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11466:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11466:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "11431:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "30", - "id": 2802, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11480:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11431:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2804, - "nodeType": "ExpressionStatement", - "src": "11431:50:5" - }, - { - "assignments": [ - 2806 - ], - "declarations": [ - { - "constant": false, - "id": 2806, - "name": "totalLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2830, - "src": "11492:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11492:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2821, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2816, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2422, - "src": "11590:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11590:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "11590:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2814, - "name": "liqPoolBfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2491, - "src": "11569:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "11569:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11569:51:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2809, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2431, - "src": "11538:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2810, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "11538:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "11538:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2807, - "name": "liqPoolAfromUser", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2472, - "src": "11517:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "11517:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11517:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11517:104:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11492:129:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2827, - "name": "totalLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "11682:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2822, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11662:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 2826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11662:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 2828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11662:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2829, - "nodeType": "ExpressionStatement", - "src": "11662:35:5" - } - ] - }, - "documentation": null, - "functionSelector": "9c8f9f23", - "id": 2831, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "removeLiquidity", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2416, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2831, - "src": "8340:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8340:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8339:18:5" - }, - "returnParameters": { - "id": 2420, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2419, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2831, - "src": "8374:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2418, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8374:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8373:14:5" - }, - "scope": 4252, - "src": "8315:3389:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3083, - "nodeType": "Block", - "src": "11829:2008:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2844, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "11859:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2843, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "11847:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11847:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2842, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11839:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11839:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2847, - "nodeType": "ExpressionStatement", - "src": "11839:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2849, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "11887:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2850, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11906:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11887:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 2852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11909:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 2848, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11879:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11879:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2854, - "nodeType": "ExpressionStatement", - "src": "11879:53:5" - }, - { - "assignments": [ - 2856 - ], - "declarations": [ - { - "constant": false, - "id": 2856, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "11943:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2855, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11943:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2858, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 2857, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11968:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "11943:26:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2859, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "11982:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12000:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "11982:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2867, - "nodeType": "IfStatement", - "src": "11979:44:5", - "trueBody": { - "id": 2866, - "nodeType": "Block", - "src": "12002:21:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2862, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "12003:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 2863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12020:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "12003:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2865, - "nodeType": "ExpressionStatement", - "src": "12003:18:5" - } - ] - } - }, - { - "assignments": [ - 2869 - ], - "declarations": [ - { - "constant": false, - "id": 2869, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12033:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2868, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "12033:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2876, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2870, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "12071:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2872, - "indexExpression": { - "argumentTypes": null, - "id": 2871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12078:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "12071:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2875, - "indexExpression": { - "argumentTypes": null, - "id": 2874, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2856, - "src": "12101:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12071:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12033:83:5" - }, - { - "assignments": [ - 2878 - ], - "declarations": [ - { - "constant": false, - "id": 2878, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12126:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 2877, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "12126:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2885, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2879, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "12160:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 2881, - "indexExpression": { - "argumentTypes": null, - "id": 2880, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12167:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 2882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "12160:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 2884, - "indexExpression": { - "argumentTypes": null, - "id": 2883, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12190:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12160:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12126:79:5" - }, - { - "assignments": [ - 2887 - ], - "declarations": [ - { - "constant": false, - "id": 2887, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12216:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2886, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12216:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2893, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2889, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12256:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2890, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12266:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2891, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "12282:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2888, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "12239:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12239:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12216:83:5" - }, - { - "assignments": [ - 2895 - ], - "declarations": [ - { - "constant": false, - "id": 2895, - "name": "previousFractionCost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12309:28:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12309:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2899, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2896, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12340:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2897, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12340:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2898, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "12340:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12309:56:5" - }, - { - "assignments": [ - 2901 - ], - "declarations": [ - { - "constant": false, - "id": 2901, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "12376:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2900, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12376:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2907, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2903, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "12410:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2904, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "12420:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2905, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "12436:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2902, - "name": "getSlipageOnBuy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3459, - "src": "12394:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 2906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12394:59:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12376:77:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2909, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2901, - "src": "12471:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12481:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "12471:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 2912, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12484:31:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - }, - "value": "Slipage has to be less than 3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - } - ], - "id": 2908, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12463:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2913, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12463:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2914, - "nodeType": "ExpressionStatement", - "src": "12463:53:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2916, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12535:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12535:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 2918, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2887, - "src": "12548:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12535:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54782076616c75652068617320746f20626520657175616c20746f2070617961626c652073656e74", - "id": 2920, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12561:42:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c878d244025523fdb3dab62a298eee7f7fa4d2ca59955f4e6558a2c974b690ee", - "typeString": "literal_string \"Tx value has to be equal to payable sent\"" - }, - "value": "Tx value has to be equal to payable sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c878d244025523fdb3dab62a298eee7f7fa4d2ca59955f4e6558a2c974b690ee", - "typeString": "literal_string \"Tx value has to be equal to payable sent\"" - } - ], - "id": 2915, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12527:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12527:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2922, - "nodeType": "ExpressionStatement", - "src": "12527:77:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2923, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12638:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2926, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12638:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12638:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2932, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2887, - "src": "12696:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2928, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12666:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2929, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12666:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12666:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2931, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "12666:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2933, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12666:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12638:70:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2935, - "nodeType": "ExpressionStatement", - "src": "12638:70:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2936, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12739:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12739:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "12739:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2943, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2941, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12766:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2942, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12768:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2951, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12836:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12836:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12836:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2948, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12818:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2944, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12784:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12784:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12784:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "12784:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "12784:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12784:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2955, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12783:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12766:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12739:124:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2958, - "nodeType": "ExpressionStatement", - "src": "12739:124:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2980, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2959, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12894:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12894:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2963, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "12894:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 2964, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12925:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 2965, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12927:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2974, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "12991:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2975, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12991:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2976, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12991:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2971, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "12973:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2967, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "12943:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2968, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "12943:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "12943:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "12943:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "12943:47:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12943:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 2978, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "12942:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12925:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12894:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2981, - "nodeType": "ExpressionStatement", - "src": "12894:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 2995, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2982, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13052:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2985, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13052:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "13052:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2991, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13110:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2992, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13110:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2993, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "13110:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2987, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13080:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 2988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13080:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 2989, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "13080:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13080:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13080:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13052:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2996, - "nodeType": "ExpressionStatement", - "src": "13052:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2997, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13168:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3000, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13168:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "13168:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3006, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13234:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13234:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "13234:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3002, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2869, - "src": "13200:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3003, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13200:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "13200:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13200:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13200:66:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13168:98:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3011, - "nodeType": "ExpressionStatement", - "src": "13168:98:5" - }, - { - "assignments": [ - 3013 - ], - "declarations": [ - { - "constant": false, - "id": 3013, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3083, - "src": "13297:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3012, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13297:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3015, - "initialValue": { - "argumentTypes": null, - "id": 3014, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "13314:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13297:33:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13343:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3017, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13343:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13343:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13372:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "13343:30:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3039, - "nodeType": "IfStatement", - "src": "13340:158:5", - "trueBody": { - "id": 3038, - "nodeType": "Block", - "src": "13374:124:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3021, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13388:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13428:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13458:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3030, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13458:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13458:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3027, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "13433:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3028, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13433:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13433:52:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3033, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13432:54:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13428:58:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3022, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13397:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3023, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13397:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13397:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "13397:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13397:90:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13388:99:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "13388:99:5" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3040, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13530:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13530:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3046, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "13530:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3047, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3043, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13566:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13566:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13530:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3050, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13591:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3051, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13591:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13591:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3048, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13580:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "13580:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13580:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13530:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3055, - "nodeType": "ExpressionStatement", - "src": "13530:88:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3056, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2878, - "src": "13628:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3059, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "13628:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "13628:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3061, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3013, - "src": "13657:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13628:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "13628:35:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3069, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "13699:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3064, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "13673:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3067, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3065, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13682:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13682:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13673:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13673:25:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13673:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3071, - "nodeType": "ExpressionStatement", - "src": "13673:35:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3073, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2833, - "src": "13732:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3074, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2835, - "src": "13742:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3075, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2837, - "src": "13758:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3076, - "name": "previousFractionCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2895, - "src": "13776:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3077, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13798:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3078, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13798:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "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_payable", - "typeString": "address payable" - } - ], - "id": 3072, - "name": "BuyEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1741, - "src": "13723:8: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": 3079, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13723:86:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3080, - "nodeType": "EmitStatement", - "src": "13718:91:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13826:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2841, - "id": 3082, - "nodeType": "Return", - "src": "13819:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "40993b26", - "id": 3084, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2833, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11723:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11723:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11741:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2834, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11741:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2837, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11765:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11765:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11722:68:5" - }, - "returnParameters": { - "id": 2841, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2840, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3084, - "src": "11815:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2839, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "11815:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11814:14:5" - }, - "scope": 4252, - "src": "11710:2127:5", - "stateMutability": "payable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3354, - "nodeType": "Block", - "src": "13955:2248:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3097, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "13985:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3096, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "13973:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13973:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13965:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13965:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3100, - "nodeType": "ExpressionStatement", - "src": "13965:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3102, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14013:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3103, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14032:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14013:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14035:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3101, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14005:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14005:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3107, - "nodeType": "ExpressionStatement", - "src": "14005:53:5" - }, - { - "assignments": [ - 3109 - ], - "declarations": [ - { - "constant": false, - "id": 3109, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14077:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3108, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "14077:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3116, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3110, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "14111:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3112, - "indexExpression": { - "argumentTypes": null, - "id": 3111, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14118:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "14111:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3115, - "indexExpression": { - "argumentTypes": null, - "id": 3114, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14141:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14111:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14077:79:5" - }, - { - "assignments": [ - 3118 - ], - "declarations": [ - { - "constant": false, - "id": 3118, - "name": "_oppResSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14166:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14166:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3120, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14191:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "14166:26:5" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3121, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14205:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14223:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "14205:19:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3129, - "nodeType": "IfStatement", - "src": "14202:44:5", - "trueBody": { - "id": 3128, - "nodeType": "Block", - "src": "14225:21:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3126, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3124, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "14226:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "32", - "id": 3125, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14243:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "src": "14226:18:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3127, - "nodeType": "ExpressionStatement", - "src": "14226:18:5" - } - ] - } - }, - { - "assignments": [ - 3131 - ], - "declarations": [ - { - "constant": false, - "id": 3131, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14255:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3130, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "14255:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3138, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3132, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "14293:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3134, - "indexExpression": { - "argumentTypes": null, - "id": 3133, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14300:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "14293:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3136, - "name": "_oppResSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3118, - "src": "14323:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14293:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14255:83:5" - }, - { - "assignments": [ - 3140 - ], - "declarations": [ - { - "constant": false, - "id": 3140, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14349:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14349:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3153, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3149, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14439:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14439:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "14439:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3143, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14405:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14405:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "14405:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3141, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14384:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "14384:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14384:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3147, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14383:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "14383:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3152, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14383:85:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14349:119:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3155, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14486:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14486:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3157, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14486:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3160, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14523:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14523:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14486:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3161, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "14537:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14486:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f204c6971756964617465", - "id": 3163, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14562:25:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5dbbd47fb3942243a4d036954effefadb4a36bfb63cfe9d2723aea3639fdbd97", - "typeString": "literal_string \"No Balance to Liquidate\"" - }, - "value": "No Balance to Liquidate" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5dbbd47fb3942243a4d036954effefadb4a36bfb63cfe9d2723aea3639fdbd97", - "typeString": "literal_string \"No Balance to Liquidate\"" - } - ], - "id": 3154, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14478:110:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3165, - "nodeType": "ExpressionStatement", - "src": "14478:110:5" - }, - { - "assignments": [ - 3167 - ], - "declarations": [ - { - "constant": false, - "id": 3167, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14599:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14599:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3173, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3169, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "14634:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3170, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3088, - "src": "14644:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3171, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14660:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3168, - "name": "getSlipageOnSell", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3407, - "src": "14617:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14617:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14599:78:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3175, - "name": "slipage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3167, - "src": "14695:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3176, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14705:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "14695:11:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536c69706167652068617320746f206265206c657373207468616e2033", - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14708:31:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - }, - "value": "Slipage has to be less than 3" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a8bc726b30ce8dd7816c4a481d89195bd18c8b4deefb5f0af05168968bbc01b5", - "typeString": "literal_string \"Slipage has to be less than 3\"" - } - ], - "id": 3174, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14687:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14687:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3180, - "nodeType": "ExpressionStatement", - "src": "14687:53:5" - }, - { - "assignments": [ - 3182 - ], - "declarations": [ - { - "constant": false, - "id": 3182, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3354, - "src": "14751:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14751:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3189, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3185, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14794:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3186, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14794:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "14794:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3183, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "14773:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "14773:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14773:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14751:69:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3190, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14855:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14855:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14855:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3197, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3193, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14892:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14892:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "14855:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3205, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "14959:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3198, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "14906:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "14906:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3200, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "14906:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3203, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3201, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "14943:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "14943:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14906:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "14906:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14906:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14855:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3208, - "nodeType": "ExpressionStatement", - "src": "14855:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3209, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15014:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15014:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "15014:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3218, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "15078:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3214, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15045:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15045:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3216, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "15045:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15045:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3219, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15045:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15014:81:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3221, - "nodeType": "ExpressionStatement", - "src": "15014:81:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3222, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15127:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3225, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15127:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3226, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "15127:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3231, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "15189:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3227, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15157:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3228, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15157:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3229, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "15157:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3230, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15157:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:56:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15127:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3234, - "nodeType": "ExpressionStatement", - "src": "15127:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3235, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15243:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15243:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3239, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "15243:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3244, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3090, - "src": "15305:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3240, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15273:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3241, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15273:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "15273:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15273:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15273:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15243:79:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3247, - "nodeType": "ExpressionStatement", - "src": "15243:79:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3259, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3248, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15354:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15354:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3252, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15354:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3257, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "15412:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3253, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15382:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15382:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15382:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15382:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3258, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15382:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15354:70:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3260, - "nodeType": "ExpressionStatement", - "src": "15354:70:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3261, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15455:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3264, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15455:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3265, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "15455:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3281, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3266, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15482:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3267, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15484:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3276, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15552:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15552:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3278, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15552:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3273, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15534:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3269, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15500:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3270, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15500:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3271, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15500:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "15500:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15500:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15500:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3280, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15499:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15482:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15455:124:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3283, - "nodeType": "ExpressionStatement", - "src": "15455:124:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3305, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3284, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15610:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15610:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3288, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "15610:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3291, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15641:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3290, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15643:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3299, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15707:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3300, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15707:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15707:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3296, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "15689:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3292, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15659:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3293, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15659:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15659:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "15659:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15659:47:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15659:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3303, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15658:80:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15641:97:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15610:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3306, - "nodeType": "ExpressionStatement", - "src": "15610:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15768:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15768:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "15768:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3316, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15826:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3317, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15826:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3318, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "15826:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3312, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3109, - "src": "15796:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3313, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15796:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3314, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15796:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15796:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15796:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15768:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3321, - "nodeType": "ExpressionStatement", - "src": "15768:86:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3322, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15884:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3325, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15884:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "15884:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3331, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15950:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15950:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "15950:31:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3327, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3131, - "src": "15916:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "15916:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3329, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "15916:29:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "15916:33:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15916:66:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15884:98:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3336, - "nodeType": "ExpressionStatement", - "src": "15884:98:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3342, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "16074:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3337, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16054:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 3341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16054:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16054:32:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3344, - "nodeType": "ExpressionStatement", - "src": "16054:32:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3346, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3086, - "src": "16141:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3347, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3182, - "src": "16151:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3348, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "16164:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "16164:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3345, - "name": "SellEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1763, - "src": "16131:9:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16131:44:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3351, - "nodeType": "EmitStatement", - "src": "16126:49:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3352, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16192:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3094, - "id": 3353, - "nodeType": "Return", - "src": "16185:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "d3c9727c", - "id": 3355, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3091, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3086, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13857:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13857:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3088, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13875:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13875:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3090, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13899:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13899:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13856:68:5" - }, - "returnParameters": { - "id": 3094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3093, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3355, - "src": "13941:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3092, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "13941:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "13940:14:5" - }, - "scope": 4252, - "src": "13843:2360:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3406, - "nodeType": "Block", - "src": "16341:344:5", - "statements": [ - { - "assignments": [ - 3367 - ], - "declarations": [ - { - "constant": false, - "id": 3367, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16351:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3366, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "16351:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3374, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3368, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "16384:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3370, - "indexExpression": { - "argumentTypes": null, - "id": 3369, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3357, - "src": "16391:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3371, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "16384:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3373, - "indexExpression": { - "argumentTypes": null, - "id": 3372, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16414:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16384:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16351:78:5" - }, - { - "assignments": [ - 3376 - ], - "declarations": [ - { - "constant": false, - "id": 3376, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16439:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16439:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3382, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3378, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3357, - "src": "16478:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3379, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3359, - "src": "16488:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3380, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3361, - "src": "16504:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3377, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "16461:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16461:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16439:82:5" - }, - { - "assignments": [ - 3384 - ], - "declarations": [ - { - "constant": false, - "id": 3384, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3406, - "src": "16531:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3397, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3393, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3367, - "src": "16599:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3394, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "16599:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "16599:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3389, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "16581:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3385, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3367, - "src": "16551:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3386, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "16551:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "16551:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "16551:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16551:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3391, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16550:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3392, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "16550:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16550:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16531:96:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3403, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3376, - "src": "16666:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16657:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "id": 3398, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "16644:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "16644:12:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:17:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "16644:21:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16644:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3365, - "id": 3405, - "nodeType": "Return", - "src": "16637:41:5" - } - ] - }, - "documentation": null, - "functionSelector": "e13a7d11", - "id": 3407, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnSell", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3357, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16235:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3356, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3359, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16253:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16253:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3361, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16277:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16234:68:5" - }, - "returnParameters": { - "id": 3365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3364, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3407, - "src": "16324:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3363, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16324:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16323:17:5" - }, - "scope": 4252, - "src": "16209:476:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3458, - "nodeType": "Block", - "src": "16822:344:5", - "statements": [ - { - "assignments": [ - 3419 - ], - "declarations": [ - { - "constant": false, - "id": 3419, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "16832:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3418, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "16832:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3426, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3420, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "16865:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3422, - "indexExpression": { - "argumentTypes": null, - "id": 3421, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "16872:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3423, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "16865:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3425, - "indexExpression": { - "argumentTypes": null, - "id": 3424, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "16895:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16865:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16832:78:5" - }, - { - "assignments": [ - 3428 - ], - "declarations": [ - { - "constant": false, - "id": 3428, - "name": "marketValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "16920:19:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3427, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16920:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3434, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3430, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3409, - "src": "16959:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3431, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3411, - "src": "16969:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3432, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3413, - "src": "16985:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3429, - "name": "getFractionsCost", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3487, - "src": "16942:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256) view returns (uint256)" - } - }, - "id": 3433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16942:60:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16920:82:5" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "newValue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3458, - "src": "17012:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3435, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17012:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3449, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3445, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3419, - "src": "17080:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17080:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3447, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "17080:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3441, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3428, - "src": "17062:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3437, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3419, - "src": "17032:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17032:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3439, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "17032:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "17032:29:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17032:42:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3443, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17031:44:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17031:48:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17031:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17012:96:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3455, - "name": "newValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "17150:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 3452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17141:3:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - } - ], - "expression": { - "argumentTypes": null, - "id": 3450, - "name": "marketValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3428, - "src": "17125:11:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17125:15:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17125:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17125:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3417, - "id": 3457, - "nodeType": "Return", - "src": "17118:41:5" - } - ] - }, - "documentation": null, - "functionSelector": "a8c776a1", - "id": 3459, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSlipageOnBuy", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3414, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3409, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16716:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3408, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16716:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3411, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16734:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3410, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16734:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3413, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16758:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3412, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16758:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16715:68:5" - }, - "returnParameters": { - "id": 3417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3416, - "name": "slipage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3459, - "src": "16805:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16805:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16804:17:5" - }, - "scope": 4252, - "src": "16691:475:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3486, - "nodeType": "Block", - "src": "17296:159:5", - "statements": [ - { - "assignments": [ - 3471 - ], - "declarations": [ - { - "constant": false, - "id": 3471, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3486, - "src": "17306:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3470, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "17306:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3478, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3472, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "17339:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3474, - "indexExpression": { - "argumentTypes": null, - "id": 3473, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3461, - "src": "17346:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "17339:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3477, - "indexExpression": { - "argumentTypes": null, - "id": 3476, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3463, - "src": "17369:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17339:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17306:78:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3481, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3471, - "src": "17422:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 3482, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17422:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 3483, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "17422:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3479, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3465, - "src": "17401:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17401:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3484, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17401:47:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3469, - "id": 3485, - "nodeType": "Return", - "src": "17394:54:5" - } - ] - }, - "documentation": null, - "functionSelector": "bf3edf7e", - "id": 3487, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getFractionsCost", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3466, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3461, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17198:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17198:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3463, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17216:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3462, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17216:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3465, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17240:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3464, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17240:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17197:68:5" - }, - "returnParameters": { - "id": 3469, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3468, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3487, - "src": "17287:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3467, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17287:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17286:9:5" - }, - "scope": 4252, - "src": "17172:283:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3676, - "nodeType": "Block", - "src": "17582:1624:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3500, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3489, - "src": "17612:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3499, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "17600:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17600:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3498, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17592:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17592:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3503, - "nodeType": "ExpressionStatement", - "src": "17592:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3507, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3505, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "17640:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17659:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "17640:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3508, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17662:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3504, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17632:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17632:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3510, - "nodeType": "ExpressionStatement", - "src": "17632:53:5" - }, - { - "assignments": [ - 3512 - ], - "declarations": [ - { - "constant": false, - "id": 3512, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "17696:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3511, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "17696:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3519, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3513, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "17730:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3515, - "indexExpression": { - "argumentTypes": null, - "id": 3514, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3489, - "src": "17737:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3516, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "17730:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3518, - "indexExpression": { - "argumentTypes": null, - "id": 3517, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3491, - "src": "17760:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17730:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17696:79:5" - }, - { - "assignments": [ - 3521 - ], - "declarations": [ - { - "constant": false, - "id": 3521, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "17811:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3520, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17811:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3534, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3530, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17900:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17900:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "17900:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3524, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17867:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17867:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "17867:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3522, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "17846:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "17846:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17846:48:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3528, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "17845:50:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "17845:54:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17845:83:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "17811:117:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3536, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "17946:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "17946:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3538, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "17946:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3541, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3539, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "17982:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "17982:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "17946:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3542, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "17996:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17946:73:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18021:30:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - }, - "value": "No Balance to Pull Fractions" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - } - ], - "id": 3535, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17938:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17938:114:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3546, - "nodeType": "ExpressionStatement", - "src": "17938:114:5" - }, - { - "assignments": [ - 3548 - ], - "declarations": [ - { - "constant": false, - "id": 3548, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18063:35:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3547, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18063:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3565, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3561, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18185:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3562, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18185:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18185:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3553, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18132:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18132:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3555, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18132:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3558, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3556, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18168:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18168:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18132:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3549, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18101:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3550, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18101:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18101:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "18101:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:79:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "18101:83:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18101:112:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18063:150:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3567, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18231:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3568, - "name": "fractionsOutsideOfLiquidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3548, - "src": "18250:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18231:46:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66204672616374696f6e73206f757473696465206f66206c6971756964697479206861766520746f20626520626967676572207468616e2070726f706f736564", - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18279:74:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_93ba46180ea4565c98ccdd11dbd42df20736ede4d639d2e0a0d9cad929a38102", - "typeString": "literal_string \"Amount of Fractions outside of liquidity have to be bigger than proposed\"" - }, - "value": "Amount of Fractions outside of liquidity have to be bigger than proposed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_93ba46180ea4565c98ccdd11dbd42df20736ede4d639d2e0a0d9cad929a38102", - "typeString": "literal_string \"Amount of Fractions outside of liquidity have to be bigger than proposed\"" - } - ], - "id": 3566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18223:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18223:131:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3572, - "nodeType": "ExpressionStatement", - "src": "18223:131:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3573, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18389:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3578, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18389:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3579, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18389:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3580, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3576, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18425:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18425:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18389:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3588, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "18491:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3581, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18439:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3582, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18439:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3583, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "18439:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3586, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3584, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18475:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18475:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "18439:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18439:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18439:76:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18389:126:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3591, - "nodeType": "ExpressionStatement", - "src": "18389:126:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3592, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18545:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3595, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18545:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3596, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18545:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3601, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18607:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3597, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18575:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3598, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18575:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "18575:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18575:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18575:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18545:79:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3604, - "nodeType": "ExpressionStatement", - "src": "18545:79:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3605, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18655:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18655:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3609, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18655:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3614, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "18715:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3610, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18684:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18684:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3612, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "18684:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3613, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "18684:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18684:55:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18655:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3617, - "nodeType": "ExpressionStatement", - "src": "18655:84:5" - }, - { - "assignments": [ - 3619 - ], - "declarations": [ - { - "constant": false, - "id": 3619, - "name": "out2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18750:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3618, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18750:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3624, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "18798:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3620, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18765:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3621, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18765:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3622, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "18765:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "18765:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18765:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18750:65:5" - }, - { - "assignments": [ - 3628 - ], - "declarations": [ - { - "constant": false, - "id": 3628, - "name": "relOut2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3676, - "src": "18825:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3627, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18825:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3641, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3637, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18887:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18887:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3639, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "18887:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3633, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3619, - "src": "18876:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3629, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18844:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18844:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3631, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "18844:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "18844:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18844:37:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3635, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "18843:39:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "18843:43:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18843:73:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "18825:91:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3642, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "18951:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3647, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "18951:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3648, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "18951:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3649, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3645, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "18988:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "18988:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "18951:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3652, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19014:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3653, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19014:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19014:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3650, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3628, - "src": "19002:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3651, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "19002:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19002:40:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18951:91:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3657, - "nodeType": "ExpressionStatement", - "src": "18951:91:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3658, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19074:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3661, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19074:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19074:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3663, - "name": "relOut2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3628, - "src": "19104:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19074:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3665, - "nodeType": "ExpressionStatement", - "src": "19074:37:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3672, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3666, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3512, - "src": "19142:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19142:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19142:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3671, - "name": "out2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3619, - "src": "19173:4:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19142:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3673, - "nodeType": "ExpressionStatement", - "src": "19142:35:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19195:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3497, - "id": 3675, - "nodeType": "Return", - "src": "19188:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "cccbcc7c", - "id": 3677, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pullFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3494, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3489, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17484:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3488, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17484:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3491, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17502:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3490, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17502:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3493, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17526:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17526:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17483:68:5" - }, - "returnParameters": { - "id": 3497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3496, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3677, - "src": "17568:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3495, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "17568:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17567:14:5" - }, - "scope": 4252, - "src": "17461:1745:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3840, - "nodeType": "Block", - "src": "19333:1312:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3690, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "19363:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3689, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "19351:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19351:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3688, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19343:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19343:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3693, - "nodeType": "ExpressionStatement", - "src": "19343:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3695, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "19391:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3696, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19410:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "19391:20:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e742068617320746f206265203e2030", - "id": 3698, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19413:22:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - }, - "value": "Amount has to be > 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_815520f9027a86e1acdd22d3236962d5c7715550817fb761476190f011dd6e1a", - "typeString": "literal_string \"Amount has to be > 0\"" - } - ], - "id": 3694, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19383:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19383:53:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3700, - "nodeType": "ExpressionStatement", - "src": "19383:53:5" - }, - { - "assignments": [ - 3702 - ], - "declarations": [ - { - "constant": false, - "id": 3702, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "19447:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3701, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "19447:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3709, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3703, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "19481:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3705, - "indexExpression": { - "argumentTypes": null, - "id": 3704, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3679, - "src": "19488:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3706, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "19481:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3708, - "indexExpression": { - "argumentTypes": null, - "id": 3707, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3681, - "src": "19511:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19481:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19447:79:5" - }, - { - "assignments": [ - 3711 - ], - "declarations": [ - { - "constant": false, - "id": 3711, - "name": "fractionsAmountRelative", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "19555:31:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19555:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3724, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3720, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19645:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3721, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19645:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19645:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3714, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19611:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19611:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3716, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "19611:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3712, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "19590:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "19590:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19590:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3718, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "19589:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "19589:55:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19589:85:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "19555:119:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3726, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19692:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3727, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19692:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19692:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3731, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3729, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19729:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19729:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19692:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3732, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "19743:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19692:74:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f2042616c616e636520746f2050756c6c204672616374696f6e73", - "id": 3734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "19768:30:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - }, - "value": "No Balance to Pull Fractions" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_52431f66bb50703371c72eb861d9123dc77e40c313e0b79f0b507f45a803d1ad", - "typeString": "literal_string \"No Balance to Pull Fractions\"" - } - ], - "id": 3725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "19684:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19684:115:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3736, - "nodeType": "ExpressionStatement", - "src": "19684:115:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3737, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19835:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3742, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19835:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3743, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19835:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3744, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3740, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19872:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19872:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "19835:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3752, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "19939:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3745, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19886:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3746, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19886:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3747, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "19886:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3750, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3748, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "19923:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "19923:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "19886:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "19886:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "19886:77:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19835:128:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3755, - "nodeType": "ExpressionStatement", - "src": "19835:128:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "19994:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3759, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "19994:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "19994:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3765, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "20058:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3761, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20025:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3762, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20025:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3763, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "20025:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20025:32:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20025:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "19994:81:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3768, - "nodeType": "ExpressionStatement", - "src": "19994:81:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3769, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20107:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20107:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "20107:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3778, - "name": "fractionsAmountRelative", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "20169:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3774, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20137:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3775, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20137:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3776, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "20137:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20137:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20137:56:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20107:86:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3781, - "nodeType": "ExpressionStatement", - "src": "20107:86:5" - }, - { - "assignments": [ - 3783 - ], - "declarations": [ - { - "constant": false, - "id": 3783, - "name": "in2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "20204:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20204:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3790, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3788, - "name": "_fractionsAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3683, - "src": "20250:16:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3784, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20218:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3785, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20218:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20218:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "20218:31:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20218:49:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20204:63:5" - }, - { - "assignments": [ - 3792 - ], - "declarations": [ - { - "constant": false, - "id": 3792, - "name": "relIn2", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3840, - "src": "20277:14:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3805, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3801, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20336:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3802, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20336:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3803, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20336:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3797, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "20326:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3793, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20295:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20295:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3795, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20295:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "20295:30:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20295:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3799, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20294:37:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "20294:41:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20294:70:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "20277:87:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20399:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3811, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20399:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3812, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "20399:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3813, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3809, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "20435:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "20435:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "20399:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3816, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20460:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20460:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20460:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3814, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "20449:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "20449:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20449:38:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20399:88:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3821, - "nodeType": "ExpressionStatement", - "src": "20399:88:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3822, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20518:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20518:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3826, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "20518:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3827, - "name": "relIn2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3792, - "src": "20547:6:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20518:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3829, - "nodeType": "ExpressionStatement", - "src": "20518:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3830, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "20583:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "20583:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3834, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "20583:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3835, - "name": "in2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3783, - "src": "20613:3:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20583:33:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3837, - "nodeType": "ExpressionStatement", - "src": "20583:33:5" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20634:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3687, - "id": 3839, - "nodeType": "Return", - "src": "20627:11:5" - } - ] - }, - "documentation": null, - "functionSelector": "9d9bbde7", - "id": 3841, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "pushFractions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3679, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19235:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3678, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19235:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3681, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19253:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3680, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19253:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3683, - "name": "_fractionsAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19277:24:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "19277:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19234:68:5" - }, - "returnParameters": { - "id": 3687, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3686, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3841, - "src": "19319:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3685, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "19319:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "19318:14:5" - }, - "scope": 4252, - "src": "19212:1433:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3889, - "nodeType": "Block", - "src": "20777:322:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3854, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "20807:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3853, - "name": "isEventOpen", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1783, - "src": "20795:11:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20795:21:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3852, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20787:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20787:30:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3857, - "nodeType": "ExpressionStatement", - "src": "20787:30:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3867, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3859, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20868:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20880:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "20868:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3862, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20867:15:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3863, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20887:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 3864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "20899:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "20887:13:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3866, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "20886:15:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "20867:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3858, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "20859:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 3868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "20859:43:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3869, - "nodeType": "ExpressionStatement", - "src": "20859:43:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3870, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "20941:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3872, - "indexExpression": { - "argumentTypes": null, - "id": 3871, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "20948:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "20941:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "20941:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3874, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "20967:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "20941:35:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3876, - "nodeType": "ExpressionStatement", - "src": "20941:35:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 3882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3877, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21012:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3879, - "indexExpression": { - "argumentTypes": null, - "id": 3878, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "21019:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21012:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "21012:27:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21042:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "21012:34:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3883, - "nodeType": "ExpressionStatement", - "src": "21012:34:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3885, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "21072:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3886, - "name": "_resultId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "21082:9:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3884, - "name": "CloseEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1747, - "src": "21061:10:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (uint256,uint256)" - } - }, - "id": 3887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21061:31:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3888, - "nodeType": "EmitStatement", - "src": "21056:36:5" - } - ] - }, - "documentation": null, - "functionSelector": "64f66467", - "id": 3890, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3848, - "modifierName": { - "argumentTypes": null, - "id": 3847, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "20744:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "20744:9:5" - } - ], - "name": "resolveEvent", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3846, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3843, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20700:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20700:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3845, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20718:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "20718:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20699:37:5" - }, - "returnParameters": { - "id": 3851, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3850, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3890, - "src": "20763:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3849, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "20763:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "20762:14:5" - }, - "scope": 4252, - "src": "20678:421:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4029, - "nodeType": "Block", - "src": "21199:1130:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3901, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21232:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3900, - "name": "isEventClosed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "21218:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21218:23:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4576656e742068617320746f20626520636c6f736564", - "id": 3903, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21243:24:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2302621f29a97288ad02b635dde058e29579ea1542a1f4379bda7f8d87e1543b", - "typeString": "literal_string \"Event has to be closed\"" - }, - "value": "Event has to be closed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2302621f29a97288ad02b635dde058e29579ea1542a1f4379bda7f8d87e1543b", - "typeString": "literal_string \"Event has to be closed\"" - } - ], - "id": 3899, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21210:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3904, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21210:58:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3905, - "nodeType": "ExpressionStatement", - "src": "21210:58:5" - }, - { - "assignments": [ - 3907 - ], - "declarations": [ - { - "constant": false, - "id": 3907, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21278:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 3906, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "21278:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3914, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3908, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21312:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3910, - "indexExpression": { - "argumentTypes": null, - "id": 3909, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21319:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3911, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "21312:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 3913, - "indexExpression": { - "argumentTypes": null, - "id": 3912, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "21342:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21312:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21278:79:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3921, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3916, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "21375:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 3918, - "indexExpression": { - "argumentTypes": null, - "id": 3917, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "21382:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21375:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 3919, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "21375:23:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3920, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "21402:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "21375:41:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526573756c74205370616365206973206e6f74207468652077696e6e6572", - "id": 3922, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21418:32:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_034f39acad2599bee6b3f1642662ad029eeb68a3bc1e3addb98c8c4fb97406ac", - "typeString": "literal_string \"Result Space is not the winner\"" - }, - "value": "Result Space is not the winner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_034f39acad2599bee6b3f1642662ad029eeb68a3bc1e3addb98c8c4fb97406ac", - "typeString": "literal_string \"Result Space is not the winner\"" - } - ], - "id": 3915, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21367:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21367:84:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3924, - "nodeType": "ExpressionStatement", - "src": "21367:84:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3926, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21469:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1709, - "src": "21469:24:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3930, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3928, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21494:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21494:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21469:36:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3931, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21509:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "21469:45:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "57696e6e696e6720616c72656164792074616b656e", - "id": 3933, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "21516:23:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24c471a04399655808db475791fad3b57c4c099c548fcabfef240b532aa71a40", - "typeString": "literal_string \"Winning already taken\"" - }, - "value": "Winning already taken" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24c471a04399655808db475791fad3b57c4c099c548fcabfef240b532aa71a40", - "typeString": "literal_string \"Winning already taken\"" - } - ], - "id": 3925, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "21461:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21461:79:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3935, - "nodeType": "ExpressionStatement", - "src": "21461:79:5" - }, - { - "assignments": [ - 3937 - ], - "declarations": [ - { - "constant": false, - "id": 3937, - "name": "absoluteFractionsIn", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21580:27:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3936, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21580:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3955, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3951, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21697:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21697:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3953, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relIn", - "nodeType": "MemberAccess", - "referencedDeclaration": 1678, - "src": "21697:26:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3945, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21663:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21663:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3947, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "21663:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3938, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21611:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3939, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21611:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3940, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "21611:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3943, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3941, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21647:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21647:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21611:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3944, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21611:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3948, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21611:80:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3949, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21610:82:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21610:86:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3954, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21610:114:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21580:144:5" - }, - { - "assignments": [ - 3957 - ], - "declarations": [ - { - "constant": false, - "id": 3957, - "name": "absoluteFractionsOut", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21734:28:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3956, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21734:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3975, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3971, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21854:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3972, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21854:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3973, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "relOut", - "nodeType": "MemberAccess", - "referencedDeclaration": 1686, - "src": "21854:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3965, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21819:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21819:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3967, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "21819:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3958, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21766:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21766:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "21766:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3963, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3961, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "21803:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3962, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "21803:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "21766:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21766:52:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21766:82:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3969, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21765:84:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21765:88:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21765:117:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21734:148:5" - }, - { - "assignments": [ - 3977 - ], - "declarations": [ - { - "constant": false, - "id": 3977, - "name": "winningAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4029, - "src": "21892:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21892:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4000, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3997, - "name": "CURRENCY_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1654, - "src": "22048:17:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3995, - "name": "ODD_DECIMALS", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "22031:12:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3996, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "22031:16:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22031:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3989, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "22000:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3990, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "22000:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3991, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "22000:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3984, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3907, - "src": "21969:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 3985, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "21969:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 3986, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "21969:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3980, - "name": "absoluteFractionsIn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3937, - "src": "21943:19:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3978, - "name": "absoluteFractionsOut", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3957, - "src": "21918:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "21918:24:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21918:45:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3982, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21917:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21917:51:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:78:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "21917:82:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21917:108:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3993, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "21916:110:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "21916:114:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3999, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "21916:151:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "21892:175:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4006, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3977, - "src": "22126:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4001, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22106:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 4005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22106:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_transfer_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4007, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22106:34:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4008, - "nodeType": "ExpressionStatement", - "src": "22106:34:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 4020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4009, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "22180:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4011, - "indexExpression": { - "argumentTypes": null, - "id": 4010, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "22187:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "22180:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4014, - "indexExpression": { - "argumentTypes": null, - "id": 4013, - "name": "_resultSpaceId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "22210:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22180:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "id": 4015, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tookWinnings", - "nodeType": "MemberAccess", - "referencedDeclaration": 1709, - "src": "22180:58:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 4018, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4016, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22239:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4017, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22239:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "22180:70:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "22253:4:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "22180:77:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4021, - "nodeType": "ExpressionStatement", - "src": "22180:77:5" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4023, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "22286:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4024, - "name": "winningAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3977, - "src": "22296:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4025, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "22311:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "22311:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 4022, - "name": "WithdrawEvent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "22272:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 4027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "22272:50:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4028, - "nodeType": "EmitStatement", - "src": "22267:55:5" - } - ] - }, - "documentation": null, - "functionSelector": "e682e9ad", - "id": 4030, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawWins", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3895, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3892, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21127:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21127:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3894, - "name": "_resultSpaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21145:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "21145:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21126:42:5" - }, - "returnParameters": { - "id": 3898, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3897, - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4030, - "src": "21185:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3896, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "21185:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "21184:14:5" - }, - "scope": 4252, - "src": "21105:1224:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4038, - "nodeType": "Block", - "src": "22430:32:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4036, - "name": "eventIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1657, - "src": "22447:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4035, - "id": 4037, - "nodeType": "Return", - "src": "22440:15:5" - } - ] - }, - "documentation": null, - "functionSelector": "404aa8f9", - "id": 4039, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4031, - "nodeType": "ParameterList", - "parameters": [], - "src": "22378:2:5" - }, - "returnParameters": { - "id": 4035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4034, - "name": "event_ids", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4039, - "src": "22402:26:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4032, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22402:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4033, - "length": null, - "nodeType": "ArrayTypeName", - "src": "22402:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22401:28:5" - }, - "scope": 4252, - "src": "22360:102:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4068, - "nodeType": "Block", - "src": "22599:169:5", - "statements": [ - { - "assignments": [ - 4053 - ], - "declarations": [ - { - "constant": false, - "id": 4053, - "name": "_event", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4068, - "src": "22609:19:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event" - }, - "typeName": { - "contractScope": null, - "id": 4052, - "name": "Event", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1723, - "src": "22609:5:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage_ptr", - "typeString": "struct Exchange.Event" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4057, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4054, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "22631:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4056, - "indexExpression": { - "argumentTypes": null, - "id": 4055, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4041, - "src": "22638:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "22631:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "22609:38:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4058, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22697:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4059, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "name", - "nodeType": "MemberAccess", - "referencedDeclaration": 1712, - "src": "22697:11:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4060, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22710:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4061, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "result", - "nodeType": "MemberAccess", - "referencedDeclaration": 1718, - "src": "22710:13:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4062, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22725:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4063, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "urlOracle", - "nodeType": "MemberAccess", - "referencedDeclaration": 1720, - "src": "22725:16:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4064, - "name": "_event", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4053, - "src": "22743:6:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_memory_ptr", - "typeString": "struct Exchange.Event memory" - } - }, - "id": 4065, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "isResolved", - "nodeType": "MemberAccess", - "referencedDeclaration": 1722, - "src": "22743:17:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 4066, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "22696:65:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_string_memory_$_t_uint256_$_t_string_memory_$_t_bool_$", - "typeString": "tuple(string memory,uint256,string memory,bool)" - } - }, - "functionReturnParameters": 4051, - "id": 4067, - "nodeType": "Return", - "src": "22689:72:5" - } - ] - }, - "documentation": null, - "functionSelector": "4392bb68", - "id": 4069, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getEventData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4042, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4041, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22515:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4040, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22515:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22514:18:5" - }, - "returnParameters": { - "id": 4051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4044, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22554:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4043, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22554:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4046, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22569:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22569:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4048, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22578:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4047, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "22578:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4069, - "src": "22593:4:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "22593:4:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22553:45:5" - }, - "scope": 4252, - "src": "22493:275:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4135, - "nodeType": "Block", - "src": "23075:394:5", - "statements": [ - { - "assignments": [ - 4097 - ], - "declarations": [ - { - "constant": false, - "id": 4097, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4135, - "src": "23085:30:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4096, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23085:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4104, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4098, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "23118:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4100, - "indexExpression": { - "argumentTypes": null, - "id": 4099, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4071, - "src": "23125:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4101, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "23118:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4103, - "indexExpression": { - "argumentTypes": null, - "id": 4102, - "name": "resultSpace_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4073, - "src": "23148:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23118:45:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23085:78:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4105, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23182:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4106, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "id", - "nodeType": "MemberAccess", - "referencedDeclaration": 1701, - "src": "23182:14:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4107, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23198:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1703, - "src": "23198:20:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4109, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23220:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4110, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23220:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4111, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "pool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1668, - "src": "23220:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4112, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23247:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4113, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23247:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4114, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cost", - "nodeType": "MemberAccess", - "referencedDeclaration": 1670, - "src": "23247:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4115, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23282:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23282:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4117, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "odd", - "nodeType": "MemberAccess", - "referencedDeclaration": 1672, - "src": "23282:24:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4118, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23308:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4119, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23308:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4120, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1674, - "src": "23308:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4121, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23337:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23337:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4123, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1676, - "src": "23337:27:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4124, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23366:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23366:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPool", - "nodeType": "MemberAccess", - "referencedDeclaration": 1684, - "src": "23366:28:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4127, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23404:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23404:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4129, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fees", - "nodeType": "MemberAccess", - "referencedDeclaration": 1692, - "src": "23404:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4130, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4097, - "src": "23431:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_memory_ptr", - "typeString": "struct Exchange.ResultSpace memory" - } - }, - "id": 4131, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "23431:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_memory", - "typeString": "struct Exchange.Fraction memory" - } - }, - "id": 4132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liqAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1694, - "src": "23431:30:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4133, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "23181:281:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4095, - "id": 4134, - "nodeType": "Return", - "src": "23174:288:5" - } - ] - }, - "documentation": null, - "functionSelector": "ad5145af", - "id": 4136, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getResultSpaceData", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4074, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4071, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22834:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22834:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4073, - "name": "resultSpace_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22852:22:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4072, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22852:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22833:42:5" - }, - "returnParameters": { - "id": 4095, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4076, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22906:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22906:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4078, - "name": "_resultId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22919:17:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22919:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4080, - "name": "_pool", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22938:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22938:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4082, - "name": "_cost", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22953:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4081, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22953:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4084, - "name": "_odd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22968:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4083, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22968:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4086, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "22991:15:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "22991:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4088, - "name": "_in", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23008:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23008:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4090, - "name": "_out", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23021:12:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4089, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23021:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4092, - "name": "_fees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23035:13:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23035:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4094, - "name": "_liqAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4136, - "src": "23050:18:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4093, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23050:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "22896:178:5" - }, - "scope": 4252, - "src": "22806:663:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4147, - "nodeType": "Block", - "src": "23590:44:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4142, - "name": "myEvents", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1666, - "src": "23607:8:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4145, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4143, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "23616:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4144, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "23616:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23607:20:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4141, - "id": 4146, - "nodeType": "Return", - "src": "23600:27:5" - } - ] - }, - "documentation": null, - "functionSelector": "3548124b", - "id": 4148, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEvents", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4137, - "nodeType": "ParameterList", - "parameters": [], - "src": "23549:2:5" - }, - "returnParameters": { - "id": 4141, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4140, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4148, - "src": "23573:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4138, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23573:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4139, - "length": null, - "nodeType": "ArrayTypeName", - "src": "23573:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23572:18:5" - }, - "scope": 4252, - "src": "23529:105:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4221, - "nodeType": "Block", - "src": "23877:537:5", - "statements": [ - { - "assignments": [ - 4166 - ], - "declarations": [ - { - "constant": false, - "id": 4166, - "name": "resultSpace", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4221, - "src": "23907:31:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4165, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23907:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4173, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4167, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "23941:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4169, - "indexExpression": { - "argumentTypes": null, - "id": 4168, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "23948:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4170, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "23941:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4172, - "indexExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "23971:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "23941:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23907:66:5" - }, - { - "assignments": [ - 4175 - ], - "declarations": [ - { - "constant": false, - "id": 4175, - "name": "resultSpace_opp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4221, - "src": "23983:35:5", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - }, - "typeName": { - "contractScope": null, - "id": 4174, - "name": "ResultSpace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1710, - "src": "23983:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4182, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4176, - "name": "events", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1661, - "src": "24021:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Event_$1723_storage_$", - "typeString": "mapping(uint256 => struct Exchange.Event storage ref)" - } - }, - "id": 4178, - "indexExpression": { - "argumentTypes": null, - "id": 4177, - "name": "_eventId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4150, - "src": "24028:8:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:16:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Event_$1723_storage", - "typeString": "struct Exchange.Event storage ref" - } - }, - "id": 4179, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "resultSpaces", - "nodeType": "MemberAccess", - "referencedDeclaration": 1716, - "src": "24021:29:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ResultSpace_$1710_storage_$", - "typeString": "mapping(uint256 => struct Exchange.ResultSpace storage ref)" - } - }, - "id": 4181, - "indexExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 4180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "24051:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24021:32:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage", - "typeString": "struct Exchange.ResultSpace storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "23983:70:5" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4183, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24085:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24085:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4185, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "24085:35:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4188, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4186, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24121:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24121:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24085:47:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4189, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24134:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4190, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24134:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4191, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "24134:36:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4194, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4192, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24171:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4193, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24171:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24134:48:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4195, - "name": "resultSpace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4166, - "src": "24184:11:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24184:20:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4197, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "24184:30:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4200, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4198, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24215:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24215:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24184:42:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4201, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24240:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4202, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24240:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "inPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1682, - "src": "24240:39:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4206, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4204, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24280:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4205, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24280:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24240:51:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4207, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24293:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4208, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24293:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4209, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "outPoolBalances", - "nodeType": "MemberAccess", - "referencedDeclaration": 1690, - "src": "24293:40:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4212, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4210, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24334:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24334:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24293:52:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4213, - "name": "resultSpace_opp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4175, - "src": "24347:15:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ResultSpace_$1710_storage_ptr", - "typeString": "struct Exchange.ResultSpace storage pointer" - } - }, - "id": 4214, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "fraction", - "nodeType": "MemberAccess", - "referencedDeclaration": 1705, - "src": "24347:24:5", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Fraction_$1699_storage", - "typeString": "struct Exchange.Fraction storage ref" - } - }, - "id": 4215, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "liquidity", - "nodeType": "MemberAccess", - "referencedDeclaration": 1698, - "src": "24347:34:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 4218, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4216, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "24382:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4217, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "24382:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "24347:46:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4219, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "24071:336:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256)" - } - }, - "functionReturnParameters": 4164, - "id": 4220, - "nodeType": "Return", - "src": "24064:343:5" - } - ] - }, - "documentation": null, - "functionSelector": "21c3c4be", - "id": 4222, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMyEventHoldings", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4151, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4150, - "name": "_eventId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23785:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4149, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23785:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23784:18:5" - }, - "returnParameters": { - "id": 4164, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4153, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23824:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4152, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23824:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4155, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23833:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23833:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4157, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23842:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23842:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4159, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23851:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4158, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23851:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4161, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23860:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23860:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4163, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4222, - "src": "23869:7:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4162, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "23869:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "23823:54:5" - }, - "scope": 4252, - "src": "23757:657:5", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4250, - "nodeType": "Block", - "src": "24506:127:5", - "statements": [ - { - "assignments": [ - 4232 - ], - "declarations": [ - { - "constant": false, - "id": 4232, - "name": "erc20Token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4250, - "src": "24516:16:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4231, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "24516:5:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4236, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4234, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4224, - "src": "24541:13:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4233, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9318, - "src": "24535:5:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9318_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24535:20:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "24516:39:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4240, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4226, - "src": "24585:3:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4245, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "24619:4:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Exchange_$4252", - "typeString": "contract Exchange" - } - ], - "id": 4244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "24611:7:5", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24611:7:5", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4246, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24611:13:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4241, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4232, - "src": "24590:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 4242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8930, - "src": "24590:20:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24590:35:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4237, - "name": "erc20Token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4232, - "src": "24565:10:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 4239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "24565:19:5", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4248, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "24565:61:5", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4249, - "nodeType": "ExpressionStatement", - "src": "24565:61:5" - } - ] - }, - "documentation": null, - "functionSelector": "917c854d", - "id": 4251, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4229, - "modifierName": { - "argumentTypes": null, - "id": 4228, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "24496:9:5", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "24496:9:5" - } - ], - "name": "removeOtherERC20Tokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4227, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4224, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4251, - "src": "24451:21:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24451:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4226, - "name": "_to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4251, - "src": "24474:11:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "24474:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "24450:36:5" - }, - "returnParameters": { - "id": 4230, - "nodeType": "ParameterList", - "parameters": [], - "src": "24506:0:5" - }, - "scope": 4252, - "src": "24419:214:5", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 4253, - "src": "199:24437:5" - } - ], - "src": "33:24603:5" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.397Z", - "devdoc": { - "methods": { - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Governed.json b/build/contracts/Governed.json deleted file mode 100644 index 82c81186..00000000 --- a/build/contracts/Governed.json +++ /dev/null @@ -1,1525 +0,0 @@ -{ - "contractName": "Governed", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousGovernor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newGovernor", - "type": "address" - } - ], - "name": "GovernorTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "_governor", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newGovernor", - "type": "address" - } - ], - "name": "transferGovernor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousGovernor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGovernor\",\"type\":\"address\"}],\"name\":\"GovernorTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_governor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newGovernor\",\"type\":\"address\"}],\"name\":\"transferGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The Governable contract has an governor smart contract address, and provides basic authorization control functions, this simplifies the implementation of \\\"gov permissions\\\".\",\"methods\":{\"constructor\":{\"details\":\"The Ownable constructor sets the original `governor` of the contract to the sender account.\"},\"transferGovernor(address)\":{\"details\":\"Allows the current governor to transfer control of the contract to a newGovernor.\",\"params\":{\"newGovernor\":\"The address to transfer governorship to.\"}}},\"title\":\"Governed\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol\":\"Governed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol\":{\"keccak256\":\"0x41079c20ee4029ed96e88325bee994f87f7986048991584a1ab100a390ce277d\",\"urls\":[\"bzz-raw://175fd779046c220e2f111d91b9c689681943a5c2b70284bcfdad5b4f7aaaa1eb\",\"dweb:/ipfs/QmchSDQVF87EGnM5QiuxpZKkfBp4cjsgTk9DhCMgwa1t2d\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b0319163317905561014e806100326000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063952608431461003b578063b8cc9ce61461005f575b600080fd5b610043610087565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b0316610096565b005b6000546001600160a01b031681565b6000546001600160a01b031633146100ad57600080fd5b6001600160a01b0381166100c057600080fd5b6040516001600160a01b0382169081907f6fadb1c244276388aee22be93b919985a18748c021e5d48553957a48101a256090600090a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220ab34c63bb81472070d5ea85bc6d9af9b0ec5913b43a67a858558131dd071d5c764736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063952608431461003b578063b8cc9ce61461005f575b600080fd5b610043610087565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b0316610096565b005b6000546001600160a01b031681565b6000546001600160a01b031633146100ad57600080fd5b6001600160a01b0381166100c057600080fd5b6040516001600160a01b0382169081907f6fadb1c244276388aee22be93b919985a18748c021e5d48553957a48101a256090600090a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220ab34c63bb81472070d5ea85bc6d9af9b0ec5913b43a67a858558131dd071d5c764736f6c63430006020033", - "sourceMap": "238:902:9:-:0;;;512:60;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;543:9:9;:22;;-1:-1:-1;;;;;;543:22:9;555:10;543:22;;;238:902;;;;;;", - "deployedSourceMap": "238:902:9:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;238:902:9;;;;;;;;;;;;;;;;;;;;;;;;262:24;;;:::i;:::-;;;;-1:-1:-1;;;;;262:24:9;;;;;;;;;;;;;;925:211;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;925:211:9;-1:-1:-1;;;;;925:211:9;;:::i;:::-;;262:24;;;-1:-1:-1;;;;;262:24:9;;:::o;925:211::-;717:9;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;-1:-1:-1;;;;;1010:25:9;::::1;1002:34;;;::::0;::::1;;1051:45;::::0;-1:-1:-1;;;;;1051:45:9;::::1;::::0;;;::::1;::::0;;;::::1;1106:9;:23:::0;;-1:-1:-1;;;;;;1106:23:9::1;-1:-1:-1::0;;;;;1106:23:9;;;::::1;::::0;;;::::1;::::0;;925:211::o", - "source": "pragma solidity >=0.6.0;\n\n\n/**\n * @title Governed\n * @dev The Governable contract has an governor smart contract address, and provides basic authorization control\n * functions, this simplifies the implementation of \"gov permissions\".\n */\ncontract Governed {\n address public _governor;\n event GovernorTransferred(address indexed previousGovernor, address indexed newGovernor);\n\n\n /**\n * @dev The Ownable constructor sets the original `governor` of the contract to the sender\n * account.\n */\n constructor() public {\n _governor = msg.sender;\n }\n\n /**\n * @dev Throws if called by any account other than the governor.\n */\n modifier onlyGovernor() {\n require(msg.sender == _governor);\n _;\n }\n\n /**\n * @dev Allows the current governor to transfer control of the contract to a newGovernor.\n * @param newGovernor The address to transfer governorship to.\n */\n function transferGovernor(address newGovernor) public onlyGovernor {\n require(newGovernor != address(0));\n emit GovernorTransferred(newGovernor, newGovernor);\n _governor = newGovernor;\n }\n \n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol", - "exportedSymbols": { - "Governed": [ - 4780 - ] - }, - "id": 4781, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4725, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Governed\n@dev The Governable contract has an governor smart contract address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"gov permissions\".", - "fullyImplemented": true, - "id": 4780, - "linearizedBaseContracts": [ - 4780 - ], - "name": "Governed", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "95260843", - "id": 4727, - "name": "_governor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4780, - "src": "262:24:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "262:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4733, - "name": "GovernorTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4729, - "indexed": true, - "name": "previousGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "318:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4731, - "indexed": true, - "name": "newGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "352:27:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "317:63:9" - }, - "src": "292:89:9" - }, - { - "body": { - "id": 4741, - "nodeType": "Block", - "src": "533:39:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4736, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "543:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4737, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "555:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "555:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "543:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "543:22:9" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `governor` of the contract to the sender\naccount.", - "id": 4742, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "523:2:9" - }, - "returnParameters": { - "id": 4735, - "nodeType": "ParameterList", - "parameters": [], - "src": "533:0:9" - }, - "scope": 4780, - "src": "512:60:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4752, - "nodeType": "Block", - "src": "685:60:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4745, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "703:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "703:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4747, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "717:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "703:23:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4744, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "695:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "695:32:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4750, - "nodeType": "ExpressionStatement", - "src": "695:32:9" - }, - { - "id": 4751, - "nodeType": "PlaceholderStatement", - "src": "737:1:9" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the governor.", - "id": 4753, - "name": "onlyGovernor", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "682:2:9" - }, - "src": "661:84:9", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4778, - "nodeType": "Block", - "src": "992:144:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4761, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1010:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1033:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1025:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1025:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1025:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1010:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1002:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1002:34:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4768, - "nodeType": "ExpressionStatement", - "src": "1002:34:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4770, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1071:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4771, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1084:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4769, - "name": "GovernorTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4733, - "src": "1051:19:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 4772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1051:45:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4773, - "nodeType": "EmitStatement", - "src": "1046:50:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 4776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4774, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "1106:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4775, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1118:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1106:23:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4777, - "nodeType": "ExpressionStatement", - "src": "1106:23:9" - } - ] - }, - "documentation": "@dev Allows the current governor to transfer control of the contract to a newGovernor.\n@param newGovernor The address to transfer governorship to.", - "functionSelector": "b8cc9ce6", - "id": 4779, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4758, - "modifierName": { - "argumentTypes": null, - "id": 4757, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4753, - "src": "979:12:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "979:12:9" - } - ], - "name": "transferGovernor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "name": "newGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "951:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "951:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "950:21:9" - }, - "returnParameters": { - "id": 4759, - "nodeType": "ParameterList", - "parameters": [], - "src": "992:0:9" - }, - "scope": 4780, - "src": "925:211:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4781, - "src": "238:902:9" - } - ], - "src": "0:1141:9" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol", - "exportedSymbols": { - "Governed": [ - 4780 - ] - }, - "id": 4781, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4725, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Governed\n@dev The Governable contract has an governor smart contract address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"gov permissions\".", - "fullyImplemented": true, - "id": 4780, - "linearizedBaseContracts": [ - 4780 - ], - "name": "Governed", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "95260843", - "id": 4727, - "name": "_governor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4780, - "src": "262:24:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4726, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "262:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 4733, - "name": "GovernorTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 4732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4729, - "indexed": true, - "name": "previousGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "318:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "318:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4731, - "indexed": true, - "name": "newGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4733, - "src": "352:27:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4730, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "352:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "317:63:9" - }, - "src": "292:89:9" - }, - { - "body": { - "id": 4741, - "nodeType": "Block", - "src": "533:39:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4736, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "543:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4737, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "555:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "555:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "543:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4740, - "nodeType": "ExpressionStatement", - "src": "543:22:9" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `governor` of the contract to the sender\naccount.", - "id": 4742, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4734, - "nodeType": "ParameterList", - "parameters": [], - "src": "523:2:9" - }, - "returnParameters": { - "id": 4735, - "nodeType": "ParameterList", - "parameters": [], - "src": "533:0:9" - }, - "scope": 4780, - "src": "512:60:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4752, - "nodeType": "Block", - "src": "685:60:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4745, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "703:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "703:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 4747, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "717:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "703:23:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4744, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "695:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4749, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "695:32:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4750, - "nodeType": "ExpressionStatement", - "src": "695:32:9" - }, - { - "id": 4751, - "nodeType": "PlaceholderStatement", - "src": "737:1:9" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the governor.", - "id": 4753, - "name": "onlyGovernor", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 4743, - "nodeType": "ParameterList", - "parameters": [], - "src": "682:2:9" - }, - "src": "661:84:9", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 4778, - "nodeType": "Block", - "src": "992:144:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4761, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1010:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1033:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4763, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1025:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1025:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1025:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1010:25:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4760, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1002:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1002:34:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4768, - "nodeType": "ExpressionStatement", - "src": "1002:34:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4770, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1071:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4771, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1084:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4769, - "name": "GovernorTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4733, - "src": "1051:19:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 4772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1051:45:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4773, - "nodeType": "EmitStatement", - "src": "1046:50:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 4776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4774, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4727, - "src": "1106:9:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4775, - "name": "newGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4755, - "src": "1118:11:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1106:23:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4777, - "nodeType": "ExpressionStatement", - "src": "1106:23:9" - } - ] - }, - "documentation": "@dev Allows the current governor to transfer control of the contract to a newGovernor.\n@param newGovernor The address to transfer governorship to.", - "functionSelector": "b8cc9ce6", - "id": 4779, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4758, - "modifierName": { - "argumentTypes": null, - "id": 4757, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4753, - "src": "979:12:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "979:12:9" - } - ], - "name": "transferGovernor", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4755, - "name": "newGovernor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4779, - "src": "951:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "951:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "950:21:9" - }, - "returnParameters": { - "id": 4759, - "nodeType": "ParameterList", - "parameters": [], - "src": "992:0:9" - }, - "scope": 4780, - "src": "925:211:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 4781, - "src": "238:902:9" - } - ], - "src": "0:1141:9" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-01T17:14:28.168Z", - "devdoc": { - "details": "The Governable contract has an governor smart contract address, and provides basic authorization control functions, this simplifies the implementation of \"gov permissions\".", - "methods": { - "constructor": { - "details": "The Ownable constructor sets the original `governor` of the contract to the sender account." - }, - "transferGovernor(address)": { - "details": "Allows the current governor to transfer control of the contract to a newGovernor.", - "params": { - "newGovernor": "The address to transfer governorship to." - } - } - }, - "title": "Governed" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC165.json b/build/contracts/IERC165.json deleted file mode 100644 index 8ab0d94f..00000000 --- a/build/contracts/IERC165.json +++ /dev/null @@ -1,309 +0,0 @@ -{ - "contractName": "IERC165", - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. * Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). * For an implementation, see {ERC165}.\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n", - "sourcePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 7447 - ] - }, - "id": 7448, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7439, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC165 standard, as defined in the\nhttps://eips.ethereum.org/EIPS/eip-165[EIP].\n * Implementers can declare support of contract interfaces, which can then be\nqueried by others ({ERC165Checker}).\n * For an implementation, see {ERC165}.", - "fullyImplemented": false, - "id": 7447, - "linearizedBaseContracts": [ - 7447 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\nhttps://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\nto learn more about how these ids are created.\n * This function call must use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7446, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7441, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7446, - "src": "742:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7440, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "742:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:20:12" - }, - "returnParameters": { - "id": 7445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7444, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7446, - "src": "785:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7443, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "785:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "784:6:12" - }, - "scope": 7447, - "src": "715:76:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7448, - "src": "346:447:12" - } - ], - "src": "33:761:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 7447 - ] - }, - "id": 7448, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7439, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:12" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC165 standard, as defined in the\nhttps://eips.ethereum.org/EIPS/eip-165[EIP].\n * Implementers can declare support of contract interfaces, which can then be\nqueried by others ({ERC165Checker}).\n * For an implementation, see {ERC165}.", - "fullyImplemented": false, - "id": 7447, - "linearizedBaseContracts": [ - 7447 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns true if this contract implements the interface defined by\n`interfaceId`. See the corresponding\nhttps://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\nto learn more about how these ids are created.\n * This function call must use less than 30 000 gas.", - "functionSelector": "01ffc9a7", - "id": 7446, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7442, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7441, - "name": "interfaceId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7446, - "src": "742:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7440, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "742:6:12", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "741:20:12" - }, - "returnParameters": { - "id": 7445, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7444, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7446, - "src": "785:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7443, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "785:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "784:6:12" - }, - "scope": 7447, - "src": "715:76:12", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7448, - "src": "346:447:12" - } - ], - "src": "33:761:12" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.622Z", - "devdoc": { - "details": "Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. * Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). * For an implementation, see {ERC165}.", - "methods": { - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC20.json b/build/contracts/IERC20.json deleted file mode 100644 index ed87d1e4..00000000 --- a/build/contracts/IERC20.json +++ /dev/null @@ -1,1970 +0,0 @@ -{ - "contractName": "IERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 8341 - ] - }, - "id": 8342, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8274, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP.", - "fullyImplemented": false, - "id": 8341, - "linearizedBaseContracts": [ - 8341 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "functionSelector": "18160ddd", - "id": 8279, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8275, - "nodeType": "ParameterList", - "parameters": [], - "src": "251:2:15" - }, - "returnParameters": { - "id": 8278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8277, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8279, - "src": "277:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "276:9:15" - }, - "scope": 8341, - "src": "231:55:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "functionSelector": "70a08231", - "id": 8286, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8281, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8286, - "src": "388:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "388:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "387:17:15" - }, - "returnParameters": { - "id": 8285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8284, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8286, - "src": "428:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "428:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:9:15" - }, - "scope": 8341, - "src": "369:68:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "functionSelector": "a9059cbb", - "id": 8295, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8288, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "675:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8290, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "694:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "694:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:35:15" - }, - "returnParameters": { - "id": 8294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8293, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "728:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8292, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "728:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:6:15" - }, - "scope": 8341, - "src": "657:77:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "functionSelector": "dd62ed3e", - "id": 8304, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8297, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1028:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1028:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8299, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1043:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:32:15" - }, - "returnParameters": { - "id": 8303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8302, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1083:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1083:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:9:15" - }, - "scope": 8341, - "src": "1009:83:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 8313, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8306, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1762:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1762:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8308, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1779:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1761:33:15" - }, - "returnParameters": { - "id": 8312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1813:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1813:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1812:6:15" - }, - "scope": 8341, - "src": "1745:74:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "functionSelector": "23b872dd", - "id": 8324, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8315, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2148:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2148:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8317, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2164:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8316, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2164:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8319, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2183:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:51:15" - }, - "returnParameters": { - "id": 8323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8322, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2217:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8321, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2217:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2216:6:15" - }, - "scope": 8341, - "src": "2126:97:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 8332, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 8331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8326, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2407:20:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8328, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2429:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2429:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8330, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2449:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2406:57:15" - }, - "src": "2392:72:15" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 8340, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 8339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8334, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2638:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2638:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8336, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2661:23:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2661:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8338, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2686:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2637:63:15" - }, - "src": "2623:78:15" - } - ], - "scope": 8342, - "src": "137:2566:15" - } - ], - "src": "33:2671:15" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 8341 - ] - }, - "id": 8342, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 8274, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:15" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP.", - "fullyImplemented": false, - "id": 8341, - "linearizedBaseContracts": [ - 8341 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "functionSelector": "18160ddd", - "id": 8279, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8275, - "nodeType": "ParameterList", - "parameters": [], - "src": "251:2:15" - }, - "returnParameters": { - "id": 8278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8277, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8279, - "src": "277:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "276:9:15" - }, - "scope": 8341, - "src": "231:55:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "functionSelector": "70a08231", - "id": 8286, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8281, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8286, - "src": "388:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "388:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "387:17:15" - }, - "returnParameters": { - "id": 8285, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8284, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8286, - "src": "428:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "428:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "427:9:15" - }, - "scope": 8341, - "src": "369:68:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "functionSelector": "a9059cbb", - "id": 8295, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8291, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8288, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "675:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8287, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "675:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8290, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "694:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8289, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "694:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "674:35:15" - }, - "returnParameters": { - "id": 8294, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8293, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8295, - "src": "728:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8292, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "728:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:6:15" - }, - "scope": 8341, - "src": "657:77:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "functionSelector": "dd62ed3e", - "id": 8304, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8297, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1028:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8296, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1028:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8299, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1043:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1043:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1027:32:15" - }, - "returnParameters": { - "id": 8303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8302, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8304, - "src": "1083:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8301, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1083:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1082:9:15" - }, - "scope": 8341, - "src": "1009:83:15", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 8313, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8309, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8306, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1762:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1762:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8308, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1779:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8307, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1761:33:15" - }, - "returnParameters": { - "id": 8312, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8311, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8313, - "src": "1813:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8310, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1813:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1812:6:15" - }, - "scope": 8341, - "src": "1745:74:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "functionSelector": "23b872dd", - "id": 8324, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8315, - "name": "sender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2148:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8314, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2148:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8317, - "name": "recipient", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2164:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8316, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2164:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8319, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2183:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2183:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2147:51:15" - }, - "returnParameters": { - "id": 8323, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8322, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8324, - "src": "2217:4:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 8321, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2217:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2216:6:15" - }, - "scope": 8341, - "src": "2126:97:15", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 8332, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 8331, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8326, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2407:20:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8325, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2407:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8328, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2429:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8327, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2429:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8330, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8332, - "src": "2449:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2449:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2406:57:15" - }, - "src": "2392:72:15" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 8340, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 8339, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8334, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2638:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2638:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8336, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2661:23:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8335, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2661:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8338, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8340, - "src": "2686:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2686:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2637:63:15" - }, - "src": "2623:78:15" - } - ], - "scope": 8342, - "src": "137:2566:15" - } - ], - "src": "33:2671:15" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.630Z", - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP.", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC721.json b/build/contracts/IERC721.json deleted file mode 100644 index 2636d02a..00000000 --- a/build/contracts/IERC721.json +++ /dev/null @@ -1,2920 +0,0 @@ -{ - "contractName": "IERC721", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"../../introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 tokenId) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC721": [ - 9357 - ] - }, - "id": 9358, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9256, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:17" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "../../introspection/IERC165.sol", - "id": 9257, - "nodeType": "ImportDirective", - "scope": 9358, - "sourceUnit": 7448, - "src": "66:41:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9258, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7447, - "src": "198:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7447", - "typeString": "contract IERC165" - } - }, - "id": 9259, - "nodeType": "InheritanceSpecifier", - "src": "198:7:17" - } - ], - "contractDependencies": [ - 7447 - ], - "contractKind": "interface", - "documentation": "@dev Required interface of an ERC721 compliant contract.", - "fullyImplemented": false, - "id": 9357, - "linearizedBaseContracts": [ - 9357, - 7447 - ], - "name": "IERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when `tokenId` token is transferred from `from` to `to`.", - "id": 9267, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 9266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9261, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "320:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9263, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "342:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "342:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9265, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "362:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:67:17" - }, - "src": "305:82:17" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables `approved` to manage the `tokenId` token.", - "id": 9275, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 9274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9269, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "507:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9271, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "530:24:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9270, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9273, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "556:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:74:17" - }, - "src": "492:89:17" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.", - "id": 9283, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 9282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9277, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "730:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9276, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "730:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9279, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "753:24:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9281, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "779:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "779:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:64:17" - }, - "src": "709:85:17" - }, - { - "body": null, - "documentation": "@dev Returns the number of tokens in ``owner``'s account.", - "functionSelector": "70a08231", - "id": 9290, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9285, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9290, - "src": "900:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "900:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "899:15:17" - }, - "returnParameters": { - "id": 9289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9288, - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9290, - "src": "938:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "938:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "937:17:17" - }, - "scope": 9357, - "src": "881:74:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the owner of the `tokenId` token.\n * Requirements:\n * - `tokenId` must exist.", - "functionSelector": "6352211e", - "id": 9297, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9292, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9297, - "src": "1114:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1113:17:17" - }, - "returnParameters": { - "id": 9296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9295, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9297, - "src": "1154:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1154:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1153:15:17" - }, - "scope": 9357, - "src": "1097:72:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "functionSelector": "42842e0e", - "id": 9306, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9299, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1896:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9301, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1910:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1910:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9303, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1922:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1895:43:17" - }, - "returnParameters": { - "id": 9305, - "nodeType": "ParameterList", - "parameters": [], - "src": "1947:0:17" - }, - "scope": 9357, - "src": "1870:78:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Transfers `tokenId` token from `from` to `to`.\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * Emits a {Transfer} event.", - "functionSelector": "23b872dd", - "id": 9315, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9308, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2485:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2485:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9310, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2499:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2499:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9312, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2511:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2484:43:17" - }, - "returnParameters": { - "id": 9314, - "nodeType": "ParameterList", - "parameters": [], - "src": "2536:0:17" - }, - "scope": 9357, - "src": "2463:74:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Gives permission to `to` to transfer `tokenId` token to another account.\nThe approval is cleared when the token is transferred.\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n * Requirements:\n * - The caller must own the token or be an approved operator.\n- `tokenId` must exist.\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 9322, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9317, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9322, - "src": "3017:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9316, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9319, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9322, - "src": "3029:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3029:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3016:29:17" - }, - "returnParameters": { - "id": 9321, - "nodeType": "ParameterList", - "parameters": [], - "src": "3054:0:17" - }, - "scope": 9357, - "src": "3000:55:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the account approved for `tokenId` token.\n * Requirements:\n * - `tokenId` must exist.", - "functionSelector": "081812fc", - "id": 9329, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9324, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "3226:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3226:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3225:17:17" - }, - "returnParameters": { - "id": 9328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9327, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "3266:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3266:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3265:18:17" - }, - "scope": 9357, - "src": "3205:79:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Approve or remove `operator` as an operator for the caller.\nOperators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n * Requirements:\n * - The `operator` cannot be the caller.\n * Emits an {ApprovalForAll} event.", - "functionSelector": "a22cb465", - "id": 9336, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9331, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9336, - "src": "3631:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3631:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9333, - "name": "_approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9336, - "src": "3649:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3649:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3630:34:17" - }, - "returnParameters": { - "id": 9335, - "nodeType": "ParameterList", - "parameters": [], - "src": "3673:0:17" - }, - "scope": 9357, - "src": "3604:70:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n * See {setApprovalForAll}", - "functionSelector": "e985e9c5", - "id": 9345, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9338, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3849:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3849:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9340, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3864:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3864:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3848:33:17" - }, - "returnParameters": { - "id": 9344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9343, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3905:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3905:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3904:6:17" - }, - "scope": 9357, - "src": "3823:88:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "functionSelector": "b88d4fde", - "id": 9356, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9347, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4516:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9349, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4530:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9351, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4542:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9353, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4559:19:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4559:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4515:64:17" - }, - "returnParameters": { - "id": 9355, - "nodeType": "ParameterList", - "parameters": [], - "src": "4588:0:17" - }, - "scope": 9357, - "src": "4490:99:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9358, - "src": "177:4414:17" - } - ], - "src": "33:4559:17" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "exportedSymbols": { - "IERC721": [ - 9357 - ] - }, - "id": 9358, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9256, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:17" - }, - { - "absolutePath": "@openzeppelin/contracts/introspection/IERC165.sol", - "file": "../../introspection/IERC165.sol", - "id": 9257, - "nodeType": "ImportDirective", - "scope": 9358, - "sourceUnit": 7448, - "src": "66:41:17", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9258, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7447, - "src": "198:7:17", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$7447", - "typeString": "contract IERC165" - } - }, - "id": 9259, - "nodeType": "InheritanceSpecifier", - "src": "198:7:17" - } - ], - "contractDependencies": [ - 7447 - ], - "contractKind": "interface", - "documentation": "@dev Required interface of an ERC721 compliant contract.", - "fullyImplemented": false, - "id": 9357, - "linearizedBaseContracts": [ - 9357, - 7447 - ], - "name": "IERC721", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when `tokenId` token is transferred from `from` to `to`.", - "id": 9267, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 9266, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9261, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "320:20:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9260, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9263, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "342:18:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9262, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "342:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9265, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9267, - "src": "362:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9264, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "362:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:67:17" - }, - "src": "305:82:17" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables `approved` to manage the `tokenId` token.", - "id": 9275, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 9274, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9269, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "507:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "507:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9271, - "indexed": true, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "530:24:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9270, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "530:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9273, - "indexed": true, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9275, - "src": "556:23:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9272, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "556:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:74:17" - }, - "src": "492:89:17" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.", - "id": 9283, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 9282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9277, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "730:21:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9276, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "730:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9279, - "indexed": true, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "753:24:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "753:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9281, - "indexed": false, - "name": "approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9283, - "src": "779:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9280, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "779:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "729:64:17" - }, - "src": "709:85:17" - }, - { - "body": null, - "documentation": "@dev Returns the number of tokens in ``owner``'s account.", - "functionSelector": "70a08231", - "id": 9290, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9285, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9290, - "src": "900:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "900:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "899:15:17" - }, - "returnParameters": { - "id": 9289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9288, - "name": "balance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9290, - "src": "938:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "938:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "937:17:17" - }, - "scope": 9357, - "src": "881:74:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the owner of the `tokenId` token.\n * Requirements:\n * - `tokenId` must exist.", - "functionSelector": "6352211e", - "id": 9297, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "ownerOf", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9293, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9292, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9297, - "src": "1114:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9291, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1114:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1113:17:17" - }, - "returnParameters": { - "id": 9296, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9295, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9297, - "src": "1154:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1154:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1153:15:17" - }, - "scope": 9357, - "src": "1097:72:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\nare aware of the ERC721 protocol to prevent tokens from being forever locked.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "functionSelector": "42842e0e", - "id": 9306, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9304, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9299, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1896:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9301, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1910:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1910:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9303, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9306, - "src": "1922:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1922:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1895:43:17" - }, - "returnParameters": { - "id": 9305, - "nodeType": "ParameterList", - "parameters": [], - "src": "1947:0:17" - }, - "scope": 9357, - "src": "1870:78:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Transfers `tokenId` token from `from` to `to`.\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * Emits a {Transfer} event.", - "functionSelector": "23b872dd", - "id": 9315, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9313, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9308, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2485:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9307, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2485:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9310, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2499:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9309, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2499:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9312, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9315, - "src": "2511:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2511:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2484:43:17" - }, - "returnParameters": { - "id": 9314, - "nodeType": "ParameterList", - "parameters": [], - "src": "2536:0:17" - }, - "scope": 9357, - "src": "2463:74:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Gives permission to `to` to transfer `tokenId` token to another account.\nThe approval is cleared when the token is transferred.\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n * Requirements:\n * - The caller must own the token or be an approved operator.\n- `tokenId` must exist.\n * Emits an {Approval} event.", - "functionSelector": "095ea7b3", - "id": 9322, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9320, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9317, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9322, - "src": "3017:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9316, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3017:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9319, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9322, - "src": "3029:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9318, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3029:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3016:29:17" - }, - "returnParameters": { - "id": 9321, - "nodeType": "ParameterList", - "parameters": [], - "src": "3054:0:17" - }, - "scope": 9357, - "src": "3000:55:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the account approved for `tokenId` token.\n * Requirements:\n * - `tokenId` must exist.", - "functionSelector": "081812fc", - "id": 9329, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9324, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "3226:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9323, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3226:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3225:17:17" - }, - "returnParameters": { - "id": 9328, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9327, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9329, - "src": "3266:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3266:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3265:18:17" - }, - "scope": 9357, - "src": "3205:79:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Approve or remove `operator` as an operator for the caller.\nOperators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n * Requirements:\n * - The `operator` cannot be the caller.\n * Emits an {ApprovalForAll} event.", - "functionSelector": "a22cb465", - "id": 9336, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9334, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9331, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9336, - "src": "3631:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3631:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9333, - "name": "_approved", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9336, - "src": "3649:14:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9332, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3649:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3630:34:17" - }, - "returnParameters": { - "id": 9335, - "nodeType": "ParameterList", - "parameters": [], - "src": "3673:0:17" - }, - "scope": 9357, - "src": "3604:70:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n * See {setApprovalForAll}", - "functionSelector": "e985e9c5", - "id": 9345, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9338, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3849:13:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9337, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3849:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9340, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3864:16:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9339, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3864:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3848:33:17" - }, - "returnParameters": { - "id": 9344, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9343, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9345, - "src": "3905:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 9342, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3905:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3904:6:17" - }, - "scope": 9357, - "src": "3823:88:17", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Safely transfers `tokenId` token from `from` to `to`.\n * Requirements:\n * - `from` cannot be the zero address.\n- `to` cannot be the zero address.\n- `tokenId` token must exist and be owned by `from`.\n- If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n- If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n * Emits a {Transfer} event.", - "functionSelector": "b88d4fde", - "id": 9356, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9354, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9347, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4516:12:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9349, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4530:10:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9348, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4530:7:17", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9351, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4542:15:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4542:7:17", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9353, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9356, - "src": "4559:19:17", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9352, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4559:5:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4515:64:17" - }, - "returnParameters": { - "id": 9355, - "nodeType": "ParameterList", - "parameters": [], - "src": "4588:0:17" - }, - "scope": 9357, - "src": "4490:99:17", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9358, - "src": "177:4414:17" - } - ], - "src": "33:4559:17" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.641Z", - "devdoc": { - "details": "Required interface of an ERC721 compliant contract.", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC721Enumerable.json b/build/contracts/IERC721Enumerable.json deleted file mode 100644 index de18a25f..00000000 --- a/build/contracts/IERC721Enumerable.json +++ /dev/null @@ -1,1078 +0,0 @@ -{ - "contractName": "IERC721Enumerable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"./IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);\n\n /**\n * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n * Use along with {totalSupply} to enumerate all tokens.\n */\n function tokenByIndex(uint256 index) external view returns (uint256);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "exportedSymbols": { - "IERC721Enumerable": [ - 9384 - ] - }, - "id": 9385, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9359, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:18" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9360, - "nodeType": "ImportDirective", - "scope": 9385, - "sourceUnit": 9358, - "src": "66:23:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9361, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "259:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 9362, - "nodeType": "InheritanceSpecifier", - "src": "259:7:18" - } - ], - "contractDependencies": [ - 7447, - 9357 - ], - "contractKind": "interface", - "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": false, - "id": 9384, - "linearizedBaseContracts": [ - 9384, - 9357, - 7447 - ], - "name": "IERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the total amount of tokens stored by the contract.", - "functionSelector": "18160ddd", - "id": 9367, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9363, - "nodeType": "ParameterList", - "parameters": [], - "src": "381:2:18" - }, - "returnParameters": { - "id": 9366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9365, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9367, - "src": "407:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "407:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "406:9:18" - }, - "scope": 9384, - "src": "361:55:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns a token ID owned by `owner` at a given `index` of its token list.\nUse along with {balanceOf} to enumerate all of ``owner``'s tokens.", - "functionSelector": "2f745c59", - "id": 9376, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9369, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "627:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "627:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9371, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "642:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:30:18" - }, - "returnParameters": { - "id": 9375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9374, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "680:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:17:18" - }, - "scope": 9384, - "src": "598:99:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns a token ID at a given `index` of all the tokens stored by the contract.\nUse along with {totalSupply} to enumerate all tokens.", - "functionSelector": "4f6ccce7", - "id": 9383, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9378, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9383, - "src": "894:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "894:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "893:15:18" - }, - "returnParameters": { - "id": 9382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9381, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9383, - "src": "932:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "932:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:9:18" - }, - "scope": 9384, - "src": "872:69:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9385, - "src": "228:715:18" - } - ], - "src": "33:911:18" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol", - "exportedSymbols": { - "IERC721Enumerable": [ - 9384 - ] - }, - "id": 9385, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9359, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:18" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9360, - "nodeType": "ImportDirective", - "scope": 9385, - "sourceUnit": 9358, - "src": "66:23:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9361, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "259:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 9362, - "nodeType": "InheritanceSpecifier", - "src": "259:7:18" - } - ], - "contractDependencies": [ - 7447, - 9357 - ], - "contractKind": "interface", - "documentation": "@title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n@dev See https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": false, - "id": 9384, - "linearizedBaseContracts": [ - 9384, - 9357, - 7447 - ], - "name": "IERC721Enumerable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the total amount of tokens stored by the contract.", - "functionSelector": "18160ddd", - "id": 9367, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9363, - "nodeType": "ParameterList", - "parameters": [], - "src": "381:2:18" - }, - "returnParameters": { - "id": 9366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9365, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9367, - "src": "407:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9364, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "407:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "406:9:18" - }, - "scope": 9384, - "src": "361:55:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns a token ID owned by `owner` at a given `index` of its token list.\nUse along with {balanceOf} to enumerate all of ``owner``'s tokens.", - "functionSelector": "2f745c59", - "id": 9376, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenOfOwnerByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9369, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "627:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9368, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "627:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9371, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "642:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "642:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "626:30:18" - }, - "returnParameters": { - "id": 9375, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9374, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9376, - "src": "680:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9373, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "679:17:18" - }, - "scope": 9384, - "src": "598:99:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns a token ID at a given `index` of all the tokens stored by the contract.\nUse along with {totalSupply} to enumerate all tokens.", - "functionSelector": "4f6ccce7", - "id": 9383, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenByIndex", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9378, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9383, - "src": "894:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "894:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "893:15:18" - }, - "returnParameters": { - "id": 9382, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9381, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9383, - "src": "932:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9380, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "932:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "931:9:18" - }, - "scope": 9384, - "src": "872:69:18", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9385, - "src": "228:715:18" - } - ], - "src": "33:911:18" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.642Z", - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." - }, - "tokenByIndex(uint256)": { - "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." - }, - "totalSupply()": { - "details": "Returns the total amount of tokens stored by the contract." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." - } - }, - "title": "ERC-721 Non-Fungible Token Standard, optional enumeration extension" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC721Metadata.json b/build/contracts/IERC721Metadata.json deleted file mode 100644 index 800e1ce9..00000000 --- a/build/contracts/IERC721Metadata.json +++ /dev/null @@ -1,955 +0,0 @@ -{ - "contractName": "IERC721Metadata", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.2 <0.8.0;\n\nimport \"./IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional metadata extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Metadata is IERC721 {\n\n /**\n * @dev Returns the token collection name.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the token collection symbol.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.\n */\n function tokenURI(uint256 tokenId) external view returns (string memory);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "exportedSymbols": { - "IERC721Metadata": [ - 9407 - ] - }, - "id": 9408, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9386, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:19" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9387, - "nodeType": "ImportDirective", - "scope": 9408, - "sourceUnit": 9358, - "src": "66:23:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9388, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "254:7:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 9389, - "nodeType": "InheritanceSpecifier", - "src": "254:7:19" - } - ], - "contractDependencies": [ - 7447, - 9357 - ], - "contractKind": "interface", - "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": false, - "id": 9407, - "linearizedBaseContracts": [ - 9407, - 9357, - 7447 - ], - "name": "IERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the token collection name.", - "functionSelector": "06fdde03", - "id": 9394, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9390, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:19" - }, - "returnParameters": { - "id": 9393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9392, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9394, - "src": "371:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9391, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "371:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:15:19" - }, - "scope": 9407, - "src": "332:54:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the token collection symbol.", - "functionSelector": "95d89b41", - "id": 9399, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9395, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:19" - }, - "returnParameters": { - "id": 9398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9397, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9399, - "src": "498:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9396, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:15:19" - }, - "scope": 9407, - "src": "457:56:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.", - "functionSelector": "c87b56dd", - "id": 9406, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9401, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9406, - "src": "632:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:17:19" - }, - "returnParameters": { - "id": 9405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9404, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9406, - "src": "672:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "672:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:15:19" - }, - "scope": 9407, - "src": "614:73:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9408, - "src": "225:464:19" - } - ], - "src": "33:657:19" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol", - "exportedSymbols": { - "IERC721Metadata": [ - 9407 - ] - }, - "id": 9408, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9386, - "literals": [ - "solidity", - ">=", - "0.6", - ".2", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:19" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", - "file": "./IERC721.sol", - "id": 9387, - "nodeType": "ImportDirective", - "scope": 9408, - "sourceUnit": 9358, - "src": "66:23:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 9388, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9357, - "src": "254:7:19", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$9357", - "typeString": "contract IERC721" - } - }, - "id": 9389, - "nodeType": "InheritanceSpecifier", - "src": "254:7:19" - } - ], - "contractDependencies": [ - 7447, - 9357 - ], - "contractKind": "interface", - "documentation": "@title ERC-721 Non-Fungible Token Standard, optional metadata extension\n@dev See https://eips.ethereum.org/EIPS/eip-721", - "fullyImplemented": false, - "id": 9407, - "linearizedBaseContracts": [ - 9407, - 9357, - 7447 - ], - "name": "IERC721Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the token collection name.", - "functionSelector": "06fdde03", - "id": 9394, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "name", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9390, - "nodeType": "ParameterList", - "parameters": [], - "src": "345:2:19" - }, - "returnParameters": { - "id": 9393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9392, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9394, - "src": "371:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9391, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "371:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "370:15:19" - }, - "scope": 9407, - "src": "332:54:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the token collection symbol.", - "functionSelector": "95d89b41", - "id": 9399, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "symbol", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9395, - "nodeType": "ParameterList", - "parameters": [], - "src": "472:2:19" - }, - "returnParameters": { - "id": 9398, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9397, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9399, - "src": "498:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9396, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "498:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "497:15:19" - }, - "scope": 9407, - "src": "457:56:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.", - "functionSelector": "c87b56dd", - "id": 9406, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9402, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9401, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9406, - "src": "632:15:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "632:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "631:17:19" - }, - "returnParameters": { - "id": 9405, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9404, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9406, - "src": "672:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 9403, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "672:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "671:15:19" - }, - "scope": 9407, - "src": "614:73:19", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9408, - "src": "225:464:19" - } - ], - "src": "33:657:19" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.643Z", - "devdoc": { - "details": "See https://eips.ethereum.org/EIPS/eip-721", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * Requirements: * - The caller must own the token or be an approved operator. - `tokenId` must exist. * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. * See {setApprovalForAll}" - }, - "name()": { - "details": "Returns the token collection name." - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. * Requirements: * - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * Requirements: * - The `operator` cannot be the caller. * Emits an {ApprovalForAll} event." - }, - "supportsInterface(bytes4)": { - "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. * This function call must use less than 30 000 gas." - }, - "symbol()": { - "details": "Returns the token collection symbol." - }, - "tokenURI(uint256)": { - "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. * Requirements: * - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * Emits a {Transfer} event." - } - }, - "title": "ERC-721 Non-Fungible Token Standard, optional metadata extension" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/IERC721Receiver.json b/build/contracts/IERC721Receiver.json deleted file mode 100644 index e1a0acaa..00000000 --- a/build/contracts/IERC721Receiver.json +++ /dev/null @@ -1,491 +0,0 @@ -{ - "contractName": "IERC721Receiver", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. * It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @title ERC721 token receiver interface\n * @dev Interface for any contract that wants to support safeTransfers\n * from ERC721 asset contracts.\n */\ninterface IERC721Receiver {\n /**\n * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\n * by `operator` from `from`, this function is called.\n *\n * It must return its Solidity selector to confirm the token transfer.\n * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n *\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\n */\n function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 9423 - ] - }, - "id": 9424, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9409, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", - "fullyImplemented": false, - "id": 9423, - "linearizedBaseContracts": [ - 9423 - ], - "name": "IERC721Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\nby `operator` from `from`, this function is called.\n * It must return its Solidity selector to confirm the token transfer.\nIf any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.", - "functionSelector": "150b7a02", - "id": 9422, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9411, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "767:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "767:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9413, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "785:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "785:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9415, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "799:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "799:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9417, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "816:19:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9416, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "816:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:70:20" - }, - "returnParameters": { - "id": 9421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9420, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "855:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9419, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "855:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "854:8:20" - }, - "scope": 9423, - "src": "741:122:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9424, - "src": "219:646:20" - } - ], - "src": "33:833:20" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", - "exportedSymbols": { - "IERC721Receiver": [ - 9423 - ] - }, - "id": 9424, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 9409, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:20" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC721 token receiver interface\n@dev Interface for any contract that wants to support safeTransfers\nfrom ERC721 asset contracts.", - "fullyImplemented": false, - "id": 9423, - "linearizedBaseContracts": [ - 9423 - ], - "name": "IERC721Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}\nby `operator` from `from`, this function is called.\n * It must return its Solidity selector to confirm the token transfer.\nIf any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted.\n * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.", - "functionSelector": "150b7a02", - "id": 9422, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC721Received", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 9418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9411, - "name": "operator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "767:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9410, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "767:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9413, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "785:12:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 9412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "785:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9415, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "799:15:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 9414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "799:7:20", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 9417, - "name": "data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "816:19:20", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 9416, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "816:5:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:70:20" - }, - "returnParameters": { - "id": 9421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 9420, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 9422, - "src": "855:6:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 9419, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "855:6:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "854:8:20" - }, - "scope": 9423, - "src": "741:122:20", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 9424, - "src": "219:646:20" - } - ], - "src": "33:833:20" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.643Z", - "devdoc": { - "details": "Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. * It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - } - }, - "title": "ERC721 token receiver interface" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/MarketplaceRealFvr.json b/build/contracts/MarketplaceRealFvr.json deleted file mode 100644 index 6d17b063..00000000 --- a/build/contracts/MarketplaceRealFvr.json +++ /dev/null @@ -1,12413 +0,0 @@ -{ - "contractName": "MarketplaceRealFvr", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_erc20Address", - "type": "address" - }, - { - "internalType": "contract OpenerRealFvr", - "name": "_erc721Address", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "SaleCanceled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "SaleCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "SaleDone", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_erc20Address", - "type": "address" - } - ], - "name": "changeERC20", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract IERC721", - "name": "_erc721Address", - "type": "address" - } - ], - "name": "changeERC721", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "erc20Address", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "erc721Address", - "outputs": [ - { - "internalType": "contract OpenerRealFvr", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeAddress", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feePercentage", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isNativeTransaction", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_price", - "type": "uint256" - } - ], - "name": "putERC721OnSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "removeERC721FromSale", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "saleIncrementId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "sales", - "outputs": [ - { - "internalType": "uint256", - "name": "saleId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "timesSold", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "seller", - "type": "address" - }, - { - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "date", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "canceled", - "type": "bool" - }, - { - "internalType": "bool", - "name": "sold", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "salesById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_feeAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercentage", - "type": "uint256" - } - ], - "name": "setFixedFees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "removeERC721FromSaleAdmin", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "buyERC721", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_erc20Address\",\"type\":\"address\"},{\"internalType\":\"contract OpenerRealFvr\",\"name\":\"_erc721Address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"SaleCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"SaleCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"SaleDone\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"buyERC721\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_erc20Address\",\"type\":\"address\"}],\"name\":\"changeERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC721\",\"name\":\"_erc721Address\",\"type\":\"address\"}],\"name\":\"changeERC721\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20Address\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc721Address\",\"outputs\":[{\"internalType\":\"contract OpenerRealFvr\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeAddress\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feePercentage\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isNativeTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_price\",\"type\":\"uint256\"}],\"name\":\"putERC721OnSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"removeERC721FromSale\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"removeERC721FromSaleAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"saleIncrementId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"sales\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"saleId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timesSold\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"date\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"sold\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"salesById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_feeAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercentage\",\"type\":\"uint256\"}],\"name\":\"setFixedFees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/MarketplaceRealFvr.sol\":\"MarketplaceRealFvr\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol\":{\"keccak256\":\"0xc5aae6e7584285efc55cf27a6e16b836e0ba7f9a173ed1ca622fb9d2dfb3b2d6\",\"urls\":[\"bzz-raw://7fe0f58579081ea8816ecd6e56e86e94b0b8629ee7e1a6087d98e625764d7bf9\",\"dweb:/ipfs/QmPSgAA8bmJtGP3iAudEw4JHiKqh8JgHRw6GMK6kQ2Yk5W\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/MarketplaceRealFvr.sol\":{\"keccak256\":\"0x834222c4adc4d7ce81df26e6c0b409b3264dea67b6058160a10c5b91d2feed08\",\"urls\":[\"bzz-raw://a913fb31d025aa6b90e9262f198ca7b0886d53cc4c57c66f633914ddf7c26412\",\"dweb:/ipfs/QmS2YAqZMfsVAiSL8zBEoRWXWnd3UJrQSgiD74rZKkZKh4\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040526000600455600160055534801561001a57600080fd5b50604051611a2e380380611a2e8339818101604052604081101561003d57600080fd5b508051602090910151600080546001600160a01b03199081163317909155600180546001600160a01b03948516908316179055600280549390921692811683179091556008805490911690911790556119938061009b6000396000f3fe6080604052600436106100fe5760003560e01c8063944cce5b11610095578063c4c2812511610064578063c4c281251461030a578063d265185514610334578063d6e9d8d114610367578063f2fde38b14610390578063fd637975146103c3576100fe565b8063944cce5b1461022057806395fcf58e1461023d578063a001ecdd14610276578063b5f522f71461028b576100fe565b80633c61c907116100d15780633c61c907146101a557806341275358146101cf5780637f09e9af146101e45780638da5cb5b1461020b576100fe565b80631466c31f146101035780632352a8641461012f578063276184ae14610160578063332c726314610175575b600080fd5b34801561010f57600080fd5b5061012d6004803603602081101561012657600080fd5b50356103f6565b005b34801561013b57600080fd5b5061014461059a565b604080516001600160a01b039092168252519081900360200190f35b34801561016c57600080fd5b506101446105a9565b34801561018157600080fd5b5061012d6004803603604081101561019857600080fd5b50803590602001356105b8565b3480156101b157600080fd5b5061012d600480360360208110156101c857600080fd5b5035610977565b3480156101db57600080fd5b50610144610b47565b3480156101f057600080fd5b506101f9610b56565b60408051918252519081900360200190f35b34801561021757600080fd5b50610144610b5c565b61012d6004803603602081101561023657600080fd5b5035610b6b565b34801561024957600080fd5b5061012d6004803603604081101561026057600080fd5b506001600160a01b0381351690602001356115a7565b34801561028257600080fd5b506101f9611675565b34801561029757600080fd5b506102b5600480360360208110156102ae57600080fd5b503561167b565b60408051998a5260208a01989098528888019690965260608801949094526001600160a01b039283166080880152911660a086015260c0850152151560e0840152151561010083015251908190036101200190f35b34801561031657600080fd5b506101f96004803603602081101561032d57600080fd5b50356116d7565b34801561034057600080fd5b5061012d6004803603602081101561035757600080fd5b50356001600160a01b03166116e9565b34801561037357600080fd5b5061037c611722565b604080519115158252519081900360200190f35b34801561039c57600080fd5b5061012d600480360360208110156103b357600080fd5b50356001600160a01b0316611732565b3480156103cf57600080fd5b5061012d600480360360208110156103e657600080fd5b50356001600160a01b03166117b7565b6000546001600160a01b0316331461040d57600080fd5b6000818152600660205260409020600101548114610467576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b60008181526006602052604080822060078101805460ff1916600117905560085460049182015483516323b872dd60e01b815230938101939093526001600160a01b0390811660248401526044830186905292519216926323b872dd9260648084019382900301818387803b1580156104df57600080fd5b505af11580156104f3573d6000803e3d6000fd5b5050506000828152600660205260408082206004015490516001600160a01b03909116925083917fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e991a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6008546001600160a01b031681565b6001546001600160a01b031681565b600254604080516331a9108f60e11b815260048101859052905133926001600160a01b031691636352211e916024808301926020929190829003018186803b15801561060357600080fd5b505afa158015610617573d6000803e3d6000fd5b505050506040513d602081101561062d57600080fd5b50516001600160a01b031614610681576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600254604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050506106fa6117f0565b6006600084815260200190815260200160002060405180610120016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600682015481526020016007820160009054906101000a900460ff161515151581526020016007820160019054906101000a900460ff161515151581525050905060055481600001818152505082816020018181525050818160600181815250503381608001906001600160a01b031690816001600160a01b031681525050428160c001818152505080600660008581526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff0219169083151502179055506101008201518160070160016101000a81548160ff0219169083151502179055509050508260076000600554815260200190815260200160002081905550336001600160a01b0316837f63ee37b4d42c1356bfc458c2a7f33bc4b37d951b24e3ec0852c981789dfc1e9c846040518082815260200191505060405180910390a3505060058054600101905550565b6000818152600660205260409020600401546001600160a01b031633146109dc576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b6000818152600660205260409020600101548114610a36576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040808220600701805460ff1916600117905560025481516323b872dd60e01b81523060048201523360248201526044810185905291516001600160a01b03909116926323b872dd926064808201939182900301818387803b158015610aa557600080fd5b505af1158015610ab9573d6000803e3d6000fd5b50506040513392508391507fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e990600090a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6003546001600160a01b031681565b60055481565b6000546001600160a01b031681565b6000818152600660205260409020600101548114610bc5576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040902060070154610100900460ff1615610c1b5760405162461bcd60e51b81526004018080602001828103825260248152602001806118536024913960400191505060405180910390fd5b60085460408051636ae171fb60e11b815260048101849052905160609283926001600160a01b039091169163d5c2e3f69160248082019260009290919082900301818387803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610caa57600080fd5b8101908080516040519392919084640100000000821115610cca57600080fd5b908301906020820185811115610cdf57600080fd5b8251866020820283011164010000000082111715610cfc57600080fd5b82525081516020918201928201910280838360005b83811015610d29578181015183820152602001610d11565b5050505090500160405260200180516040519392919084640100000000821115610d5257600080fd5b908301906020820185811115610d6757600080fd5b8251866020820283011164010000000082111715610d8457600080fd5b82525081516020918201928201910280838360005b83811015610db1578181015183820152602001610d99565b505050509050016040525050508092508193505050610dce611722565b15611048576000838152600660205260409020600301543414610e225760405162461bcd60e51b815260040180806020018281038252602f8152602001806118c9602f913960400191505060405180910390fd5b6000805b8351811015610f285760006001600160a01b0316838281518110610e4657fe5b60200260200101516001600160a01b031614610f2057828181518110610e6857fe5b60200260200101516001600160a01b03166108fc60646006600089815260200190815260200160002060030154878581518110610ea157fe5b60200260200101510281610eb157fe5b049081150290604051600060405180830381858888f19350505050610f075760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b838181518110610f1357fe5b6020026020010151820191505b600101610e26565b506003546001600160a01b031615610fb757600380546000868152600660205260408082209093015460045493516001600160a01b0390931693606491020480156108fc02929091818181858888f19350505050610fb75760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b600084815260066020526040902060048082015460039092015490546001600160a01b03909216916108fc91606491820385900302049081150290604051600060405180830381858888f193505050506110425760405162461bcd60e51b81526004018080602001828103825260388152602001806118f86038913960400191505060405180910390fd5b50611469565b60015460008481526006602090815260408083206003015481516323b872dd60e01b8152336004820152306024820152604481019190915290516001600160a01b03909416936323b872dd93606480840194938390030190829087803b1580156110b157600080fd5b505af11580156110c5573d6000803e3d6000fd5b505050506040513d60208110156110db57600080fd5b50516111185760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b6000805b835181101561128a5760006001600160a01b031683828151811061113c57fe5b60200260200101516001600160a01b0316146112825760015483516001600160a01b039091169063a9059cbb9085908490811061117557fe5b60200260200101516064600660008a8152602001908152602001600020600301548886815181106111a257fe5b602002602001015102816111b257fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561120257600080fd5b505af1158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b50516112695760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b83818151811061127557fe5b6020026020010151820191505b60010161111c565b506003546001600160a01b03161561138757600154600380546000878152600660205260409020909101546004546001600160a01b039384169363a9059cbb93169160649102046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b505050506040513d602081101561134a57600080fd5b50516113875760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b60015460008581526006602090815260408083206004808201546003909201548154845163a9059cbb60e01b81526001600160a01b03948516938101939093526064908103899003909102046024820152915194169363a9059cbb93604480840194938390030190829087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b50516114675760405162461bcd60e51b815260040180806020018281038252602e815260200180611930602e913960400191505060405180910390fd5b505b600854604080516323b872dd60e01b81523060048201523360248201526044810186905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156114c257600080fd5b505af11580156114d6573d6000803e3d6000fd5b50505060008481526006602090815260409182902060078101805461ff0019166101001790556004810154600390910154835190815292516001600160a01b039091169350339287927ff987d279e153abdd99199c514bc50631e79d5e1f82343a733d9fcd149cff97ff92918290030190a45050600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6000546001600160a01b031633146115be57600080fd5b6001600160a01b038216611610576040805162461bcd60e51b81526020600482015260146024820152731059191c995cdcc818d85b9d081899481b9d5b1b60621b604482015290519081900360640190fd5b6064811061164f5760405162461bcd60e51b81526004018080602001828103825260278152602001806118a26027913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b039390931692909217909155600455565b60045481565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494969395929491936001600160a01b039182169391169160ff8082169161010090041689565b60076020526000908152604090205481565b6000546001600160a01b0316331461170057600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03161590565b6000546001600160a01b0316331461174957600080fd5b6001600160a01b03811661175c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117ce57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600015158152602001600015158152509056fe4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e736665724665652050657263656e746167652068617320746f206265206c6f776572207468616e203130305265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f72726563745761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c65725761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572a26469706673582212209fae6bf4d776a7e82da26fc088e459ae3aa956f3f4c4b777b49e48de04a741b964736f6c63430006020033", - "deployedBytecode": "0x6080604052600436106100fe5760003560e01c8063944cce5b11610095578063c4c2812511610064578063c4c281251461030a578063d265185514610334578063d6e9d8d114610367578063f2fde38b14610390578063fd637975146103c3576100fe565b8063944cce5b1461022057806395fcf58e1461023d578063a001ecdd14610276578063b5f522f71461028b576100fe565b80633c61c907116100d15780633c61c907146101a557806341275358146101cf5780637f09e9af146101e45780638da5cb5b1461020b576100fe565b80631466c31f146101035780632352a8641461012f578063276184ae14610160578063332c726314610175575b600080fd5b34801561010f57600080fd5b5061012d6004803603602081101561012657600080fd5b50356103f6565b005b34801561013b57600080fd5b5061014461059a565b604080516001600160a01b039092168252519081900360200190f35b34801561016c57600080fd5b506101446105a9565b34801561018157600080fd5b5061012d6004803603604081101561019857600080fd5b50803590602001356105b8565b3480156101b157600080fd5b5061012d600480360360208110156101c857600080fd5b5035610977565b3480156101db57600080fd5b50610144610b47565b3480156101f057600080fd5b506101f9610b56565b60408051918252519081900360200190f35b34801561021757600080fd5b50610144610b5c565b61012d6004803603602081101561023657600080fd5b5035610b6b565b34801561024957600080fd5b5061012d6004803603604081101561026057600080fd5b506001600160a01b0381351690602001356115a7565b34801561028257600080fd5b506101f9611675565b34801561029757600080fd5b506102b5600480360360208110156102ae57600080fd5b503561167b565b60408051998a5260208a01989098528888019690965260608801949094526001600160a01b039283166080880152911660a086015260c0850152151560e0840152151561010083015251908190036101200190f35b34801561031657600080fd5b506101f96004803603602081101561032d57600080fd5b50356116d7565b34801561034057600080fd5b5061012d6004803603602081101561035757600080fd5b50356001600160a01b03166116e9565b34801561037357600080fd5b5061037c611722565b604080519115158252519081900360200190f35b34801561039c57600080fd5b5061012d600480360360208110156103b357600080fd5b50356001600160a01b0316611732565b3480156103cf57600080fd5b5061012d600480360360208110156103e657600080fd5b50356001600160a01b03166117b7565b6000546001600160a01b0316331461040d57600080fd5b6000818152600660205260409020600101548114610467576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b60008181526006602052604080822060078101805460ff1916600117905560085460049182015483516323b872dd60e01b815230938101939093526001600160a01b0390811660248401526044830186905292519216926323b872dd9260648084019382900301818387803b1580156104df57600080fd5b505af11580156104f3573d6000803e3d6000fd5b5050506000828152600660205260408082206004015490516001600160a01b03909116925083917fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e991a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6008546001600160a01b031681565b6001546001600160a01b031681565b600254604080516331a9108f60e11b815260048101859052905133926001600160a01b031691636352211e916024808301926020929190829003018186803b15801561060357600080fd5b505afa158015610617573d6000803e3d6000fd5b505050506040513d602081101561062d57600080fd5b50516001600160a01b031614610681576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b600254604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156106da57600080fd5b505af11580156106ee573d6000803e3d6000fd5b505050506106fa6117f0565b6006600084815260200190815260200160002060405180610120016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016005820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001600682015481526020016007820160009054906101000a900460ff161515151581526020016007820160019054906101000a900460ff161515151581525050905060055481600001818152505082816020018181525050818160600181815250503381608001906001600160a01b031690816001600160a01b031681525050428160c001818152505080600660008581526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff0219169083151502179055506101008201518160070160016101000a81548160ff0219169083151502179055509050508260076000600554815260200190815260200160002081905550336001600160a01b0316837f63ee37b4d42c1356bfc458c2a7f33bc4b37d951b24e3ec0852c981789dfc1e9c846040518082815260200191505060405180910390a3505060058054600101905550565b6000818152600660205260409020600401546001600160a01b031633146109dc576040805162461bcd60e51b8152602060048201526014602482015273139bdd0813dddb995c881bd9881d1a194813919560621b604482015290519081900360640190fd5b6000818152600660205260409020600101548114610a36576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040808220600701805460ff1916600117905560025481516323b872dd60e01b81523060048201523360248201526044810185905291516001600160a01b03909116926323b872dd926064808201939182900301818387803b158015610aa557600080fd5b505af1158015610ab9573d6000803e3d6000fd5b50506040513392508391507fc17a2000b952093a1b49de547dc3416f2a96f6d78da5b597d5ee0272b6be70e990600090a3600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6003546001600160a01b031681565b60055481565b6000546001600160a01b031681565b6000818152600660205260409020600101548114610bc5576040805162461bcd60e51b81526020600482015260126024820152714e4654206973206e6f7420696e2073616c6560701b604482015290519081900360640190fd5b600081815260066020526040902060070154610100900460ff1615610c1b5760405162461bcd60e51b81526004018080602001828103825260248152602001806118536024913960400191505060405180910390fd5b60085460408051636ae171fb60e11b815260048101849052905160609283926001600160a01b039091169163d5c2e3f69160248082019260009290919082900301818387803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610caa57600080fd5b8101908080516040519392919084640100000000821115610cca57600080fd5b908301906020820185811115610cdf57600080fd5b8251866020820283011164010000000082111715610cfc57600080fd5b82525081516020918201928201910280838360005b83811015610d29578181015183820152602001610d11565b5050505090500160405260200180516040519392919084640100000000821115610d5257600080fd5b908301906020820185811115610d6757600080fd5b8251866020820283011164010000000082111715610d8457600080fd5b82525081516020918201928201910280838360005b83811015610db1578181015183820152602001610d99565b505050509050016040525050508092508193505050610dce611722565b15611048576000838152600660205260409020600301543414610e225760405162461bcd60e51b815260040180806020018281038252602f8152602001806118c9602f913960400191505060405180910390fd5b6000805b8351811015610f285760006001600160a01b0316838281518110610e4657fe5b60200260200101516001600160a01b031614610f2057828181518110610e6857fe5b60200260200101516001600160a01b03166108fc60646006600089815260200190815260200160002060030154878581518110610ea157fe5b60200260200101510281610eb157fe5b049081150290604051600060405180830381858888f19350505050610f075760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b838181518110610f1357fe5b6020026020010151820191505b600101610e26565b506003546001600160a01b031615610fb757600380546000868152600660205260408082209093015460045493516001600160a01b0390931693606491020480156108fc02929091818181858888f19350505050610fb75760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b600084815260066020526040902060048082015460039092015490546001600160a01b03909216916108fc91606491820385900302049081150290604051600060405180830381858888f193505050506110425760405162461bcd60e51b81526004018080602001828103825260388152602001806118f86038913960400191505060405180910390fd5b50611469565b60015460008481526006602090815260408083206003015481516323b872dd60e01b8152336004820152306024820152604481019190915290516001600160a01b03909416936323b872dd93606480840194938390030190829087803b1580156110b157600080fd5b505af11580156110c5573d6000803e3d6000fd5b505050506040513d60208110156110db57600080fd5b50516111185760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b6000805b835181101561128a5760006001600160a01b031683828151811061113c57fe5b60200260200101516001600160a01b0316146112825760015483516001600160a01b039091169063a9059cbb9085908490811061117557fe5b60200260200101516064600660008a8152602001908152602001600020600301548886815181106111a257fe5b602002602001015102816111b257fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561120257600080fd5b505af1158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b50516112695760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b83818151811061127557fe5b6020026020010151820191505b60010161111c565b506003546001600160a01b03161561138757600154600380546000878152600660205260409020909101546004546001600160a01b039384169363a9059cbb93169160649102046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b505050506040513d602081101561134a57600080fd5b50516113875760405162461bcd60e51b815260040180806020018281038252602b815260200180611877602b913960400191505060405180910390fd5b60015460008581526006602090815260408083206004808201546003909201548154845163a9059cbb60e01b81526001600160a01b03948516938101939093526064908103899003909102046024820152915194169363a9059cbb93604480840194938390030190829087803b15801561140057600080fd5b505af1158015611414573d6000803e3d6000fd5b505050506040513d602081101561142a57600080fd5b50516114675760405162461bcd60e51b815260040180806020018281038252602e815260200180611930602e913960400191505060405180910390fd5b505b600854604080516323b872dd60e01b81523060048201523360248201526044810186905290516001600160a01b03909216916323b872dd9160648082019260009290919082900301818387803b1580156114c257600080fd5b505af11580156114d6573d6000803e3d6000fd5b50505060008481526006602090815260409182902060078101805461ff0019166101001790556004810154600390910154835190815292516001600160a01b039091169350339287927ff987d279e153abdd99199c514bc50631e79d5e1f82343a733d9fcd149cff97ff92918290030190a45050600090815260066020819052604082208281556001810183905560028101839055600381018390556004810180546001600160a01b0319908116909155600582018054909116905590810191909155600701805461ffff19169055565b6000546001600160a01b031633146115be57600080fd5b6001600160a01b038216611610576040805162461bcd60e51b81526020600482015260146024820152731059191c995cdcc818d85b9d081899481b9d5b1b60621b604482015290519081900360640190fd5b6064811061164f5760405162461bcd60e51b81526004018080602001828103825260278152602001806118a26027913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b039390931692909217909155600455565b60045481565b60066020819052600091825260409091208054600182015460028301546003840154600485015460058601549686015460079096015494969395929491936001600160a01b039182169391169160ff8082169161010090041689565b60076020526000908152604090205481565b6000546001600160a01b0316331461170057600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03161590565b6000546001600160a01b0316331461174957600080fd5b6001600160a01b03811661175c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146117ce57600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6040518061012001604052806000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600015158152602001600015158152509056fe4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e736665724665652050657263656e746167652068617320746f206265206c6f776572207468616e203130305265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f72726563745761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c65725761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572a26469706673582212209fae6bf4d776a7e82da26fc088e459ae3aa956f3f4c4b777b49e48de04a741b964736f6c63430006020033", - "sourceMap": "337:4048:9:-:0;;;385:1:4;354:32;;435:1;402:34;;438:180:9;8:9:-1;5:2;;;30:1;27;20:12;5:2;438:180:9;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;438:180:9;;;;;;;508:5:11;:18;;-1:-1:-1;;;;;;508:18:11;;;516:10;508:18;;;;;931:28:4;;-1:-1:-1;;;;;931:28:4;;;;;;;;;973:13;:30;;;;;;;;;;;;;;581:13:9::1;:30:::0;;;;::::1;::::0;;::::1;::::0;;337:4048;;;;;;", - "deployedSourceMap": "337:4048:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;624:372;;8:9:-1;5:2;;;30:1;27;20:12;5:2;624:372:9;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;624:372:9;;:::i;:::-;;397:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;397:34:9;;;:::i;:::-;;;;-1:-1:-1;;;;;397:34:9;;;;;;;;;;;;;;249:25:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;249:25:4;;;:::i;1408:661::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1408:661:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1408:661:4;;;;;;;:::i;2076:412::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2076:412:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2076:412:4;;:::i;315:33::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;315:33:4;;;:::i;402:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;402:34:4;;;:::i;:::-;;;;;;;;;;;;;;;;239:20:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;239:20:11;;;:::i;1002:3380:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1002:3380:9;;:::i;4666:323:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4666:323:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4666:323:4;;;;;;;;:::i;354:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;354:32:4;;;:::i;447:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;447:37:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;447:37:4;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;447:37:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;525:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;525:44:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;525:44:4;;:::i;4440:104::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4440:104:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4440:104:4;-1:-1:-1;;;;;4440:104:4;;:::i;1289:113::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1289:113:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;864:188:11;;8:9:-1;5:2;;;30:1;27;20:12;5:2;864:188:11;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;4550:110:4:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4550:110:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4550:110:4;-1:-1:-1;;;;;4550:110:4;;:::i;624:372:9:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;712:15:9::1;::::0;;;:5:::1;:15;::::0;;;;:23:::1;;::::0;:35;::::1;704:66;;;::::0;;-1:-1:-1;;;704:66:9;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;704:66:9;;;;;;;;;;;;;::::1;;780:15;::::0;;;:5:::1;:15;::::0;;;;;:24:::1;::::0;::::1;:31:::0;;-1:-1:-1;;780:31:9::1;807:4;780:31;::::0;;821:13:::1;::::0;863:22:::1;::::0;;::::1;::::0;821:75;;-1:-1:-1;;;821:75:9;;856:4:::1;821:75:::0;;::::1;::::0;;;;-1:-1:-1;;;;;863:22:9;;::::1;821:75:::0;;;;;;;;;;;;:13;::::1;::::0;:26:::1;::::0;:75;;;;;;;;;;780:15;821:13;:75;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;821:75:9;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;-1:-1:::0;;;934:15:9::1;::::0;;;:5:::1;:15;::::0;;;;;:22:::1;;::::0;911:46;;-1:-1:-1;;;;;934:22:9;;::::1;::::0;-1:-1:-1;940:8:9;;911:46:::1;::::0;::::1;974:15;::::0;;;:5:::1;:15;::::0;;;;;;967:22;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;967:22:9;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;;;::::1;;::::0;;-1:-1:-1;;967:22:9;;;624:372::o;397:34::-;;;-1:-1:-1;;;;;397:34:9;;:::o;249:25:4:-;;;-1:-1:-1;;;;;249:25:4;;:::o;1408:661::-;1492:13;;:31;;;-1:-1:-1;;;1492:31:4;;;;;;;;;;1527:10;;-1:-1:-1;;;;;1492:13:4;;:21;;:31;;;;;;;;;;;;;;:13;:31;;;5:2:-1;;;;30:1;27;20:12;5:2;1492:31:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1492:31:4;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1492:31:4;-1:-1:-1;;;;;1492:45:4;;1484:78;;;;;-1:-1:-1;;;1484:78:4;;;;;;;;;;;;-1:-1:-1;;;1484:78:4;;;;;;;;;;;;;;;1572:13;;:63;;;-1:-1:-1;;;1572:63:4;;1599:10;1572:63;;;;1619:4;1572:63;;;;;;;;;;;;-1:-1:-1;;;;;1572:13:4;;;;:26;;:63;;;;;:13;;:63;;;;;;;;:13;;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;1572:63:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1572:63:4;;;;1675:16;;:::i;:::-;1694:5;:15;1700:8;1694:15;;;;;;;;;;;1675:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;-1:-1:-1;;;;;1675:34:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:15;;1719:4;:11;;:29;;;;;1773:8;1758:4;:12;;:23;;;;;1804:6;1791:4;:10;;:19;;;;;1834:10;1820:4;:11;;:24;-1:-1:-1;;;;;1820:24:4;;;-1:-1:-1;;;;;1820:24:4;;;;;1866:15;1854:4;:9;;:27;;;;;1909:4;1891:5;:15;1897:8;1891:15;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:22:4;;;;;-1:-1:-1;;;;;1891:22:4;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:22:4;;;;;-1:-1:-1;;;;;1891:22:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1952:8;1923:9;:26;1933:15;;1923:26;;;;;;;;;;;:37;;;;2006:10;-1:-1:-1;;;;;1976:41:4;1988:8;1976:41;1998:6;1976:41;;;;;;;;;;;;;;;;;;-1:-1:-1;;2045:15:4;;;2061:1;2045:17;2027:35;;-1:-1:-1;1408:661:4:o;2076:412::-;2149:15;;;;:5;:15;;;;;:22;;;-1:-1:-1;;;;;2149:22:4;2175:10;2149:36;2141:69;;;;;-1:-1:-1;;;2141:69:4;;;;;;;;;;;;-1:-1:-1;;;2141:69:4;;;;;;;;;;;;;;;2228:15;;;;:5;:15;;;;;:23;;;:35;;2220:66;;;;;-1:-1:-1;;;2220:66:4;;;;;;;;;;;;-1:-1:-1;;;2220:66:4;;;;;;;;;;;;;;;2296:15;;;;:5;:15;;;;;;:24;;:31;;-1:-1:-1;;2296:31:4;2323:4;2296:31;;;2337:13;;:63;;-1:-1:-1;;;2337:63:4;;2372:4;2337:63;;;;2379:10;2337:63;;;;;;;;;;;;-1:-1:-1;;;;;2337:13:4;;;;:26;;:63;;;;;;;;;;;2296:15;2337:13;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;2337:63:4;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2415:34:4;;2438:10;;-1:-1:-1;2428:8:4;;-1:-1:-1;2415:34:4;;;;;2466:15;;;;:5;:15;;;;;;;2459:22;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2459:22:4;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2459:22:4;;;2076:412::o;315:33::-;;;-1:-1:-1;;;;;315:33:4;;:::o;402:34::-;;;;:::o;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;1002:3380:9:-;1089:15;;;;:5;:15;;;;;:23;;;:35;;1081:66;;;;;-1:-1:-1;;;1081:66:9;;;;;;;;;;;;-1:-1:-1;;;1081:66:9;;;;;;;;;;;;;;;1166:15;;;;:5;:15;;;;;:20;;;;;;;;1165:21;1157:71;;;;-1:-1:-1;;;1157:71:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1447:13;;:59;;;-1:-1:-1;;;1447:59:9;;;;;;;;;;1305:36;;;;-1:-1:-1;;;;;1447:13:9;;;;:49;;:59;;;;;:13;;:59;;;;;;;;:13;;:59;;;5:2:-1;;;;30:1;27;20:12;5:2;1447:59:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1447:59:9;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1447:59:9;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;;;5:11;;2:2;;;29:1;26;19:12;2:2;1447:59:9;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;1447:59:9;;421:4:-1;412:14;;;;1447:59:9;;;;;412:14:-1;1447:59:9;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1447:59:9;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;373:25;;-1:-1;1447:59:9;;421:4:-1;412:14;;;;1447:59:9;;;;;412:14:-1;1447:59:9;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1447:59:9;;;;;;;;;;;1400:106;;;;;;;;1520:21;:19;:21::i;:::-;1517:2580;;;1610:15;;;;:5;:15;;;;;:21;;;1635:9;1610:34;1602:94;;;;-1:-1:-1;;;1602:94:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1726:16;;1760:484;1780:19;:26;1776:1;:30;1760:484;;;1869:1;-1:-1:-1;;;;;1833:38:9;:21;1855:1;1833:24;;;;;;;;;;;;;;-1:-1:-1;;;;;1833:38:9;;1830:400;;1961:21;1983:1;1961:24;;;;;;;;;;;;;;-1:-1:-1;;;;;1953:38:9;:144;2072:3;2047:5;:15;2053:8;2047:15;;;;;;;;;;;:21;;;2022:19;2042:1;2022:22;;;;;;;;;;;;;;:46;2021:54;;;;;;1953:144;;;;;;;;;;;;;;;;;;;;;;;1945:200;;;;-1:-1:-1;;;1945:200:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2189:19;2209:1;2189:22;;;;;;;;;;;;;;2178:8;:33;2167:44;;1830:400;1808:3;;1760:484;;;-1:-1:-1;2261:10:9;;-1:-1:-1;;;;;2261:10:9;:24;2258:268;;2359:10;;;;2417:15;;;:5;:15;;;;;;:21;;;;2401:13;;2359:104;;-1:-1:-1;;;;;2359:10:9;;;;2442:3;2401:37;;2400:45;2359:104;;;;;2400:45;;2359:104;:10;:104;2400:45;2359:10;:104;;;;;;;2351:160;;;;-1:-1:-1;;;2351:160:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2605:15;;;;:5;:15;;;;;:22;;;;;2665:21;;;;;2639:13;;-1:-1:-1;;;;;2605:22:9;;;;:89;;2690:3;;2635:17;;:26;;;2634:52;2633:60;2605:89;;;;;;;;;;;;;;;;;;;;;;;2597:158;;;;-1:-1:-1;;;2597:158:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:2580;;;;2842:12;;;2895:15;;;:5;:15;;;;;;;;:21;;;2842:75;;-1:-1:-1;;;2842:75:9;;2868:10;2842:75;;;;2888:4;2842:75;;;;;;;;;;;;;-1:-1:-1;;;;;2842:12:9;;;;:25;;:75;;;;;2895:15;2842:75;;;;;;;:12;:75;;;5:2:-1;;;;30:1;27;20:12;5:2;2842:75:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2842:75:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2842:75:9;2834:131;;;;-1:-1:-1;;;2834:131:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2980:16;;3014:521;3034:19;:26;3030:1;:30;3014:521;;;3123:1;-1:-1:-1;;;;;3087:38:9;:21;3109:1;3087:24;;;;;;;;;;;;;;-1:-1:-1;;;;;3087:38:9;;3084:437;;3207:12;;3258:24;;-1:-1:-1;;;;;3207:12:9;;;;:21;;3258;;3280:1;;3258:24;;;;;;;;;;;;3363:3;3338:5;:15;3344:8;3338:15;;;;;;;;;;;:21;;;3313:19;3333:1;3313:22;;;;;;;;;;;;;;:46;3312:54;;;;;;3207:181;;;;;;;;;;;;;-1:-1:-1;;;;;3207:181:9;-1:-1:-1;;;;;3207:181:9;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3207:181:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3207:181:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3207:181:9;3199:237;;;;-1:-1:-1;;;3199:237:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3480:19;3500:1;3480:22;;;;;;;;;;;;;;3469:8;:33;3458:44;;3084:437;3062:3;;3014:521;;;-1:-1:-1;3552:10:9;;-1:-1:-1;;;;;3552:10:9;:24;3549:310;;3650:12;;3697:10;;;3650:12;3750:15;;;:5;:15;;;;;:21;;;;3734:13;;-1:-1:-1;;;;;3650:12:9;;;;:21;;3697:10;;3775:3;;3734:37;3733:45;3650:146;;;;;;;;;;;;;-1:-1:-1;;;;;3650:146:9;-1:-1:-1;;;;;3650:146:9;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3650:146:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3650:146:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3650:146:9;3642:202;;;;-1:-1:-1;;;3642:202:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3928:12;;;3950:15;;;:5;:15;;;;;;;;:22;;;;;4006:21;;;;;3980:13;;3928:107;;-1:-1:-1;;;3928:107:9;;-1:-1:-1;;;;;3950:22:9;;;3928:107;;;;;;;4031:3;3976:17;;;:26;;;3975:52;;;3974:60;3928:107;;;;;;:12;;;:21;;:107;;;;;3950:15;3928:107;;;;;;;:12;:107;;;5:2:-1;;;;30:1;27;20:12;5:2;3928:107:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3928:107:9;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3928:107:9;3920:166;;;;-1:-1:-1;;;3920:166:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1517:2580;;4150:13;;:63;;;-1:-1:-1;;;4150:63:9;;4185:4;4150:63;;;;4192:10;4150:63;;;;;;;;;;;;-1:-1:-1;;;;;4150:13:9;;;;:26;;:63;;;;;:13;;:63;;;;;;;;:13;;:63;;;5:2:-1;;;;30:1;27;20:12;5:2;4150:63:9;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;4224:15:9;;;;:5;:15;;;;;;;;;:20;;;:27;;-1:-1:-1;;4224:27:9;;;;;4297:22;;;;4321:21;;;;;4266:77;;;;;;;-1:-1:-1;;;;;4297:22:9;;;;-1:-1:-1;4285:10:9;;4230:8;;4266:77;;;;;;;;;-1:-1:-1;;4360:15:9;;;;:5;:15;;;;;;;4353:22;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4353:22:9;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4353:22:9;;;1002:3380::o;4666:323:4:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;4776:25:4;::::1;4768:58;;;::::0;;-1:-1:-1;;;4768:58:4;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4768:58:4;;;;;;;;;;;;;::::1;;4861:3;4844:14;:20;4836:72;;;;-1:-1:-1::0;;;4836:72:4::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4918:10;:24:::0;;-1:-1:-1;;;;;;4918:24:4::1;-1:-1:-1::0;;;;;4918:24:4;;;::::1;::::0;;;::::1;::::0;;;4952:13:::1;:30:::0;4666:323::o;354:32::-;;;;:::o;447:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;447:37:4;;;;;;;;;;;;;;;;;:::o;525:44::-;;;;;;;;;;;;;:::o;4440:104::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4509:12:4::1;:28:::0;;-1:-1:-1;;;;;;4509:28:4::1;-1:-1:-1::0;;;;;4509:28:4;;;::::1;::::0;;;::::1;::::0;;4440:104::o;1289:113::-;1367:12;;-1:-1:-1;;;;;1367:12:4;1359:35;1289:113;:::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;4550:110:4:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4623:13:4::1;:30:::0;;-1:-1:-1;;;;;;4623:30:4::1;-1:-1:-1::0;;;;;4623:30:4;;;::::1;::::0;;;::::1;::::0;;4550:110::o;337:4048:9:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;337:4048:9;;;;;;-1:-1:-1;;;;;337:4048:9;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"../ERC721Marketplace.sol\";\n\n\ninterface OpenerRealFvr is IERC721 {\n function getMarketplaceDistributionForERC721(uint256 tokenId) external returns(uint256[] memory, address[] memory);\n}\n\ncontract MarketplaceRealFvr is ERC721Marketplace {\n \n OpenerRealFvr public erc721Address;\n\n constructor(ERC20 _erc20Address, \n OpenerRealFvr _erc721Address) \n public ERC721Marketplace(_erc20Address, _erc721Address) {\n erc721Address = _erc721Address;\n }\n\n function removeERC721FromSaleAdmin(uint256 _tokenId) public onlyOwner {\n require(sales[_tokenId].tokenId == _tokenId, \"NFT is not in sale\");\n sales[_tokenId].canceled = true;\n erc721Address.transferFrom(address(this), sales[_tokenId].seller, _tokenId);\n emit SaleCanceled(_tokenId, sales[_tokenId].seller);\n delete sales[_tokenId];\n }\n\n function buyERC721(uint256 _tokenId) payable public virtual override {\n require(sales[_tokenId].tokenId == _tokenId, \"NFT is not in sale\");\n require(!sales[_tokenId].sold, \"NFT has to be available for purchase\" );\n\n //Get Marketplace Sale Distibutions on the Smart Contract\n uint256[] memory distributionAmounts;\n address[] memory distributionAddresses;\n\n (distributionAmounts, distributionAddresses) = erc721Address.getMarketplaceDistributionForERC721(_tokenId);\n\n if(isNativeTransaction()){\n //Transfer Native ETH to contract\n require(sales[_tokenId].price == msg.value, \"Require Amount of Native Currency to be correct\"); \n \n uint256 totalFee = 0;\n for(uint i = 0; i < distributionAmounts.length; i++){\n if(distributionAddresses[i] != address(0)){\n // Transfer fee to fee address\n require(payable(distributionAddresses[i]).send(\n (distributionAmounts[i] * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n totalFee = totalFee + distributionAmounts[i];\n }\n }\n\n if(feeAddress != address(0)){\n // Transfer fee to fee address\n require(feeAddress.send(\n (feePercentage * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n }\n \n //Transfer Native Currency to seller\n require(sales[_tokenId].seller.send(((100-feePercentage-totalFee) * sales[_tokenId].price) / 100), \"Wasnt able to transfer the Native Currency to the seller\");\n \n }else{\n //Transfer ERC20 to contract\n require(erc20Address.transferFrom(msg.sender, address(this), sales[_tokenId].price), \"Contract was not allowed to do the transfer\");\n\n uint256 totalFee = 0;\n for(uint i = 0; i < distributionAmounts.length; i++){\n if(distributionAddresses[i] != address(0)){\n // Transfer fee to fee address\n require(erc20Address.transfer(\n distributionAddresses[i],\n (distributionAmounts[i] * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n totalFee = totalFee + distributionAmounts[i];\n }\n }\n\n if(feeAddress != address(0)){\n // Transfer fee to fee address\n require(erc20Address.transfer(\n feeAddress,\n (feePercentage * sales[_tokenId].price) / 100\n ), \"Contract was not allowed to do the transfer\");\n }\n \n //Transfer ERC20 to seller\n require(erc20Address.transfer(sales[_tokenId].seller, ((100-feePercentage-totalFee) * sales[_tokenId].price) / 100), \"Wasnt able to transfer the ERC20 to the seller\");\n }\n \n //Transfer ERC721 to buyer\n erc721Address.transferFrom(address(this), msg.sender, _tokenId);\n\n sales[_tokenId].sold = true;\n emit SaleDone(_tokenId, msg.sender, sales[_tokenId].seller, sales[_tokenId].price);\n delete sales[_tokenId];\n }\n\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/MarketplaceRealFvr.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/MarketplaceRealFvr.sol", - "exportedSymbols": { - "MarketplaceRealFvr": [ - 7359 - ], - "OpenerRealFvr": [ - 6956 - ] - }, - "id": 7360, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6939, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 6940, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 10301, - "src": "26:57:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 6941, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 9319, - "src": "84:55:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol", - "file": "../ERC721Marketplace.sol", - "id": 6942, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 1630, - "src": "140:34:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6943, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "204:7:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 6944, - "nodeType": "InheritanceSpecifier", - "src": "204:7:9" - } - ], - "contractDependencies": [ - 8493, - 10403 - ], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 6956, - "linearizedBaseContracts": [ - 6956, - 10403, - 8493 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "d5c2e3f6", - "id": 6955, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getMarketplaceDistributionForERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6946, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "263:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "263:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "262:17:9" - }, - "returnParameters": { - "id": 6954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6950, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "297:16:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "297:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6953, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "315:16:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6952, - "length": null, - "nodeType": "ArrayTypeName", - "src": "315:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "296:36:9" - }, - "scope": 6956, - "src": "218:115:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7360, - "src": "177:158:9" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6957, - "name": "ERC721Marketplace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1629, - "src": "368:17:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - }, - "id": 6958, - "nodeType": "InheritanceSpecifier", - "src": "368:17:9" - } - ], - "contractDependencies": [ - 1629, - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 7359, - "linearizedBaseContracts": [ - 7359, - 1629, - 8430 - ], - "name": "MarketplaceRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "2352a864", - "id": 6960, - "name": "erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7359, - "src": "397:34:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - }, - "typeName": { - "contractScope": null, - "id": 6959, - "name": "OpenerRealFvr", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6956, - "src": "397:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6975, - "nodeType": "Block", - "src": "571:47:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6971, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "581:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6972, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6964, - "src": "597:14:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "src": "581:30:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 6974, - "nodeType": "ExpressionStatement", - "src": "581:30:9" - } - ] - }, - "documentation": null, - "id": 6976, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6967, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6962, - "src": "540:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 6968, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6964, - "src": "555:14:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - } - ], - "id": 6969, - "modifierName": { - "argumentTypes": null, - "id": 6966, - "name": "ERC721Marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "522:17:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Marketplace_$1629_$", - "typeString": "type(contract ERC721Marketplace)" - } - }, - "nodeType": "ModifierInvocation", - "src": "522:48:9" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6962, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6976, - "src": "450:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6961, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "450:5:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6964, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6976, - "src": "480:28:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - }, - "typeName": { - "contractScope": null, - "id": 6963, - "name": "OpenerRealFvr", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6956, - "src": "480:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "449:60:9" - }, - "returnParameters": { - "id": 6970, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 7359, - "src": "438:180:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7027, - "nodeType": "Block", - "src": "694:302:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6984, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "712:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 6986, - "indexExpression": { - "argumentTypes": null, - "id": 6985, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "718:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "712:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 6987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "712:23:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6988, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "739:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "712:35:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 6990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "749:20:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 6983, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "704:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "704:66:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6992, - "nodeType": "ExpressionStatement", - "src": "704:66:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 6998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6993, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "780:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 6995, - "indexExpression": { - "argumentTypes": null, - "id": 6994, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "786:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "780:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 6996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 1168, - "src": "780:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "780:31:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6999, - "nodeType": "ExpressionStatement", - "src": "780:31:9" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7005, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "856:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "848:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "848:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "848:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7007, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "863:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7009, - "indexExpression": { - "argumentTypes": null, - "id": 7008, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "869:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "863:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "863:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7011, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "887:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7000, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "821:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "821:26:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 7012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "821:75:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7013, - "nodeType": "ExpressionStatement", - "src": "821:75:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7015, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "924:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7016, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "934:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7018, - "indexExpression": { - "argumentTypes": null, - "id": 7017, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "940:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "934:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "934:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7014, - "name": "SaleCanceled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "911:12:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 7020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "911:46:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7021, - "nodeType": "EmitStatement", - "src": "906:51:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "967:22:9", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7022, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "974:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7024, - "indexExpression": { - "argumentTypes": null, - "id": 7023, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "980:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "974:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7026, - "nodeType": "ExpressionStatement", - "src": "967:22:9" - } - ] - }, - "documentation": null, - "functionSelector": "1466c31f", - "id": 7028, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6981, - "modifierName": { - "argumentTypes": null, - "id": 6980, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "684:9:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "684:9:9" - } - ], - "name": "removeERC721FromSaleAdmin", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6978, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7028, - "src": "659:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "659:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "658:18:9" - }, - "returnParameters": { - "id": 6982, - "nodeType": "ParameterList", - "parameters": [], - "src": "694:0:9" - }, - "scope": 7359, - "src": "624:372:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1569 - ], - "body": { - "id": 7357, - "nodeType": "Block", - "src": "1071:3311:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7035, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1089:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7037, - "indexExpression": { - "argumentTypes": null, - "id": 7036, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1095:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1089:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "1089:23:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7039, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1116:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1089:35:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 7041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1126:20:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 7034, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1081:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1081:66:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7043, - "nodeType": "ExpressionStatement", - "src": "1081:66:9" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1165:21:9", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7045, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1166:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7047, - "indexExpression": { - "argumentTypes": null, - "id": 7046, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1172:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1166:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "1166:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365", - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1188:38:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - }, - "value": "NFT has to be available for purchase" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - } - ], - "id": 7044, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1157:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1157:71:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7052, - "nodeType": "ExpressionStatement", - "src": "1157:71:9" - }, - { - "assignments": [ - 7057 - ], - "declarations": [ - { - "constant": false, - "id": 7057, - "name": "distributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7357, - "src": "1305:36:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1305:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7056, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1305:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7058, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1305:36:9" - }, - { - "assignments": [ - 7063 - ], - "declarations": [ - { - "constant": false, - "id": 7063, - "name": "distributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7357, - "src": "1351:38:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1351:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7062, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1351:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7064, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1351:38:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7065, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "1401:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 7066, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1422:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "id": 7067, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "1400:44:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,address[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7070, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1497:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7068, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "1447:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketplaceDistributionForERC721", - "nodeType": "MemberAccess", - "referencedDeclaration": 6955, - "src": "1447:49:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) external returns (uint256[] memory,address[] memory)" - } - }, - "id": 7071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1447:59:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,address[] memory)" - } - }, - "src": "1400:106:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7073, - "nodeType": "ExpressionStatement", - "src": "1400:106:9" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7074, - "name": "isNativeTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "1520:19:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 7075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:21:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7317, - "nodeType": "Block", - "src": "2779:1318:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2868:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2868:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7201, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2888:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2880:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2880:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7203, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2895:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7205, - "indexExpression": { - "argumentTypes": null, - "id": 7204, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2901:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2895:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2895:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7195, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "2842:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2842:25:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 7207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2842:75:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2919:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7194, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2834:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2834:131:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7210, - "nodeType": "ExpressionStatement", - "src": "2834:131:9" - }, - { - "assignments": [ - 7212 - ], - "declarations": [ - { - "constant": false, - "id": 7212, - "name": "totalFee", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7317, - "src": "2980:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2980:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7214, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2999:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2980:20:9" - }, - { - "body": { - "id": 7265, - "nodeType": "Block", - "src": "3066:469:9", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "3087:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7228, - "indexExpression": { - "argumentTypes": null, - "id": 7227, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3109:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3087:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3123:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3115:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3115:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3115:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3087:38:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7264, - "nodeType": "IfStatement", - "src": "3084:437:9", - "trueBody": { - "id": 7263, - "nodeType": "Block", - "src": "3126:395:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7237, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "3258:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7239, - "indexExpression": { - "argumentTypes": null, - "id": 7238, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3280:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3258:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7240, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3313:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7242, - "indexExpression": { - "argumentTypes": null, - "id": 7241, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3333:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3313:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7243, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3338:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7245, - "indexExpression": { - "argumentTypes": null, - "id": 7244, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3344:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3338:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3338:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3313:46:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3312:48:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3363:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3312:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7235, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3207:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3207:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3207:181:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3390:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7234, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3199:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3199:237:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7254, - "nodeType": "ExpressionStatement", - "src": "3199:237:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7255, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3458:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7256, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3469:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7257, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3480:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7259, - "indexExpression": { - "argumentTypes": null, - "id": 7258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3500:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3480:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3469:33:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3458:44:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7262, - "nodeType": "ExpressionStatement", - "src": "3458:44:9" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7219, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3030:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7220, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3034:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3034:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3030:30:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7266, - "initializationExpression": { - "assignments": [ - 7216 - ], - "declarations": [ - { - "constant": false, - "id": 7216, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7266, - "src": "3018:6:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7215, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3018:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7218, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3027:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3018:10:9" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3062:3:9", - "subExpression": { - "argumentTypes": null, - "id": 7223, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3062:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7225, - "nodeType": "ExpressionStatement", - "src": "3062:3:9" - }, - "nodeType": "ForStatement", - "src": "3014:521:9" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 7272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7267, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3552:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3566:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3566:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3566:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3552:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7291, - "nodeType": "IfStatement", - "src": "3549:310:9", - "trueBody": { - "id": 7290, - "nodeType": "Block", - "src": "3577:282:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7276, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3697:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7277, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3734:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7278, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3750:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7280, - "indexExpression": { - "argumentTypes": null, - "id": 7279, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3756:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7281, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3750:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3734:37:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3733:39:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3775:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3733:45:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7274, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3650:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3650:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3650:146:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3798:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7273, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3642:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3642:202:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7289, - "nodeType": "ExpressionStatement", - "src": "3642:202:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7295, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3950:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7297, - "indexExpression": { - "argumentTypes": null, - "id": 7296, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3956:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3950:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "3950:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3976:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7300, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3980:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3976:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7302, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3994:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3976:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3975:28:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7305, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4006:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7307, - "indexExpression": { - "argumentTypes": null, - "id": 7306, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4012:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4006:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7308, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4006:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3975:52:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7310, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3974:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4031:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3974:60:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7293, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3928:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3928:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3928:107:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572", - "id": 7314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4037:48:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - }, - "value": "Wasnt able to transfer the ERC20 to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - } - ], - "id": 7292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3920:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3920:166:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7316, - "nodeType": "ExpressionStatement", - "src": "3920:166:9" - } - ] - }, - "id": 7318, - "nodeType": "IfStatement", - "src": "1517:2580:9", - "trueBody": { - "id": 7193, - "nodeType": "Block", - "src": "1542:1233:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7077, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1610:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7079, - "indexExpression": { - "argumentTypes": null, - "id": 7078, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1616:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1610:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "1610:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1635:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1635:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1610:34:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f7272656374", - "id": 7084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:49:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - }, - "value": "Require Amount of Native Currency to be correct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - } - ], - "id": 7076, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1602:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:94:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7086, - "nodeType": "ExpressionStatement", - "src": "1602:94:9" - }, - { - "assignments": [ - 7088 - ], - "declarations": [ - { - "constant": false, - "id": 7088, - "name": "totalFee", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7193, - "src": "1726:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1726:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7090, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1745:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1726:20:9" - }, - { - "body": { - "id": 7143, - "nodeType": "Block", - "src": "1812:432:9", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7102, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1833:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7104, - "indexExpression": { - "argumentTypes": null, - "id": 7103, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1855:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1833:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1861:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1861:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1861:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1833:38:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7142, - "nodeType": "IfStatement", - "src": "1830:400:9", - "trueBody": { - "id": 7141, - "nodeType": "Block", - "src": "1872:358:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7118, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "2022:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7120, - "indexExpression": { - "argumentTypes": null, - "id": 7119, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "2042:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2022:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7121, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2047:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7123, - "indexExpression": { - "argumentTypes": null, - "id": 7122, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2053:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2047:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2047:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2022:46:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7126, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2021:48:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2072:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2021:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7113, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1961:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7115, - "indexExpression": { - "argumentTypes": null, - "id": 7114, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1983:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1961:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1953:8:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 7111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1953:8:9", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:33:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1953:38:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:144:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2099:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7110, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1945:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1945:200:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7132, - "nodeType": "ExpressionStatement", - "src": "1945:200:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7133, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2167:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7134, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2178:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7135, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "2189:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7137, - "indexExpression": { - "argumentTypes": null, - "id": 7136, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "2209:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2189:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2178:33:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2167:44:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7140, - "nodeType": "ExpressionStatement", - "src": "2167:44:9" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7095, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1776:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7096, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "1780:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1780:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1776:30:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7144, - "initializationExpression": { - "assignments": [ - 7092 - ], - "declarations": [ - { - "constant": false, - "id": 7092, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7144, - "src": "1764:6:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7091, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1764:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7094, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1773:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1764:10:9" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1808:3:9", - "subExpression": { - "argumentTypes": null, - "id": 7099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1808:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7101, - "nodeType": "ExpressionStatement", - "src": "1808:3:9" - }, - "nodeType": "ForStatement", - "src": "1760:484:9" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7145, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2261:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2283:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2275:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2275:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2275:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2261:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7168, - "nodeType": "IfStatement", - "src": "2258:268:9", - "trueBody": { - "id": 7167, - "nodeType": "Block", - "src": "2286:240:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7154, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "2401:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7155, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2417:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7157, - "indexExpression": { - "argumentTypes": null, - "id": 7156, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2423:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2417:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2417:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2401:37:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7160, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2400:39:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2400:45:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7152, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2359:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2359:15:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2359:104:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2465:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7151, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2351:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2351:160:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7166, - "nodeType": "ExpressionStatement", - "src": "2351:160:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2635:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7176, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "2639:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2635:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7178, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2653:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2635:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7180, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2634:28:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7181, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2665:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7183, - "indexExpression": { - "argumentTypes": null, - "id": 7182, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2671:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2665:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2665:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2634:52:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7186, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2633:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2690:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2633:60:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7170, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2605:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7172, - "indexExpression": { - "argumentTypes": null, - "id": 7171, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2611:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2605:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "2605:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2605:27:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2605:89:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c6572", - "id": 7190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2696:58:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - }, - "value": "Wasnt able to transfer the Native Currency to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - } - ], - "id": 7169, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2597:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2597:158:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7192, - "nodeType": "ExpressionStatement", - "src": "2597:158:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7324, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4185:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4177:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4177:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4177:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7326, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4192:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7328, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4204:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7319, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "4150:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "4150:26:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4150:63:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7330, - "nodeType": "ExpressionStatement", - "src": "4150:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7331, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4224:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7333, - "indexExpression": { - "argumentTypes": null, - "id": 7332, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4230:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4224:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "4224:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4247:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4224:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7337, - "nodeType": "ExpressionStatement", - "src": "4224:27:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7339, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4275:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4285:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4285:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7342, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4297:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7344, - "indexExpression": { - "argumentTypes": null, - "id": 7343, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4303:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4297:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4297:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7346, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4321:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7348, - "indexExpression": { - "argumentTypes": null, - "id": 7347, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4327:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4321:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7349, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4321:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7338, - "name": "SaleDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4266:8:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256)" - } - }, - "id": 7350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:77:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7351, - "nodeType": "EmitStatement", - "src": "4261:82:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4353:22:9", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7352, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4360:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7354, - "indexExpression": { - "argumentTypes": null, - "id": 7353, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4366:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4360:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7356, - "nodeType": "ExpressionStatement", - "src": "4353:22:9" - } - ] - }, - "documentation": null, - "functionSelector": "944cce5b", - "id": 7358, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyERC721", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7032, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1062:8:9" - }, - "parameters": { - "id": 7031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7030, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7358, - "src": "1021:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1021:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1020:18:9" - }, - "returnParameters": { - "id": 7033, - "nodeType": "ParameterList", - "parameters": [], - "src": "1071:0:9" - }, - "scope": 7359, - "src": "1002:3380:9", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 7360, - "src": "337:4048:9" - } - ], - "src": "0:4385:9" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/MarketplaceRealFvr.sol", - "exportedSymbols": { - "MarketplaceRealFvr": [ - 7359 - ], - "OpenerRealFvr": [ - 6956 - ] - }, - "id": 7360, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 6939, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:9" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 6940, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 10301, - "src": "26:57:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 6941, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 9319, - "src": "84:55:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Marketplace.sol", - "file": "../ERC721Marketplace.sol", - "id": 6942, - "nodeType": "ImportDirective", - "scope": 7360, - "sourceUnit": 1630, - "src": "140:34:9", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6943, - "name": "IERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10403, - "src": "204:7:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC721_$10403", - "typeString": "contract IERC721" - } - }, - "id": 6944, - "nodeType": "InheritanceSpecifier", - "src": "204:7:9" - } - ], - "contractDependencies": [ - 8493, - 10403 - ], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 6956, - "linearizedBaseContracts": [ - 6956, - 10403, - 8493 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "functionSelector": "d5c2e3f6", - "id": 6955, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getMarketplaceDistributionForERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6946, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "263:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "263:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "262:17:9" - }, - "returnParameters": { - "id": 6954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6950, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "297:16:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "297:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "297:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6953, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6955, - "src": "315:16:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6951, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "315:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6952, - "length": null, - "nodeType": "ArrayTypeName", - "src": "315:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "296:36:9" - }, - "scope": 6956, - "src": "218:115:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 7360, - "src": "177:158:9" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6957, - "name": "ERC721Marketplace", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1629, - "src": "368:17:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721Marketplace_$1629", - "typeString": "contract ERC721Marketplace" - } - }, - "id": 6958, - "nodeType": "InheritanceSpecifier", - "src": "368:17:9" - } - ], - "contractDependencies": [ - 1629, - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 7359, - "linearizedBaseContracts": [ - 7359, - 1629, - 8430 - ], - "name": "MarketplaceRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "2352a864", - "id": 6960, - "name": "erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7359, - "src": "397:34:9", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - }, - "typeName": { - "contractScope": null, - "id": 6959, - "name": "OpenerRealFvr", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6956, - "src": "397:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 6975, - "nodeType": "Block", - "src": "571:47:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6973, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6971, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "581:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6972, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6964, - "src": "597:14:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "src": "581:30:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 6974, - "nodeType": "ExpressionStatement", - "src": "581:30:9" - } - ] - }, - "documentation": null, - "id": 6976, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 6967, - "name": "_erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6962, - "src": "540:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 6968, - "name": "_erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6964, - "src": "555:14:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - } - ], - "id": 6969, - "modifierName": { - "argumentTypes": null, - "id": 6966, - "name": "ERC721Marketplace", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1629, - "src": "522:17:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721Marketplace_$1629_$", - "typeString": "type(contract ERC721Marketplace)" - } - }, - "nodeType": "ModifierInvocation", - "src": "522:48:9" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6962, - "name": "_erc20Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6976, - "src": "450:19:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 6961, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "450:5:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6964, - "name": "_erc721Address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6976, - "src": "480:28:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - }, - "typeName": { - "contractScope": null, - "id": 6963, - "name": "OpenerRealFvr", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6956, - "src": "480:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "449:60:9" - }, - "returnParameters": { - "id": 6970, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 7359, - "src": "438:180:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7027, - "nodeType": "Block", - "src": "694:302:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6984, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "712:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 6986, - "indexExpression": { - "argumentTypes": null, - "id": 6985, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "718:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "712:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 6987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "712:23:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 6988, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "739:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "712:35:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 6990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "749:20:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 6983, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "704:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "704:66:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6992, - "nodeType": "ExpressionStatement", - "src": "704:66:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 6998, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6993, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "780:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 6995, - "indexExpression": { - "argumentTypes": null, - "id": 6994, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "786:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "780:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 6996, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 1168, - "src": "780:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "807:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "780:31:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6999, - "nodeType": "ExpressionStatement", - "src": "780:31:9" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7005, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "856:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7004, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "848:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7003, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "848:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "848:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7007, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "863:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7009, - "indexExpression": { - "argumentTypes": null, - "id": 7008, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "869:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "863:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "863:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7011, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "887:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7000, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "821:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7002, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "821:26:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 7012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "821:75:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7013, - "nodeType": "ExpressionStatement", - "src": "821:75:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7015, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "924:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7016, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "934:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7018, - "indexExpression": { - "argumentTypes": null, - "id": 7017, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "940:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "934:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "934:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7014, - "name": "SaleCanceled", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1201, - "src": "911:12:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,address)" - } - }, - "id": 7020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "911:46:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7021, - "nodeType": "EmitStatement", - "src": "906:51:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "967:22:9", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7022, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "974:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7024, - "indexExpression": { - "argumentTypes": null, - "id": 7023, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6978, - "src": "980:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "974:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7026, - "nodeType": "ExpressionStatement", - "src": "967:22:9" - } - ] - }, - "documentation": null, - "functionSelector": "1466c31f", - "id": 7028, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6981, - "modifierName": { - "argumentTypes": null, - "id": 6980, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "684:9:9", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "684:9:9" - } - ], - "name": "removeERC721FromSaleAdmin", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6979, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6978, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7028, - "src": "659:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6977, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "659:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "658:18:9" - }, - "returnParameters": { - "id": 6982, - "nodeType": "ParameterList", - "parameters": [], - "src": "694:0:9" - }, - "scope": 7359, - "src": "624:372:9", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 1569 - ], - "body": { - "id": 7357, - "nodeType": "Block", - "src": "1071:3311:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7035, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1089:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7037, - "indexExpression": { - "argumentTypes": null, - "id": 7036, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1095:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1089:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenId", - "nodeType": "MemberAccess", - "referencedDeclaration": 1156, - "src": "1089:23:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7039, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1116:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1089:35:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e4654206973206e6f7420696e2073616c65", - "id": 7041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1126:20:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - }, - "value": "NFT is not in sale" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2b731067e8c2f3b4cd5b52f0d9c82c52783f75ff017ab9be7de18ad869b55adc", - "typeString": "literal_string \"NFT is not in sale\"" - } - ], - "id": 7034, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1081:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7042, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1081:66:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7043, - "nodeType": "ExpressionStatement", - "src": "1081:66:9" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7049, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1165:21:9", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7045, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1166:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7047, - "indexExpression": { - "argumentTypes": null, - "id": 7046, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1172:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1166:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7048, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "1166:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e46542068617320746f20626520617661696c61626c6520666f72207075726368617365", - "id": 7050, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1188:38:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - }, - "value": "NFT has to be available for purchase" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_084cf27b4b89d3728db5975002944871b5d745ddbde1847f4a628a033547b35c", - "typeString": "literal_string \"NFT has to be available for purchase\"" - } - ], - "id": 7044, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1157:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1157:71:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7052, - "nodeType": "ExpressionStatement", - "src": "1157:71:9" - }, - { - "assignments": [ - 7057 - ], - "declarations": [ - { - "constant": false, - "id": 7057, - "name": "distributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7357, - "src": "1305:36:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7055, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1305:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7056, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1305:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7058, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1305:36:9" - }, - { - "assignments": [ - 7063 - ], - "declarations": [ - { - "constant": false, - "id": 7063, - "name": "distributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7357, - "src": "1351:38:9", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1351:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7062, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1351:9:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7064, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1351:38:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7065, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "1401:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 7066, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1422:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "id": 7067, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "1400:44:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,address[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7070, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1497:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7068, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "1447:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getMarketplaceDistributionForERC721", - "nodeType": "MemberAccess", - "referencedDeclaration": 6955, - "src": "1447:49:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "function (uint256) external returns (uint256[] memory,address[] memory)" - } - }, - "id": 7071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1447:59:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "tuple(uint256[] memory,address[] memory)" - } - }, - "src": "1400:106:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7073, - "nodeType": "ExpressionStatement", - "src": "1400:106:9" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 7074, - "name": "isNativeTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1228, - "src": "1520:19:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$__$returns$_t_bool_$", - "typeString": "function () returns (bool)" - } - }, - "id": 7075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1520:21:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 7317, - "nodeType": "Block", - "src": "2779:1318:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7197, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2868:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7198, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2868:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7201, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2888:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2880:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2880:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7202, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2880:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7203, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2895:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7205, - "indexExpression": { - "argumentTypes": null, - "id": 7204, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2901:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2895:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7206, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2895:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7195, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "2842:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2842:25:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 7207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2842:75:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7208, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2919:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7194, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2834:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7209, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2834:131:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7210, - "nodeType": "ExpressionStatement", - "src": "2834:131:9" - }, - { - "assignments": [ - 7212 - ], - "declarations": [ - { - "constant": false, - "id": 7212, - "name": "totalFee", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7317, - "src": "2980:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2980:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7214, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7213, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2999:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2980:20:9" - }, - { - "body": { - "id": 7265, - "nodeType": "Block", - "src": "3066:469:9", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7226, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "3087:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7228, - "indexExpression": { - "argumentTypes": null, - "id": 7227, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3109:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3087:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7231, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3123:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3115:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7229, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3115:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7232, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3115:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3087:38:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7264, - "nodeType": "IfStatement", - "src": "3084:437:9", - "trueBody": { - "id": 7263, - "nodeType": "Block", - "src": "3126:395:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7237, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "3258:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7239, - "indexExpression": { - "argumentTypes": null, - "id": 7238, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3280:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3258:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7240, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3313:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7242, - "indexExpression": { - "argumentTypes": null, - "id": 7241, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3333:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3313:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7243, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3338:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7245, - "indexExpression": { - "argumentTypes": null, - "id": 7244, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3344:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3338:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3338:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3313:46:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7248, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3312:48:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3363:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3312:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7235, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3207:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3207:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3207:181:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7252, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3390:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7234, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3199:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3199:237:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7254, - "nodeType": "ExpressionStatement", - "src": "3199:237:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7255, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3458:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7260, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7256, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3469:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7257, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3480:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7259, - "indexExpression": { - "argumentTypes": null, - "id": 7258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3500:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3480:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3469:33:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3458:44:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7262, - "nodeType": "ExpressionStatement", - "src": "3458:44:9" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7219, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3030:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7220, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "3034:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3034:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3030:30:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7266, - "initializationExpression": { - "assignments": [ - 7216 - ], - "declarations": [ - { - "constant": false, - "id": 7216, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7266, - "src": "3018:6:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7215, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3018:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7218, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7217, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3027:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "3018:10:9" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3062:3:9", - "subExpression": { - "argumentTypes": null, - "id": 7223, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7216, - "src": "3062:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7225, - "nodeType": "ExpressionStatement", - "src": "3062:3:9" - }, - "nodeType": "ForStatement", - "src": "3014:521:9" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 7272, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7267, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3552:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3574:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3566:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3566:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7271, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3566:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3552:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7291, - "nodeType": "IfStatement", - "src": "3549:310:9", - "trueBody": { - "id": 7290, - "nodeType": "Block", - "src": "3577:282:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7276, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "3697:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7277, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3734:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7278, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3750:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7280, - "indexExpression": { - "argumentTypes": null, - "id": 7279, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3756:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3750:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7281, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "3750:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3734:37:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3733:39:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3775:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3733:45:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7274, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3650:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3650:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3650:146:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3798:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7273, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3642:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3642:202:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7289, - "nodeType": "ExpressionStatement", - "src": "3642:202:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7295, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "3950:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7297, - "indexExpression": { - "argumentTypes": null, - "id": 7296, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "3956:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3950:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7298, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "3950:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7299, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3976:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7300, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "3980:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3976:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7302, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7212, - "src": "3994:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3976:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7304, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3975:28:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7305, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4006:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7307, - "indexExpression": { - "argumentTypes": null, - "id": 7306, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4012:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4006:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7308, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4006:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3975:52:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7310, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3974:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7311, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4031:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3974:60:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7293, - "name": "erc20Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1134, - "src": "3928:12:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8950, - "src": "3928:21:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3928:107:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e736665722074686520455243323020746f207468652073656c6c6572", - "id": 7314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4037:48:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - }, - "value": "Wasnt able to transfer the ERC20 to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f99bc187615cec9c134b3af93aa88c301d535fd86e5c01d8037925f2d35a35f4", - "typeString": "literal_string \"Wasnt able to transfer the ERC20 to the seller\"" - } - ], - "id": 7292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3920:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3920:166:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7316, - "nodeType": "ExpressionStatement", - "src": "3920:166:9" - } - ] - }, - "id": 7318, - "nodeType": "IfStatement", - "src": "1517:2580:9", - "trueBody": { - "id": 7193, - "nodeType": "Block", - "src": "1542:1233:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7077, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "1610:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7079, - "indexExpression": { - "argumentTypes": null, - "id": 7078, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "1616:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1610:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "1610:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1635:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "value", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1635:9:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1610:34:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5265717569726520416d6f756e74206f66204e61746976652043757272656e637920746f20626520636f7272656374", - "id": 7084, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1646:49:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - }, - "value": "Require Amount of Native Currency to be correct" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9dba5bf2a48df1d2cf64b6bd88a37348e8075007c38fd2b5d130c169498b25db", - "typeString": "literal_string \"Require Amount of Native Currency to be correct\"" - } - ], - "id": 7076, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1602:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:94:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7086, - "nodeType": "ExpressionStatement", - "src": "1602:94:9" - }, - { - "assignments": [ - 7088 - ], - "declarations": [ - { - "constant": false, - "id": 7088, - "name": "totalFee", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7193, - "src": "1726:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7087, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1726:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7090, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1745:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1726:20:9" - }, - { - "body": { - "id": 7143, - "nodeType": "Block", - "src": "1812:432:9", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7102, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1833:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7104, - "indexExpression": { - "argumentTypes": null, - "id": 7103, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1855:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1833:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1869:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1861:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1861:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7108, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1861:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1833:38:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7142, - "nodeType": "IfStatement", - "src": "1830:400:9", - "trueBody": { - "id": 7141, - "nodeType": "Block", - "src": "1872:358:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7128, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7125, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7118, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "2022:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7120, - "indexExpression": { - "argumentTypes": null, - "id": 7119, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "2042:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2022:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7121, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2047:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7123, - "indexExpression": { - "argumentTypes": null, - "id": 7122, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2053:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2047:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7124, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2047:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2022:46:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7126, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2021:48:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7127, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2072:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2021:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7113, - "name": "distributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7063, - "src": "1961:21:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7115, - "indexExpression": { - "argumentTypes": null, - "id": 7114, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1983:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1961:24:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7112, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1953:8:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_payable_$", - "typeString": "type(address payable)" - }, - "typeName": { - "id": 7111, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1953:8:9", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:33:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1953:38:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1953:144:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7130, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2099:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7110, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1945:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1945:200:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7132, - "nodeType": "ExpressionStatement", - "src": "1945:200:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7133, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2167:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7138, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7134, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2178:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7135, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "2189:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7137, - "indexExpression": { - "argumentTypes": null, - "id": 7136, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "2209:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2189:22:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2178:33:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2167:44:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7140, - "nodeType": "ExpressionStatement", - "src": "2167:44:9" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7095, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1776:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7096, - "name": "distributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7057, - "src": "1780:19:9", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1780:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1776:30:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7144, - "initializationExpression": { - "assignments": [ - 7092 - ], - "declarations": [ - { - "constant": false, - "id": 7092, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7144, - "src": "1764:6:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7091, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1764:4:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7094, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7093, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1773:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1764:10:9" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1808:3:9", - "subExpression": { - "argumentTypes": null, - "id": 7099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7092, - "src": "1808:1:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7101, - "nodeType": "ExpressionStatement", - "src": "1808:3:9" - }, - "nodeType": "ForStatement", - "src": "1760:484:9" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 7150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7145, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2261:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7148, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2283:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7147, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2275:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7146, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2275:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2275:10:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2261:24:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7168, - "nodeType": "IfStatement", - "src": "2258:268:9", - "trueBody": { - "id": 7167, - "nodeType": "Block", - "src": "2286:240:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7162, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7154, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "2401:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7155, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2417:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7157, - "indexExpression": { - "argumentTypes": null, - "id": 7156, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2423:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2417:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2417:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2401:37:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7160, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2400:39:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7161, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2400:45:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7152, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1138, - "src": "2359:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2359:15:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7163, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2359:104:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f6e747261637420776173206e6f7420616c6c6f77656420746f20646f20746865207472616e73666572", - "id": 7164, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2465:45:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - }, - "value": "Contract was not allowed to do the transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_64c21430500166684a979ca2e6bec36e4edd52623bc7a07f4d7f37cdabe3aeea", - "typeString": "literal_string \"Contract was not allowed to do the transfer\"" - } - ], - "id": 7151, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2351:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2351:160:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7166, - "nodeType": "ExpressionStatement", - "src": "2351:160:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7185, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7175, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2635:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7176, - "name": "feePercentage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1141, - "src": "2639:13:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2635:17:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7178, - "name": "totalFee", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7088, - "src": "2653:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2635:26:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7180, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2634:28:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7181, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2665:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7183, - "indexExpression": { - "argumentTypes": null, - "id": 7182, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2671:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2665:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7184, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "2665:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2634:52:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7186, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2633:54:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2690:3:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2633:60:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7170, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "2605:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7172, - "indexExpression": { - "argumentTypes": null, - "id": 7171, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "2611:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2605:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7173, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "2605:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "send", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2605:27:9", - "typeDescriptions": { - "typeIdentifier": "t_function_send_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 7189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2605:89:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5761736e742061626c6520746f207472616e7366657220746865204e61746976652043757272656e637920746f207468652073656c6c6572", - "id": 7190, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2696:58:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - }, - "value": "Wasnt able to transfer the Native Currency to the seller" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b6f72de7d6f246beee883735cd1d8caa4b008be18fb7dfe728455a0736b3e927", - "typeString": "literal_string \"Wasnt able to transfer the Native Currency to the seller\"" - } - ], - "id": 7169, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2597:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7191, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2597:158:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7192, - "nodeType": "ExpressionStatement", - "src": "2597:158:9" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7324, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4185:4:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MarketplaceRealFvr_$7359", - "typeString": "contract MarketplaceRealFvr" - } - ], - "id": 7323, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4177:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7322, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4177:7:9", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4177:13:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7326, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4192:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4192:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7328, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4204:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7319, - "name": "erc721Address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6960, - "src": "4150:13:9", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$6956", - "typeString": "contract OpenerRealFvr" - } - }, - "id": 7321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 10361, - "src": "4150:26:9", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256) external" - } - }, - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4150:63:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7330, - "nodeType": "ExpressionStatement", - "src": "4150:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7331, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4224:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7333, - "indexExpression": { - "argumentTypes": null, - "id": 7332, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4230:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4224:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7334, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "sold", - "nodeType": "MemberAccess", - "referencedDeclaration": 1170, - "src": "4224:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7335, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4247:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4224:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7337, - "nodeType": "ExpressionStatement", - "src": "4224:27:9" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7339, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4275:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4285:3:9", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4285:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7342, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4297:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7344, - "indexExpression": { - "argumentTypes": null, - "id": 7343, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4303:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4297:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "seller", - "nodeType": "MemberAccess", - "referencedDeclaration": 1162, - "src": "4297:22:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7346, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4321:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7348, - "indexExpression": { - "argumentTypes": null, - "id": 7347, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4327:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4321:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "id": 7349, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 1160, - "src": "4321:21:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7338, - "name": "SaleDone", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1211, - "src": "4266:8:9", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,address,uint256)" - } - }, - "id": 7350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4266:77:9", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7351, - "nodeType": "EmitStatement", - "src": "4261:82:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 7355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "4353:22:9", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7352, - "name": "sales", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1148, - "src": "4360:5:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Sale_$1171_storage_$", - "typeString": "mapping(uint256 => struct ERC721Marketplace.Sale storage ref)" - } - }, - "id": 7354, - "indexExpression": { - "argumentTypes": null, - "id": 7353, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7030, - "src": "4366:8:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4360:15:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Sale_$1171_storage", - "typeString": "struct ERC721Marketplace.Sale storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7356, - "nodeType": "ExpressionStatement", - "src": "4353:22:9" - } - ] - }, - "documentation": null, - "functionSelector": "944cce5b", - "id": 7358, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyERC721", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 7032, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1062:8:9" - }, - "parameters": { - "id": 7031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7030, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7358, - "src": "1021:16:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1021:7:9", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1020:18:9" - }, - "returnParameters": { - "id": 7033, - "nodeType": "ParameterList", - "parameters": [], - "src": "1071:0:9" - }, - "scope": 7359, - "src": "1002:3380:9", - "stateMutability": "payable", - "virtual": true, - "visibility": "public" - } - ], - "scope": 7360, - "src": "337:4048:9" - } - ], - "src": "0:4385:9" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.479Z", - "devdoc": { - "methods": { - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json deleted file mode 100644 index 3f13f235..00000000 --- a/build/contracts/Migrations.json +++ /dev/null @@ -1,1430 +0,0 @@ -{ - "contractName": "Migrations", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "last_completed_migration", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "completed", - "type": "uint256" - } - ], - "name": "setCompleted", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "new_address", - "type": "address" - } - ], - "name": "upgrade", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"last_completed_migration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"completed\",\"type\":\"uint256\"}],\"name\":\"setCompleted\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"new_address\",\"type\":\"address\"}],\"name\":\"upgrade\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol\":\"Migrations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol\":{\"keccak256\":\"0xbbe88bc3edcaf7f302be52dbbd8be3f891d9a5357b7ce4c2093ae07ffeb68b5c\",\"urls\":[\"bzz-raw://9fb0ac1487e7969a2e50a91588ab7c5ae4e4ebd1c3eae76beee0a04b1e46add5\",\"dweb:/ipfs/QmYpg2QMhmDiyfmWTWFCdaJQv7Efsp3rNbpXpH13kHM4ec\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b031916331790556101b4806100326000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea2646970667358221220c49ba5b769c173f7017a74cbf51e18c91cd0e5dbe72d84fe458ffa59ab970d2564736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630900f01014610051578063445df0ac146100795780638da5cb5b14610093578063fdacd576146100b7575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160a01b03166100d4565b005b610081610151565b60408051918252519081900360200190f35b61009b610157565b604080516001600160a01b039092168252519081900360200190f35b610077600480360360208110156100cd57600080fd5b5035610166565b6000546001600160a01b031633141561014e576000819050806001600160a01b031663fdacd5766001546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561013457600080fd5b505af1158015610148573d6000803e3d6000fd5b50505050505b50565b60015481565b6000546001600160a01b031681565b6000546001600160a01b031633141561014e5760015556fea2646970667358221220c49ba5b769c173f7017a74cbf51e18c91cd0e5dbe72d84fe458ffa59ab970d2564736f6c63430006020033", - "sourceMap": "26:464:6:-:0;;;113:47;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;138:5:6;:18;;-1:-1:-1;;;;;;138:18:6;146:10;138:18;;;26:464;;;;;;", - "deployedSourceMap": "26:464:6:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26:464:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;328:160;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;328:160:6;-1:-1:-1;;;;;328:160:6;;:::i;:::-;;72:36;;;:::i;:::-;;;;;;;;;;;;;;;;49:20;;;:::i;:::-;;;;-1:-1:-1;;;;;49:20:6;;;;;;;;;;;;;;224:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;224:100:6;;:::i;328:160::-;208:5;;-1:-1:-1;;;;;208:5:6;194:10;:19;190:26;;;388:19:::1;421:11;388:45;;437:8;-1:-1:-1::0;;;;;437:21:6::1;;459:24;;437:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;437:47:6;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;437:47:6;;;;215:1;190:26:::0;328:160;:::o;72:36::-;;;;:::o;49:20::-;;;-1:-1:-1;;;;;49:20:6;;:::o;224:100::-;208:5;;-1:-1:-1;;;;;208:5:6;194:10;:19;190:26;;;284:24:::1;:36:::0;224:100::o", - "source": "pragma solidity >=0.6.0;\n\ncontract Migrations {\n\taddress public owner;\n\tuint public last_completed_migration;\n\t\n\tconstructor() public {\n\t\towner = msg.sender;\n\t}\n\t\n\tmodifier restricted() {\n\t\tif (msg.sender == owner) _;\n\t}\n\t\n\tfunction setCompleted(uint completed) public restricted {\n\t\tlast_completed_migration = completed;\n\t}\n\t\n\tfunction upgrade(address new_address) public restricted {\n\t\tMigrations upgraded = Migrations(new_address);\n\t\tupgraded.setCompleted(last_completed_migration);\n\t}\n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 3806 - ] - }, - "id": 3807, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3751, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3806, - "linearizedBaseContracts": [ - 3806 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 3753, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3806, - "src": "49:20:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "49:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 3755, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3806, - "src": "72:36:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3754, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3763, - "nodeType": "Block", - "src": "134:26:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3758, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "138:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "146:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "146:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "138:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3762, - "nodeType": "ExpressionStatement", - "src": "138:18:6" - } - ] - }, - "documentation": null, - "id": 3764, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3756, - "nodeType": "ParameterList", - "parameters": [], - "src": "124:2:6" - }, - "returnParameters": { - "id": 3757, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:0:6" - }, - "scope": 3806, - "src": "113:47:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3772, - "nodeType": "Block", - "src": "186:34:6", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3766, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "194:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "194:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3768, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "208:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "194:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3771, - "nodeType": "IfStatement", - "src": "190:26:6", - "trueBody": { - "id": 3770, - "nodeType": "PlaceholderStatement", - "src": "215:1:6" - } - } - ] - }, - "documentation": null, - "id": 3773, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 3765, - "nodeType": "ParameterList", - "parameters": [], - "src": "183:2:6" - }, - "src": "164:56:6", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3784, - "nodeType": "Block", - "src": "280:44:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3780, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3755, - "src": "284:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3781, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "311:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "284:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3783, - "nodeType": "ExpressionStatement", - "src": "284:36:6" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 3785, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3778, - "modifierName": { - "argumentTypes": null, - "id": 3777, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "269:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "269:10:6" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3785, - "src": "246:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3774, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "246:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "245:16:6" - }, - "returnParameters": { - "id": 3779, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:0:6" - }, - "scope": 3806, - "src": "224:100:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3804, - "nodeType": "Block", - "src": "384:104:6", - "statements": [ - { - "assignments": [ - 3793 - ], - "declarations": [ - { - "constant": false, - "id": 3793, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3804, - "src": "388:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3792, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3806, - "src": "388:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3797, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3795, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3787, - "src": "421:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3794, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3806, - "src": "410:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3806_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "388:45:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3801, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3755, - "src": "459:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3798, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "437:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "id": 3800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3785, - "src": "437:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "437:47:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "437:47:6" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 3805, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3790, - "modifierName": { - "argumentTypes": null, - "id": 3789, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "373:10:6" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3787, - "name": "new_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3805, - "src": "345:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "344:21:6" - }, - "returnParameters": { - "id": 3791, - "nodeType": "ParameterList", - "parameters": [], - "src": "384:0:6" - }, - "scope": 3806, - "src": "328:160:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3807, - "src": "26:464:6" - } - ], - "src": "0:491:6" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/Migrations.sol", - "exportedSymbols": { - "Migrations": [ - 3806 - ] - }, - "id": 3807, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3751, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:6" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 3806, - "linearizedBaseContracts": [ - 3806 - ], - "name": "Migrations", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 3753, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3806, - "src": "49:20:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3752, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "49:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "445df0ac", - "id": 3755, - "name": "last_completed_migration", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3806, - "src": "72:36:6", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3754, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "72:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 3763, - "nodeType": "Block", - "src": "134:26:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3758, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "138:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3759, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "146:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "146:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "138:18:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3762, - "nodeType": "ExpressionStatement", - "src": "138:18:6" - } - ] - }, - "documentation": null, - "id": 3764, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3756, - "nodeType": "ParameterList", - "parameters": [], - "src": "124:2:6" - }, - "returnParameters": { - "id": 3757, - "nodeType": "ParameterList", - "parameters": [], - "src": "134:0:6" - }, - "scope": 3806, - "src": "113:47:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3772, - "nodeType": "Block", - "src": "186:34:6", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3766, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "194:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "194:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3768, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3753, - "src": "208:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "194:19:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3771, - "nodeType": "IfStatement", - "src": "190:26:6", - "trueBody": { - "id": 3770, - "nodeType": "PlaceholderStatement", - "src": "215:1:6" - } - } - ] - }, - "documentation": null, - "id": 3773, - "name": "restricted", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 3765, - "nodeType": "ParameterList", - "parameters": [], - "src": "183:2:6" - }, - "src": "164:56:6", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 3784, - "nodeType": "Block", - "src": "280:44:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3780, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3755, - "src": "284:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3781, - "name": "completed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3775, - "src": "311:9:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "284:36:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3783, - "nodeType": "ExpressionStatement", - "src": "284:36:6" - } - ] - }, - "documentation": null, - "functionSelector": "fdacd576", - "id": 3785, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3778, - "modifierName": { - "argumentTypes": null, - "id": 3777, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "269:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "269:10:6" - } - ], - "name": "setCompleted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3776, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3775, - "name": "completed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3785, - "src": "246:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3774, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "246:4:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "245:16:6" - }, - "returnParameters": { - "id": 3779, - "nodeType": "ParameterList", - "parameters": [], - "src": "280:0:6" - }, - "scope": 3806, - "src": "224:100:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3804, - "nodeType": "Block", - "src": "384:104:6", - "statements": [ - { - "assignments": [ - 3793 - ], - "declarations": [ - { - "constant": false, - "id": 3793, - "name": "upgraded", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3804, - "src": "388:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - }, - "typeName": { - "contractScope": null, - "id": 3792, - "name": "Migrations", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3806, - "src": "388:10:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3797, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3795, - "name": "new_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3787, - "src": "421:11:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3794, - "name": "Migrations", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3806, - "src": "410:10:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Migrations_$3806_$", - "typeString": "type(contract Migrations)" - } - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "410:23:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "388:45:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3801, - "name": "last_completed_migration", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3755, - "src": "459:24:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3798, - "name": "upgraded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3793, - "src": "437:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Migrations_$3806", - "typeString": "contract Migrations" - } - }, - "id": 3800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setCompleted", - "nodeType": "MemberAccess", - "referencedDeclaration": 3785, - "src": "437:21:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "437:47:6", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "437:47:6" - } - ] - }, - "documentation": null, - "functionSelector": "0900f010", - "id": 3805, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3790, - "modifierName": { - "argumentTypes": null, - "id": 3789, - "name": "restricted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3773, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "373:10:6" - } - ], - "name": "upgrade", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3788, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3787, - "name": "new_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3805, - "src": "345:19:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "345:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "344:21:6" - }, - "returnParameters": { - "id": 3791, - "nodeType": "ParameterList", - "parameters": [], - "src": "384:0:6" - }, - "scope": 3806, - "src": "328:160:6", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3807, - "src": "26:464:6" - } - ], - "src": "0:491:6" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": { - "1622200782355": { - "events": {}, - "links": {}, - "address": "0xd664c64330D8c216DcDc0008b0Ea6DC4357cF362", - "transactionHash": "0xd80c008f69d9be0bffabbbf4385232fa608c77217a3a5ddb681ff2418cf3b0d3" - }, - "1622976288397": { - "events": {}, - "links": {}, - "address": "0x295224A0194b17adB11F7D314F692FbBAF8735AA", - "transactionHash": "0xfddd44a701dc3b7dcf6ba8066f0275ebf0759f6f9cbc681b6bf13aa600e7cde8" - }, - "1623168185480": { - "events": {}, - "links": {}, - "address": "0x541430fBa688ef8Dd5D490db38f2620B91Cee714", - "transactionHash": "0x3c23de31afaf9e8ede1e9e7206d2b4c5b203a3fde925f088e78178419373da61" - } - }, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-08T16:03:24.940Z", - "networkType": "ethereum", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Network.json b/build/contracts/Network.json deleted file mode 100644 index cf9f3df4..00000000 --- a/build/contracts/Network.json +++ /dev/null @@ -1,53068 +0,0 @@ -{ - "contractName": "Network", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_settlerToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_transactionToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_governor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "approver", - "type": "address" - } - ], - "name": "ApproveIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "approver", - "type": "address" - } - ], - "name": "ApproveMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address[]", - "name": "addresses", - "type": "address[]" - } - ], - "name": "CloseIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votes", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "disputer", - "type": "address" - } - ], - "name": "DisputeMerge", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousGovernor", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newGovernor", - "type": "address" - } - ], - "name": "GovernorTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "mergeID", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - } - ], - "name": "MergeProposalCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "opener", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "OpenIssue", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "COUNCIL_AMOUNT", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_governor", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "closedIdsCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "incrementIssueID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "issues", - "outputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "string", - "name": "cid", - "type": "string" - }, - { - "internalType": "uint256", - "name": "creationDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensStaked", - "type": "uint256" - }, - { - "internalType": "address", - "name": "issueGenerator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "votesForApprove", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mergeIDIncrement", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "finalized", - "type": "bool" - }, - { - "internalType": "bool", - "name": "canceled", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "mergeCreatorFeeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "myIssues", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForApprove", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForDispute", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "percentageNeededForMerge", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "settlerToken", - "outputs": [ - { - "internalType": "contract _IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "timeOpenForIssueApprove", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "transactionToken", - "outputs": [ - { - "internalType": "contract _IERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newGovernor", - "type": "address" - } - ], - "name": "transferGovernor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "voters", - "outputs": [ - { - "internalType": "uint256", - "name": "votesDelegatedByOthers", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensLocked", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "votersArray", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "votesStaked", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenAmount", - "type": "uint256" - } - ], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - } - ], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "approveIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "approveMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "disputeMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "isIssueApprovable", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "isIssueApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeDisputed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "isMergeTheOneWithMoreVotes", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_cid", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_tokenAmount", - "type": "uint256" - } - ], - "name": "openIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueId", - "type": "uint256" - } - ], - "name": "redeemIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_newTokenAmount", - "type": "uint256" - } - ], - "name": "updateIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_prAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_prAmounts", - "type": "uint256[]" - } - ], - "name": "proposeIssueMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeID", - "type": "uint256" - } - ], - "name": "closeIssue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getIssuesByAddress", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getVotesByAddress", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - } - ], - "name": "getIssueById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_issueID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mergeId", - "type": "uint256" - } - ], - "name": "getMergeById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_newToken", - "type": "address" - } - ], - "name": "changeTransactionToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_mergeCreatorFeeShare", - "type": "uint256" - } - ], - "name": "changeMergeCreatorFeeShare", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_percentageNeededForApprove", - "type": "uint256" - } - ], - "name": "changePercentageNeededForApprove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_percentageNeededForDispute", - "type": "uint256" - } - ], - "name": "changePercentageNeededForDispute", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_percentageNeededForMerge", - "type": "uint256" - } - ], - "name": "changePercentageNeededForMerge", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_timeOpenForIssueApprove", - "type": "uint256" - } - ], - "name": "changeTimeOpenForIssueApprove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_COUNCIL_AMOUNT", - "type": "uint256" - } - ], - "name": "changeCOUNCIL_AMOUNT", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_settlerToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_transactionToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_governor\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ApproveIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ApproveMerge\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"CloseIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votes\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"disputer\",\"type\":\"address\"}],\"name\":\"DisputeMerge\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousGovernor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newGovernor\",\"type\":\"address\"}],\"name\":\"GovernorTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"mergeID\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"}],\"name\":\"MergeProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"opener\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"OpenIssue\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"COUNCIL_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_governor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"approveIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"approveMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_COUNCIL_AMOUNT\",\"type\":\"uint256\"}],\"name\":\"changeCOUNCIL_AMOUNT\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_mergeCreatorFeeShare\",\"type\":\"uint256\"}],\"name\":\"changeMergeCreatorFeeShare\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentageNeededForApprove\",\"type\":\"uint256\"}],\"name\":\"changePercentageNeededForApprove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentageNeededForDispute\",\"type\":\"uint256\"}],\"name\":\"changePercentageNeededForDispute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_percentageNeededForMerge\",\"type\":\"uint256\"}],\"name\":\"changePercentageNeededForMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_timeOpenForIssueApprove\",\"type\":\"uint256\"}],\"name\":\"changeTimeOpenForIssueApprove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newToken\",\"type\":\"address\"}],\"name\":\"changeTransactionToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"closeIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"closedIdsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"disputeMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"getIssueById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getIssuesByAddress\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeId\",\"type\":\"uint256\"}],\"name\":\"getMergeById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getVotesByAddress\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"incrementIssueID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"isIssueApprovable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"}],\"name\":\"isIssueApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeDisputed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mergeID\",\"type\":\"uint256\"}],\"name\":\"isMergeTheOneWithMoreVotes\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"cid\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"creationDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensStaked\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"issueGenerator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"votesForApprove\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mergeIDIncrement\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"finalized\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mergeCreatorFeeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"myIssues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_cid\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"}],\"name\":\"openIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForDispute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"percentageNeededForMerge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueID\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_prAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_prAmounts\",\"type\":\"uint256[]\"}],\"name\":\"proposeIssueMerge\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueId\",\"type\":\"uint256\"}],\"name\":\"redeemIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"settlerToken\",\"outputs\":[{\"internalType\":\"contract _IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"timeOpenForIssueApprove\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transactionToken\",\"outputs\":[{\"internalType\":\"contract _IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newGovernor\",\"type\":\"address\"}],\"name\":\"transferGovernor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"}],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_issueId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_newTokenAmount\",\"type\":\"uint256\"}],\"name\":\"updateIssue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"voters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"votesDelegatedByOthers\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensLocked\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"votersArray\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votesStaked\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"changeCOUNCIL_AMOUNT(uint256)\":{\"details\":\"changeTimeOpenForIssueApprove\"},\"changeMergeCreatorFeeShare(uint256)\":{\"details\":\"Change Merge Creator FeeShare\"},\"changePercentageNeededForApprove(uint256)\":{\"details\":\"changePercentageNeededForApprove\"},\"changePercentageNeededForDispute(uint256)\":{\"details\":\"changePercentageNeededForDispute\"},\"changePercentageNeededForMerge(uint256)\":{\"details\":\"changePercentageNeededForMerge\"},\"changeTimeOpenForIssueApprove(uint256)\":{\"details\":\"changeTimeOpenForIssueApprove\"},\"changeTransactionToken(address)\":{\"details\":\"Change Transaction Token Address (Upgrade)\"},\"closeIssue(uint256,uint256)\":{\"details\":\"Owner finalizes the issue and distributes the transaction tokens or rejects the PR\",\"params\":{\"_issueID\":\"issue id (mapping with github)\",\"_mergeID\":\"merge id \"}},\"openIssue(string,uint256)\":{\"details\":\"open an Issue with transaction Tokens owned 1st step\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"proposeIssueMerge(uint256,address[],uint256[])\":{\"details\":\"Owner finalizes the issue and distributes the transaction tokens or rejects the PR\",\"params\":{\"_issueID\":\"issue id (mapping with github)\",\"_prAddresses\":\"PR Address\",\"_prAmounts\":\"PR Amounts\"}},\"transferGovernor(address)\":{\"details\":\"Allows the current governor to transfer control of the contract to a newGovernor.\",\"params\":{\"newGovernor\":\"The address to transfer governorship to.\"}},\"updateIssue(uint256,uint256)\":{\"details\":\"update an Issue with transaction tokens owned 2nd step (optional)\"}},\"title\":\"Development Network Contract Autonomous Use\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":\"Network\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":{\"keccak256\":\"0xaba32bf06f422fb825fc43c9528f753424ee76ac3c26e2dcb97ea53e0a619d95\",\"urls\":[\"bzz-raw://6127bd2babae445cd655606c1ffef9aa9cd804508ab8be52c18ee1187c1d7423\",\"dweb:/ipfs/QmXiHEf3h8LXjyRGyuFExTxQTMiTnzn3tnbmp4izmWUKFU\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol\":{\"keccak256\":\"0x41079c20ee4029ed96e88325bee994f87f7986048991584a1ab100a390ce277d\",\"urls\":[\"bzz-raw://175fd779046c220e2f111d91b9c689681943a5c2b70284bcfdad5b4f7aaaa1eb\",\"dweb:/ipfs/QmchSDQVF87EGnM5QiuxpZKkfBp4cjsgTk9DhCMgwa1t2d\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x60806040526001600355600060045560006005556001600655600a60075560036008556203f4806009556014600a556000600b5563017d7840600c5534801561004757600080fd5b50604051613ffd380380613ffd8339818101604052606081101561006a57600080fd5b5080516020909101516000805433610100026001600160a81b0319909116179055600180546001600160a01b039384166001600160a01b03199182161790915560028054939092169216919091179055613f34806100c96000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c8063839408a51161015c578063b8cc9ce6116100ce578063e2b6b3d911610087578063e2b6b3d914610a1c578063eef432a514610a24578063f1d2ec1d14610a4a578063f29b425014610a76578063f784804914610a99578063f87be2d414610aa15761027f565b8063b8cc9ce614610863578063c576315514610889578063c881bbe8146109b7578063c98244d0146109bf578063ce13eae6146109dc578063dd467064146109ff5761027f565b806395d9c4241161012057806395d9c424146107a857806396983822146107c55780639d0d6610146107e2578063a3ec138d146107ff578063a745314f1461083e578063b4f42601146108465761027f565b8063839408a51461069557806393b24154146106b8578063948545c3146106d5578063952608431461077d578063953030c5146107855761027f565b806353da4247116101f55780636931e725116101b95780636931e725146106205780636ba7fa82146106435780636dc6803f1461064b578063729911a81461066857806377f2547814610670578063817b1cd21461068d5761027f565b806353da42471461047e578063560365431461049b5780635c975abb146104b85780635d795bd2146104c05780636106e4eb146105365761027f565b8063202996fb11610247578063202996fb146103f45780632307debc146104115780633d734948146104195780634820c4631461044a5780634ca8b9eb14610452578063504dec051461045a5761027f565b806302ef0db11461028457806304e15de51461029e578063055633091461037d5780631ac63d92146103a25780631e63c0a5146103ce575b600080fd5b61028c610ac4565b60408051918252519081900360200190f35b6102bb600480360360208110156102b457600080fd5b5035610aca565b604080518a8152908101889052606081018790526001600160a01b038616608082015260a0810185905260c0810184905282151560e082015281151561010082015261012060208083018281528b51928401929092528a516101408401918c019080838360005b8381101561033a578181015183820152602001610322565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b6103a06004803603604081101561039357600080fd5b5080359060200135610bae565b005b61028c600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610f71565b61028c600480360360208110156103e457600080fd5b50356001600160a01b0316610f9f565b6103a06004803603602081101561040a57600080fd5b5035610fdc565b61028c611232565b6104366004803603602081101561042f57600080fd5b5035611238565b604080519115158252519081900360200190f35b61028c61127d565b61028c611283565b610462611289565b604080516001600160a01b039092168252519081900360200190f35b6104626004803603602081101561049457600080fd5b5035611298565b6103a0600480360360208110156104b157600080fd5b50356112bf565b6104366115cd565b6104e6600480360360208110156104d657600080fd5b50356001600160a01b03166115d7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561052257818101518382015260200161050a565b505050509050019250505060405180910390f35b6105596004803603604081101561054c57600080fd5b5080359060200135611643565b604051808781526020018681526020018581526020018060200180602001846001600160a01b03166001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b505050509050019850505050505050505060405180910390f35b6103a06004803603604081101561063657600080fd5b5080359060200135611790565b61028c611f25565b6103a06004803603602081101561066157600080fd5b5035611f2b565b61028c611f8b565b6103a06004803603602081101561068657600080fd5b5035611f91565b61028c611ff1565b610436600480360360408110156106ab57600080fd5b5080359060200135611ff7565b6103a0600480360360208110156106ce57600080fd5b503561207f565b6103a0600480360360408110156106eb57600080fd5b81019060208101813564010000000081111561070657600080fd5b82018360208201111561071857600080fd5b8035906020019184600183028401116401000000008311171561073a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506120df915050565b610462612347565b6103a06004803603604081101561079b57600080fd5b508035906020013561235b565b6103a0600480360360208110156107be57600080fd5b50356126d1565b610436600480360360208110156107db57600080fd5b5035612773565b6103a0600480360360208110156107f857600080fd5b50356127a2565b6108256004803603602081101561081557600080fd5b50356001600160a01b0316612802565b6040805192835260208301919091528051918290030190f35b61046261281b565b6103a06004803603602081101561085c57600080fd5b503561282a565b6103a06004803603602081101561087957600080fd5b50356001600160a01b03166128dc565b6103a06004803603606081101561089f57600080fd5b813591908101906040810160208201356401000000008111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460208302840111640100000000831117156108f557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561094557600080fd5b82018360208201111561095757600080fd5b8035906020019184602083028401116401000000008311171561097957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612969945050505050565b61028c612e4c565b6102bb600480360360208110156109d557600080fd5b5035612e52565b610436600480360360408110156109f257600080fd5b5080359060200135613014565b6103a060048036036020811015610a1557600080fd5b503561305c565b61028c613282565b6103a060048036036020811015610a3a57600080fd5b50356001600160a01b0316613288565b6103a060048036036040811015610a6057600080fd5b50803590602001356001600160a01b03166132c6565b61043660048036036040811015610a8c57600080fd5b508035906020013561352f565b61028c613577565b6103a060048036036040811015610ab757600080fd5b508035906020013561357d565b600c5481565b600d602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f810186900486028301860190965285825291949293909290830182828015610b675780601f10610b3c57610100808354040283529160200191610b67565b820191906000526020600020905b815481529060010190602001808311610b4a57829003601f168201915b50505060028401546003850154600486015460068701546008880154600990980154969793969295506001600160a01b039091169350919060ff8082169161010090041689565b610bb66115cd565b15610bfb576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600d6020526040902060030154610c53576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b6000828152600d60205260409020600401546001600160a01b03163314610cc1576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610cca82611238565b15610d1c576040805162461bcd60e51b815260206004820152601960248201527f497373756520697320616c726561647920417070726f76656400000000000000604482015290519081900360640190fd5b6000828152600d6020526040902060030180549082905580821115610e5f576002546001600160a01b03166323b872dd3330610d5e868663ffffffff6138f316565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b5051610e35576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b610e57610e48838363ffffffff6138f316565b6005549063ffffffff61395016565b600555610f6c565b6002546001600160a01b031663a9059cbb33610e81848663ffffffff6138f316565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b5051610f46576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b610f68610f59828463ffffffff6138f316565b6005549063ffffffff6138f316565b6005555b505050565b600e6020528160005260406000208181548110610f8a57fe5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152600f60209081526040808320600181019092528220548154610fd59163ffffffff61395016565b9392505050565b610fe46115cd565b15611029576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000818152600d60205260409020600401546001600160a01b03163314611097576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b6110a081611238565b156110f2576040805162461bcd60e51b815260206004820152601c60248201527f49737375652068617320746f206e6f7420626520617070726f76656400000000604482015290519081900360640190fd5b6110fb81612773565b156111375760405162461bcd60e51b815260040180806020018281038252602b815260200180613ddc602b913960400191505060405180910390fd5b6000818152600d6020908152604080832060098101805461ff001960ff1990911660011716610100179055600254600390910154825163a9059cbb60e01b8152336004820152602481019190915291516001600160a01b039091169363a9059cbb93604480850194919392918390030190829087803b1580156111b957600080fd5b505af11580156111cd573d6000803e3d6000fd5b505050506040513d60208110156111e357600080fd5b505161122f576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b50565b60095481565b60006112626064611256600754600b546139aa90919063ffffffff16565b9063ffffffff613a0316565b6000838152600d602052604090206006015410159050919050565b600b5481565b600a5481565b6001546001600160a01b031681565b601081815481106112a557fe5b6000918252602090912001546001600160a01b0316905081565b6112c7613a6a565b336000908152600f60209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561133e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611320575b50505050508152602001600382015481525050905061135b613a8b565b600d60008481526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561141d5780601f106113f25761010080835404028352916020019161141d565b820191906000526020600020905b81548152906001019060200180831161140057829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e09091015280519091506114ce576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6114d783612773565b6114e057600080fd5b6000838152600d6020908152604080832033845260050190915290205415611543576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061154e33610f9f565b6000858152600d6020526040902060060154909150611573908263ffffffff61395016565b6000858152600d60209081526040808320600681019490945533808452600590940190915280822084905551839187917f874c2861194fad2379fb15b08319bf4f3ec0c9f22bfd1ed18435ac4600abb0a09190a450505050565b60005460ff165b90565b6001600160a01b0381166000908152600e602090815260409182902080548351818402810184019094528084526060939283018282801561163757602002820191906000526020600020905b815481526020019060010190808311611623575b50505050509050919050565b60008060006060806000611655613ae4565b6000898152600d602090815260408083208b8452600701825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156116e957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116cb575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561174157602002820191906000526020600020905b81548152602001906001019080831161172d575b5050509183525050600791909101546001600160a01b031660209182015281519082015160408301516060840151608085015160a090950151939e929d50909b50995091975095509350505050565b6117986115cd565b156117dd576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6117e5613a8b565b600d60008481526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118a75780601f1061187c576101008083540402835291602001916118a7565b820191906000526020600020905b81548152906001019060200180831161188a57829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e0909101528051909150611956576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60e0810151156119a6576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b818160c00151116119fe576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b611a088383613014565b611a59576040805162461bcd60e51b815260206004820152601f60248201527f49737375652068617320746f20686176652070617373656420766f74696e6700604482015290519081900360640190fd5b611a63838361352f565b15611ab5576040805162461bcd60e51b815260206004820152601760248201527f4d6572676520686173206265656e206469737075746564000000000000000000604482015290519081900360640190fd5b611abf8383611ff7565b611afa5760405162461bcd60e51b8152600401808060200182810382526029815260200180613ead6029913960400191505060405180910390fd5b6000838152600d60205260409020600901805460ff19166001179055611b1e613ae4565b6000848152600d60209081526040808320868452600701825291829020825160c081018452815481526003820154818401526004820154818501526005820180548551818602810186019096528086529194929360608601939290830182828015611bb257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611b94575b5050505050815260200160068201805480602002602001604051908101604052809291908181526020018280548015611c0a57602002820191906000526020600020905b815481526020019060010190808311611bf6575b5050509183525050600791909101546001600160a01b0390811660209283015260025460a084015160065460008a8152600d8652604080822060030154815163a9059cbb60e01b81529487166004860152606493029290920460248401529051959650919092169363a9059cbb936044808501949193918390030190829087803b158015611c9757600080fd5b505af1158015611cab573d6000803e3d6000fd5b505050506040513d6020811015611cc157600080fd5b5051611d06576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b60005b816060015151811015611e7c57600e600083606001518381518110611d2a57fe5b6020908102919091018101516001600160a01b039081168352828201939093526040909101600090812080546001810182559082529190200186905560025460608401518051919092169163a9059cbb9184908110611d8557fe5b6020026020010151606460065460640386608001518681518110611da557fe5b60200260200101510281611db557fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b5051611e74576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b600101611d09565b50600454611e9190600163ffffffff61395016565b6004556060820151600554611eab9163ffffffff6138f316565b6005556060810151604051815181906020808501910280838360005b83811015611edf578181015183820152602001611ec7565b50505050905001915050604051809103902083857f2764a4973e9de159354a809146f484fb4f13f7f8d108a4cbce66127098b8769660405160405180910390a450505050565b60045481565b60005461010090046001600160a01b03163314611f4757600080fd5b60148110611f865760405162461bcd60e51b8152600401808060200182810382526024815260200180613c7b6024913960400191505060405180910390fd5b600655565b60035481565b60005461010090046001600160a01b03163314611fad57600080fd5b60508110611fec5760405162461bcd60e51b8152600401808060200182810382526029815260200180613ed66029913960400191505060405180910390fd5b600755565b60055481565b6000828152600d60209081526040808320848452600701909152812060030154815b6000858152600d602052604090206008015460ff82161015612072576000858152600d6020908152604080832060ff8516845260070190915290206003015482101561206a57600092505050612079565b600101612019565b5060019150505b92915050565b60005461010090046001600160a01b0316331461209b57600080fd5b605081106120da5760405162461bcd60e51b8152600401808060200182810382526033815260200180613d806033913960400191505060405180910390fd5b600a55565b6120e76115cd565b1561212c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b612134613a8b565b60035480825260208083018581526060840185905233608085015242604080860191909152600060e08601819052938452600d83529092208351815591518051849392612188926001850192910190613b23565b5060408281015160028381019190915560608401516003808501919091556080850151600480860180546001600160a01b0319166001600160a01b0393841617905560a0870151600687015560c0870151600887015560e0870151600990960180546101009889015160ff199091169715159790971761ff00191696151590970295909517909555336000818152600e60209081528582209354845460018101865594835281832090940193909355925484516323b872dd60e01b81529586019190915230602486015260448501889052925192909416936323b872dd936064808201949293918390030190829087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050506040513d60208110156122af57600080fd5b50516122f4576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b600554612307908363ffffffff61395016565b6005556003805460010190819055604051839133917f6aecdf6df15bd1371e1740df5f88ad1066c22c0506751320acc231234f2c26c590600090a4505050565b60005461010090046001600160a01b031681565b612363613a6a565b336000908152600f6020908152604091829020825160608101845281548152600282018054855181860281018601909652808652919492938581019392908301828280156123da57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116123bc575b5050505050815260200160038201548152505090506123f7613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124b95780601f1061248e576101008083540402835291602001916124b9565b820191906000526020600020905b81548152906001019060200180831161249c57829003601f168201915b50505091835250506002820154602080830191909152600383015460408084019190915260048401546001600160a01b0316606084015260068401546080840152600884015460a084015260099093015460ff808216151560c085015261010090910416151560e0909201919091526000878152600d82528281208782526007019091522081519192509061258c576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260c00151116125e4576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526001820160205260409020541561263c576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061264733610f9f565b600383015490915061265f908263ffffffff61395016565b6000878152600d60209081526040808320898452600701825280832060038101949094553380845260019094018252918290208490558151848152915188928a927ffd3b653bc5d01de8ac8bc3857b862274c9914a8820abb138052a747aab3d5dde92918290030190a4505050505050565b60005461010090046001600160a01b031633146126ed57600080fd5b621a5e00811061272e5760405162461bcd60e51b815260040180806020018281038252603c815260200180613e28603c913960400191505060405180910390fd5b603c81101561276e5760405162461bcd60e51b8152600401808060200182810382526033815260200180613ce66033913960400191505060405180910390fd5b600955565b6009546000828152600d60205260408120600201549091429161279b9163ffffffff61395016565b1092915050565b60005461010090046001600160a01b031633146127be57600080fd5b600f81106127fd5760405162461bcd60e51b8152600401808060200182810382526029815260200180613db36029913960400191505060405180910390fd5b600855565b600f602052600090815260409020805460039091015482565b6002546001600160a01b031681565b60005461010090046001600160a01b0316331461284657600080fd5b69152d02c7e14af6800000811161288e5760405162461bcd60e51b8152600401808060200182810382526026815260200180613c9f6026913960400191505060405180910390fd5b6a52b7d2dcc80cd2e400000081106128d75760405162461bcd60e51b8152600401808060200182810382526024815260200180613e646024913960400191505060405180910390fd5b600c55565b60005461010090046001600160a01b031633146128f857600080fd5b6001600160a01b03811661290b57600080fd5b6040516001600160a01b0382169081907f6fadb1c244276388aee22be93b919985a18748c021e5d48553957a48101a256090600090a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6129716115cd565b156129b6576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6129be613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a805780601f10612a5557610100808354040283529160200191612a80565b820191906000526020600020905b815481529060010190602001808311612a6357829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e0909101528051909150612b2f576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60e081015115612b7f576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b8251825114612bbf5760405162461bcd60e51b8152600401808060200182810382526025815260200180613e886025913960400191505060405180910390fd5b600c54600254604080516370a0823160e01b81523360048201529051670de0b6b3a7640000909302926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015612c1a57600080fd5b505afa158015612c2e573d6000803e3d6000fd5b505050506040513d6020811015612c4457600080fd5b505111612c825760405162461bcd60e51b8152600401808060200182810382526043815260200180613d3d6043913960600191505060405180910390fd5b612c8a613ae4565b60c0820151815260808101839052606081018490523360a08201526006546000868152600d60205260408120600301546064920291909104905b8551811015612d0d57612d036064600654606403878481518110612ce457fe5b60200260200101510281612cf457fe5b8491900463ffffffff61395016565b9150600101612cc4565b506000868152600d60205260409020600301548114612d67576040805162461bcd60e51b81526020600482015260116024820152700a8dee8c2d8e640c8dedce840dac2e8c6d607b1b604482015290519081900360640190fd5b6000868152600d6020908152604080832060c087015184526007018252918290208451815581850151600382015591840151600483015560608401518051859392612db9926005850192910190613ba1565b5060808201518051612dd5916006840191602090910190613c02565b5060a09190910151600790910180546001600160a01b0319166001600160a01b039092169190911790556000868152600d60205260408082206008018054600101905583519051339289917f3a9041e1cf9ad999ea58090279700f3cb926fbf3c58ecea9897a40540c02581c9190a4505050505050565b60065481565b600060606000806000806000806000612e69613a8b565b600d60008c81526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f2b5780601f10612f0057610100808354040283529160200191612f2b565b820191906000526020600020905b815481529060010190602001808311612f0e57829003601f168201915b5050505050815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160068201548152602001600882015481526020016009820160009054906101000a900460ff161515151581526020016009820160019054906101000a900460ff1615151515815250509050806000015181602001518260600151836040015184608001518560a001518660c001518760e00151886101000151879750995099509950995099509950995099509950509193959799909294969850565b60006130326064611256600a54600b546139aa90919063ffffffff16565b6000848152600d602090815260408083208684526007019091529020600301541015905092915050565b6000811161309b5760405162461bcd60e51b8152600401808060200182810382526024815260200180613d196024913960400191505060405180910390fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156130f557600080fd5b505af1158015613109573d6000803e3d6000fd5b505050506040513d602081101561311f57600080fd5b5051613164576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b336000908152600f6020526040902060030154156131f457336000908152600f602090815260408083206001019091529020546131a7908263ffffffff61395016565b336000908152600f60208181526040808420600181018352932093909355909152600301546131dc908263ffffffff61395016565b336000908152600f602052604090206003015561122f565b336000818152600f60209081526040918290206003810185905582519182019092529182529061322a9060028301906001613ba1565b50336000818152600192830160205260408120939093556010805492830181559092527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b0319169091179055565b60075481565b60005461010090046001600160a01b031633146132a457600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600f60205260409020600381015483111561332e576040805162461bcd60e51b815260206004820152601c60248201527f48617320746f206861766520746f6b656e7320746f20756e6c6f636b00000000604482015290519081900360640190fd5b6001600160a01b03821660009081526001820160205260409020548311156133875760405162461bcd60e51b8152600401808060200182810382526021815260200180613cc56021913960400191505060405180910390fd5b600381015461339c908463ffffffff6138f316565b336000908152600f60209081526040808320600301939093556001600160a01b038516825260018401905220546133d9908463ffffffff6138f316565b336000818152600f602090815260408083206001600160a01b0388168085526001909101909252909120929092551461344f576001600160a01b0382166000908152600f6020526040902054613435908463ffffffff6138f316565b6001600160a01b0383166000908152600f60205260409020555b6001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156134a357600080fd5b505af11580156134b7573d6000803e3d6000fd5b505050506040513d60208110156134cd57600080fd5b5051613516576040805162461bcd60e51b81526020600482015260136024820152725472616e73666572206469646e7420776f726b60681b604482015290519081900360640190fd5b600b54613529908463ffffffff6138f316565b50505050565b600061354d6064611256600854600b546139aa90919063ffffffff16565b6000848152600d602090815260408083208684526007019091529020600401541015905092915050565b60085481565b613585613a6a565b336000908152600f6020908152604091829020825160608101845281548152600282018054855181860281018601909652808652919492938581019392908301828280156135fc57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116135de575b505050505081526020016003820154815250509050613619613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136db5780601f106136b0576101008083540402835291602001916136db565b820191906000526020600020905b8154815290600101906020018083116136be57829003601f168201915b50505091835250506002820154602080830191909152600383015460408084019190915260048401546001600160a01b0316606084015260068401546080840152600884015460a084015260099093015460ff808216151560c085015261010090910416151560e0909201919091526000878152600d8252828120878252600701909152208151919250906137ae576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260c0015111613806576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526002820160205260409020541561385e576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061386933610f9f565b6004830154909150613881908263ffffffff61395016565b6000878152600d60209081526040808320898452600701825280832060048101949094553380845260029094018252918290208490558151848152915188928a927fca6ae470609db3acf375ecc9883dfc54b3f4693d078dd882713eee7ba5d9b69392918290030190a4505050505050565b60008282111561394a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610fd5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826139b957506000612079565b828202828482816139c657fe5b0414610fd55760405162461bcd60e51b8152600401808060200182810382526021815260200180613e076021913960400191505060405180910390fd5b6000808211613a59576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613a6257fe5b049392505050565b60405180606001604052806000815260200160608152602001600081525090565b6040518061012001604052806000815260200160608152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060c00160405280600081526020016000815260200160008152602001606081526020016060815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613b6457805160ff1916838001178555613b91565b82800160010185558215613b91579182015b82811115613b91578251825591602001919060010190613b76565b50613b9d929150613c3c565b5090565b828054828255906000526020600020908101928215613bf6579160200282015b82811115613bf657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613bc1565b50613b9d929150613c56565b828054828255906000526020600020908101928215613b915791602002820182811115613b91578251825591602001919060010190613b76565b6115d491905b80821115613b9d5760008155600101613c42565b6115d491905b80821115613b9d5780546001600160a01b0319168155600101613c5c56fe4d657267652053686172652063616ec2b47420626520686967686572207468616e203230436f756e63696c20416d6f756e742068617320746f20686967686572207468616e203130306b46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e2031206d696e75746573546f6b656e20416d6f756e742068617320746f20626520686967686572207468616e2030546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f414d4f554e5429417070726f766520666f72204d657267652025204e65656465642063616ec2b47420626520686967686572207468616e203830446973707574652025204e65656465642063616ec2b47420626520686967686572207468616e20313554696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e206c6f776572207468616e2032302064617973436f756e63696c20416d6f756e742068617320746f206c6f776572207468616e2035304d416d6f756e74732068617320746f20657175616c20616464726573736573206c656e67746854686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573417070726f76652025204e65656465642063616ec2b47420626520686967686572207468616e203830a2646970667358221220598836b8b048b24ccdf820b9443f8e4c4e7f2a7c6eb2e8448b72d4006388224964736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061027f5760003560e01c8063839408a51161015c578063b8cc9ce6116100ce578063e2b6b3d911610087578063e2b6b3d914610a1c578063eef432a514610a24578063f1d2ec1d14610a4a578063f29b425014610a76578063f784804914610a99578063f87be2d414610aa15761027f565b8063b8cc9ce614610863578063c576315514610889578063c881bbe8146109b7578063c98244d0146109bf578063ce13eae6146109dc578063dd467064146109ff5761027f565b806395d9c4241161012057806395d9c424146107a857806396983822146107c55780639d0d6610146107e2578063a3ec138d146107ff578063a745314f1461083e578063b4f42601146108465761027f565b8063839408a51461069557806393b24154146106b8578063948545c3146106d5578063952608431461077d578063953030c5146107855761027f565b806353da4247116101f55780636931e725116101b95780636931e725146106205780636ba7fa82146106435780636dc6803f1461064b578063729911a81461066857806377f2547814610670578063817b1cd21461068d5761027f565b806353da42471461047e578063560365431461049b5780635c975abb146104b85780635d795bd2146104c05780636106e4eb146105365761027f565b8063202996fb11610247578063202996fb146103f45780632307debc146104115780633d734948146104195780634820c4631461044a5780634ca8b9eb14610452578063504dec051461045a5761027f565b806302ef0db11461028457806304e15de51461029e578063055633091461037d5780631ac63d92146103a25780631e63c0a5146103ce575b600080fd5b61028c610ac4565b60408051918252519081900360200190f35b6102bb600480360360208110156102b457600080fd5b5035610aca565b604080518a8152908101889052606081018790526001600160a01b038616608082015260a0810185905260c0810184905282151560e082015281151561010082015261012060208083018281528b51928401929092528a516101408401918c019080838360005b8381101561033a578181015183820152602001610322565b50505050905090810190601f1680156103675780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b6103a06004803603604081101561039357600080fd5b5080359060200135610bae565b005b61028c600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610f71565b61028c600480360360208110156103e457600080fd5b50356001600160a01b0316610f9f565b6103a06004803603602081101561040a57600080fd5b5035610fdc565b61028c611232565b6104366004803603602081101561042f57600080fd5b5035611238565b604080519115158252519081900360200190f35b61028c61127d565b61028c611283565b610462611289565b604080516001600160a01b039092168252519081900360200190f35b6104626004803603602081101561049457600080fd5b5035611298565b6103a0600480360360208110156104b157600080fd5b50356112bf565b6104366115cd565b6104e6600480360360208110156104d657600080fd5b50356001600160a01b03166115d7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561052257818101518382015260200161050a565b505050509050019250505060405180910390f35b6105596004803603604081101561054c57600080fd5b5080359060200135611643565b604051808781526020018681526020018581526020018060200180602001846001600160a01b03166001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b838110156105c75781810151838201526020016105af565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156106065781810151838201526020016105ee565b505050509050019850505050505050505060405180910390f35b6103a06004803603604081101561063657600080fd5b5080359060200135611790565b61028c611f25565b6103a06004803603602081101561066157600080fd5b5035611f2b565b61028c611f8b565b6103a06004803603602081101561068657600080fd5b5035611f91565b61028c611ff1565b610436600480360360408110156106ab57600080fd5b5080359060200135611ff7565b6103a0600480360360208110156106ce57600080fd5b503561207f565b6103a0600480360360408110156106eb57600080fd5b81019060208101813564010000000081111561070657600080fd5b82018360208201111561071857600080fd5b8035906020019184600183028401116401000000008311171561073a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506120df915050565b610462612347565b6103a06004803603604081101561079b57600080fd5b508035906020013561235b565b6103a0600480360360208110156107be57600080fd5b50356126d1565b610436600480360360208110156107db57600080fd5b5035612773565b6103a0600480360360208110156107f857600080fd5b50356127a2565b6108256004803603602081101561081557600080fd5b50356001600160a01b0316612802565b6040805192835260208301919091528051918290030190f35b61046261281b565b6103a06004803603602081101561085c57600080fd5b503561282a565b6103a06004803603602081101561087957600080fd5b50356001600160a01b03166128dc565b6103a06004803603606081101561089f57600080fd5b813591908101906040810160208201356401000000008111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460208302840111640100000000831117156108f557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561094557600080fd5b82018360208201111561095757600080fd5b8035906020019184602083028401116401000000008311171561097957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612969945050505050565b61028c612e4c565b6102bb600480360360208110156109d557600080fd5b5035612e52565b610436600480360360408110156109f257600080fd5b5080359060200135613014565b6103a060048036036020811015610a1557600080fd5b503561305c565b61028c613282565b6103a060048036036020811015610a3a57600080fd5b50356001600160a01b0316613288565b6103a060048036036040811015610a6057600080fd5b50803590602001356001600160a01b03166132c6565b61043660048036036040811015610a8c57600080fd5b508035906020013561352f565b61028c613577565b6103a060048036036040811015610ab757600080fd5b508035906020013561357d565b600c5481565b600d602090815260009182526040918290208054600180830180548651600293821615610100026000190190911692909204601f810186900486028301860190965285825291949293909290830182828015610b675780601f10610b3c57610100808354040283529160200191610b67565b820191906000526020600020905b815481529060010190602001808311610b4a57829003601f168201915b50505060028401546003850154600486015460068701546008880154600990980154969793969295506001600160a01b039091169350919060ff8082169161010090041689565b610bb66115cd565b15610bfb576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600d6020526040902060030154610c53576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b6000828152600d60205260409020600401546001600160a01b03163314610cc1576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b610cca82611238565b15610d1c576040805162461bcd60e51b815260206004820152601960248201527f497373756520697320616c726561647920417070726f76656400000000000000604482015290519081900360640190fd5b6000828152600d6020526040902060030180549082905580821115610e5f576002546001600160a01b03166323b872dd3330610d5e868663ffffffff6138f316565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b5051610e35576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b610e57610e48838363ffffffff6138f316565b6005549063ffffffff61395016565b600555610f6c565b6002546001600160a01b031663a9059cbb33610e81848663ffffffff6138f316565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610ed057600080fd5b505af1158015610ee4573d6000803e3d6000fd5b505050506040513d6020811015610efa57600080fd5b5051610f46576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b610f68610f59828463ffffffff6138f316565b6005549063ffffffff6138f316565b6005555b505050565b600e6020528160005260406000208181548110610f8a57fe5b90600052602060002001600091509150505481565b6001600160a01b0381166000908152600f60209081526040808320600181019092528220548154610fd59163ffffffff61395016565b9392505050565b610fe46115cd565b15611029576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000818152600d60205260409020600401546001600160a01b03163314611097576040805162461bcd60e51b815260206004820152601b60248201527f48617320746f206265207468652069737375652063726561746f720000000000604482015290519081900360640190fd5b6110a081611238565b156110f2576040805162461bcd60e51b815260206004820152601c60248201527f49737375652068617320746f206e6f7420626520617070726f76656400000000604482015290519081900360640190fd5b6110fb81612773565b156111375760405162461bcd60e51b815260040180806020018281038252602b815260200180613ddc602b913960400191505060405180910390fd5b6000818152600d6020908152604080832060098101805461ff001960ff1990911660011716610100179055600254600390910154825163a9059cbb60e01b8152336004820152602481019190915291516001600160a01b039091169363a9059cbb93604480850194919392918390030190829087803b1580156111b957600080fd5b505af11580156111cd573d6000803e3d6000fd5b505050506040513d60208110156111e357600080fd5b505161122f576040805162461bcd60e51b8152602060048201526016602482015275151c985b9cd9995c881b9bdd081cdd58d95cdcd99d5b60521b604482015290519081900360640190fd5b50565b60095481565b60006112626064611256600754600b546139aa90919063ffffffff16565b9063ffffffff613a0316565b6000838152600d602052604090206006015410159050919050565b600b5481565b600a5481565b6001546001600160a01b031681565b601081815481106112a557fe5b6000918252602090912001546001600160a01b0316905081565b6112c7613a6a565b336000908152600f60209081526040918290208251606081018452815481526002820180548551818602810186019096528086529194929385810193929083018282801561133e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611320575b50505050508152602001600382015481525050905061135b613a8b565b600d60008481526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561141d5780601f106113f25761010080835404028352916020019161141d565b820191906000526020600020905b81548152906001019060200180831161140057829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e09091015280519091506114ce576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6114d783612773565b6114e057600080fd5b6000838152600d6020908152604080832033845260050190915290205415611543576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061154e33610f9f565b6000858152600d6020526040902060060154909150611573908263ffffffff61395016565b6000858152600d60209081526040808320600681019490945533808452600590940190915280822084905551839187917f874c2861194fad2379fb15b08319bf4f3ec0c9f22bfd1ed18435ac4600abb0a09190a450505050565b60005460ff165b90565b6001600160a01b0381166000908152600e602090815260409182902080548351818402810184019094528084526060939283018282801561163757602002820191906000526020600020905b815481526020019060010190808311611623575b50505050509050919050565b60008060006060806000611655613ae4565b6000898152600d602090815260408083208b8452600701825291829020825160c0810184528154815260038201548184015260048201548185015260058201805485518186028101860190965280865291949293606086019392908301828280156116e957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116cb575b505050505081526020016006820180548060200260200160405190810160405280929190818152602001828054801561174157602002820191906000526020600020905b81548152602001906001019080831161172d575b5050509183525050600791909101546001600160a01b031660209182015281519082015160408301516060840151608085015160a090950151939e929d50909b50995091975095509350505050565b6117986115cd565b156117dd576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6117e5613a8b565b600d60008481526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118a75780601f1061187c576101008083540402835291602001916118a7565b820191906000526020600020905b81548152906001019060200180831161188a57829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e0909101528051909150611956576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60e0810151156119a6576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b818160c00151116119fe576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b611a088383613014565b611a59576040805162461bcd60e51b815260206004820152601f60248201527f49737375652068617320746f20686176652070617373656420766f74696e6700604482015290519081900360640190fd5b611a63838361352f565b15611ab5576040805162461bcd60e51b815260206004820152601760248201527f4d6572676520686173206265656e206469737075746564000000000000000000604482015290519081900360640190fd5b611abf8383611ff7565b611afa5760405162461bcd60e51b8152600401808060200182810382526029815260200180613ead6029913960400191505060405180910390fd5b6000838152600d60205260409020600901805460ff19166001179055611b1e613ae4565b6000848152600d60209081526040808320868452600701825291829020825160c081018452815481526003820154818401526004820154818501526005820180548551818602810186019096528086529194929360608601939290830182828015611bb257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611b94575b5050505050815260200160068201805480602002602001604051908101604052809291908181526020018280548015611c0a57602002820191906000526020600020905b815481526020019060010190808311611bf6575b5050509183525050600791909101546001600160a01b0390811660209283015260025460a084015160065460008a8152600d8652604080822060030154815163a9059cbb60e01b81529487166004860152606493029290920460248401529051959650919092169363a9059cbb936044808501949193918390030190829087803b158015611c9757600080fd5b505af1158015611cab573d6000803e3d6000fd5b505050506040513d6020811015611cc157600080fd5b5051611d06576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b60005b816060015151811015611e7c57600e600083606001518381518110611d2a57fe5b6020908102919091018101516001600160a01b039081168352828201939093526040909101600090812080546001810182559082529190200186905560025460608401518051919092169163a9059cbb9184908110611d8557fe5b6020026020010151606460065460640386608001518681518110611da557fe5b60200260200101510281611db557fe5b046040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b505050506040513d6020811015611e2f57600080fd5b5051611e74576040805162461bcd60e51b815260206004820152600f60248201526e2430b9903a37903a3930b739b332b960891b604482015290519081900360640190fd5b600101611d09565b50600454611e9190600163ffffffff61395016565b6004556060820151600554611eab9163ffffffff6138f316565b6005556060810151604051815181906020808501910280838360005b83811015611edf578181015183820152602001611ec7565b50505050905001915050604051809103902083857f2764a4973e9de159354a809146f484fb4f13f7f8d108a4cbce66127098b8769660405160405180910390a450505050565b60045481565b60005461010090046001600160a01b03163314611f4757600080fd5b60148110611f865760405162461bcd60e51b8152600401808060200182810382526024815260200180613c7b6024913960400191505060405180910390fd5b600655565b60035481565b60005461010090046001600160a01b03163314611fad57600080fd5b60508110611fec5760405162461bcd60e51b8152600401808060200182810382526029815260200180613ed66029913960400191505060405180910390fd5b600755565b60055481565b6000828152600d60209081526040808320848452600701909152812060030154815b6000858152600d602052604090206008015460ff82161015612072576000858152600d6020908152604080832060ff8516845260070190915290206003015482101561206a57600092505050612079565b600101612019565b5060019150505b92915050565b60005461010090046001600160a01b0316331461209b57600080fd5b605081106120da5760405162461bcd60e51b8152600401808060200182810382526033815260200180613d806033913960400191505060405180910390fd5b600a55565b6120e76115cd565b1561212c576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b612134613a8b565b60035480825260208083018581526060840185905233608085015242604080860191909152600060e08601819052938452600d83529092208351815591518051849392612188926001850192910190613b23565b5060408281015160028381019190915560608401516003808501919091556080850151600480860180546001600160a01b0319166001600160a01b0393841617905560a0870151600687015560c0870151600887015560e0870151600990960180546101009889015160ff199091169715159790971761ff00191696151590970295909517909555336000818152600e60209081528582209354845460018101865594835281832090940193909355925484516323b872dd60e01b81529586019190915230602486015260448501889052925192909416936323b872dd936064808201949293918390030190829087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050506040513d60208110156122af57600080fd5b50516122f4576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b600554612307908363ffffffff61395016565b6005556003805460010190819055604051839133917f6aecdf6df15bd1371e1740df5f88ad1066c22c0506751320acc231234f2c26c590600090a4505050565b60005461010090046001600160a01b031681565b612363613a6a565b336000908152600f6020908152604091829020825160608101845281548152600282018054855181860281018601909652808652919492938581019392908301828280156123da57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116123bc575b5050505050815260200160038201548152505090506123f7613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124b95780601f1061248e576101008083540402835291602001916124b9565b820191906000526020600020905b81548152906001019060200180831161249c57829003601f168201915b50505091835250506002820154602080830191909152600383015460408084019190915260048401546001600160a01b0316606084015260068401546080840152600884015460a084015260099093015460ff808216151560c085015261010090910416151560e0909201919091526000878152600d82528281208782526007019091522081519192509061258c576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260c00151116125e4576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526001820160205260409020541561263c576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061264733610f9f565b600383015490915061265f908263ffffffff61395016565b6000878152600d60209081526040808320898452600701825280832060038101949094553380845260019094018252918290208490558151848152915188928a927ffd3b653bc5d01de8ac8bc3857b862274c9914a8820abb138052a747aab3d5dde92918290030190a4505050505050565b60005461010090046001600160a01b031633146126ed57600080fd5b621a5e00811061272e5760405162461bcd60e51b815260040180806020018281038252603c815260200180613e28603c913960400191505060405180910390fd5b603c81101561276e5760405162461bcd60e51b8152600401808060200182810382526033815260200180613ce66033913960400191505060405180910390fd5b600955565b6009546000828152600d60205260408120600201549091429161279b9163ffffffff61395016565b1092915050565b60005461010090046001600160a01b031633146127be57600080fd5b600f81106127fd5760405162461bcd60e51b8152600401808060200182810382526029815260200180613db36029913960400191505060405180910390fd5b600855565b600f602052600090815260409020805460039091015482565b6002546001600160a01b031681565b60005461010090046001600160a01b0316331461284657600080fd5b69152d02c7e14af6800000811161288e5760405162461bcd60e51b8152600401808060200182810382526026815260200180613c9f6026913960400191505060405180910390fd5b6a52b7d2dcc80cd2e400000081106128d75760405162461bcd60e51b8152600401808060200182810382526024815260200180613e646024913960400191505060405180910390fd5b600c55565b60005461010090046001600160a01b031633146128f857600080fd5b6001600160a01b03811661290b57600080fd5b6040516001600160a01b0382169081907f6fadb1c244276388aee22be93b919985a18748c021e5d48553957a48101a256090600090a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6129716115cd565b156129b6576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6129be613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a805780601f10612a5557610100808354040283529160200191612a80565b820191906000526020600020905b815481529060010190602001808311612a6357829003601f168201915b5050509183525050600282015460208201526003820154604082015260048201546001600160a01b0316606082015260068201546080820152600882015460a082015260099091015460ff808216151560c084015261010090910416151560e0909101528051909150612b2f576040805162461bcd60e51b8152602060048201526012602482015271125cdcdd59481a185cc81d1bc8195e1a5cdd60721b604482015290519081900360640190fd5b60e081015115612b7f576040805162461bcd60e51b8152602060048201526016602482015275125cdcdd59481a185cc81d1bc81899481bdc195b995960521b604482015290519081900360640190fd5b8251825114612bbf5760405162461bcd60e51b8152600401808060200182810382526025815260200180613e886025913960400191505060405180910390fd5b600c54600254604080516370a0823160e01b81523360048201529051670de0b6b3a7640000909302926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015612c1a57600080fd5b505afa158015612c2e573d6000803e3d6000fd5b505050506040513d6020811015612c4457600080fd5b505111612c825760405162461bcd60e51b8152600401808060200182810382526043815260200180613d3d6043913960600191505060405180910390fd5b612c8a613ae4565b60c0820151815260808101839052606081018490523360a08201526006546000868152600d60205260408120600301546064920291909104905b8551811015612d0d57612d036064600654606403878481518110612ce457fe5b60200260200101510281612cf457fe5b8491900463ffffffff61395016565b9150600101612cc4565b506000868152600d60205260409020600301548114612d67576040805162461bcd60e51b81526020600482015260116024820152700a8dee8c2d8e640c8dedce840dac2e8c6d607b1b604482015290519081900360640190fd5b6000868152600d6020908152604080832060c087015184526007018252918290208451815581850151600382015591840151600483015560608401518051859392612db9926005850192910190613ba1565b5060808201518051612dd5916006840191602090910190613c02565b5060a09190910151600790910180546001600160a01b0319166001600160a01b039092169190911790556000868152600d60205260408082206008018054600101905583519051339289917f3a9041e1cf9ad999ea58090279700f3cb926fbf3c58ecea9897a40540c02581c9190a4505050505050565b60065481565b600060606000806000806000806000612e69613a8b565b600d60008c81526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612f2b5780601f10612f0057610100808354040283529160200191612f2b565b820191906000526020600020905b815481529060010190602001808311612f0e57829003601f168201915b5050505050815260200160028201548152602001600382015481526020016004820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200160068201548152602001600882015481526020016009820160009054906101000a900460ff161515151581526020016009820160019054906101000a900460ff1615151515815250509050806000015181602001518260600151836040015184608001518560a001518660c001518760e00151886101000151879750995099509950995099509950995099509950509193959799909294969850565b60006130326064611256600a54600b546139aa90919063ffffffff16565b6000848152600d602090815260408083208684526007019091529020600301541015905092915050565b6000811161309b5760405162461bcd60e51b8152600401808060200182810382526024815260200180613d196024913960400191505060405180910390fd5b600154604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b1580156130f557600080fd5b505af1158015613109573d6000803e3d6000fd5b505050506040513d602081101561311f57600080fd5b5051613164576040805162461bcd60e51b815260206004820152600f60248201526e4e6565647320416c6c6f77616e636560881b604482015290519081900360640190fd5b336000908152600f6020526040902060030154156131f457336000908152600f602090815260408083206001019091529020546131a7908263ffffffff61395016565b336000908152600f60208181526040808420600181018352932093909355909152600301546131dc908263ffffffff61395016565b336000908152600f602052604090206003015561122f565b336000818152600f60209081526040918290206003810185905582519182019092529182529061322a9060028301906001613ba1565b50336000818152600192830160205260408120939093556010805492830181559092527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b0319169091179055565b60075481565b60005461010090046001600160a01b031633146132a457600080fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600f60205260409020600381015483111561332e576040805162461bcd60e51b815260206004820152601c60248201527f48617320746f206861766520746f6b656e7320746f20756e6c6f636b00000000604482015290519081900360640190fd5b6001600160a01b03821660009081526001820160205260409020548311156133875760405162461bcd60e51b8152600401808060200182810382526021815260200180613cc56021913960400191505060405180910390fd5b600381015461339c908463ffffffff6138f316565b336000908152600f60209081526040808320600301939093556001600160a01b038516825260018401905220546133d9908463ffffffff6138f316565b336000818152600f602090815260408083206001600160a01b0388168085526001909101909252909120929092551461344f576001600160a01b0382166000908152600f6020526040902054613435908463ffffffff6138f316565b6001600160a01b0383166000908152600f60205260409020555b6001546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b1580156134a357600080fd5b505af11580156134b7573d6000803e3d6000fd5b505050506040513d60208110156134cd57600080fd5b5051613516576040805162461bcd60e51b81526020600482015260136024820152725472616e73666572206469646e7420776f726b60681b604482015290519081900360640190fd5b600b54613529908463ffffffff6138f316565b50505050565b600061354d6064611256600854600b546139aa90919063ffffffff16565b6000848152600d602090815260408083208684526007019091529020600401541015905092915050565b60085481565b613585613a6a565b336000908152600f6020908152604091829020825160608101845281548152600282018054855181860281018601909652808652919492938581019392908301828280156135fc57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116135de575b505050505081526020016003820154815250509050613619613a8b565b600d60008581526020019081526020016000206040518061012001604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136db5780601f106136b0576101008083540402835291602001916136db565b820191906000526020600020905b8154815290600101906020018083116136be57829003601f168201915b50505091835250506002820154602080830191909152600383015460408084019190915260048401546001600160a01b0316606084015260068401546080840152600884015460a084015260099093015460ff808216151560c085015261010090910416151560e0909201919091526000878152600d8252828120878252600701909152208151919250906137ae576040805162461bcd60e51b8152602060048201526014602482015273125cdcdd5948191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b838260c0015111613806576040805162461bcd60e51b815260206004820152601d60248201527f4d657267652050726f706f73616c20646f6573206e6f74206578697374000000604482015290519081900360640190fd5b3360009081526002820160205260409020541561385e576040805162461bcd60e51b815260206004820152601160248201527012185cc8185b1c9958591e481d9bdd1959607a1b604482015290519081900360640190fd5b600061386933610f9f565b6004830154909150613881908263ffffffff61395016565b6000878152600d60209081526040808320898452600701825280832060048101949094553380845260029094018252918290208490558151848152915188928a927fca6ae470609db3acf375ecc9883dfc54b3f4693d078dd882713eee7ba5d9b69392918290030190a4505050505050565b60008282111561394a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610fd5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826139b957506000612079565b828202828482816139c657fe5b0414610fd55760405162461bcd60e51b8152600401808060200182810382526021815260200180613e076021913960400191505060405180910390fd5b6000808211613a59576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613a6257fe5b049392505050565b60405180606001604052806000815260200160608152602001600081525090565b6040518061012001604052806000815260200160608152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060c00160405280600081526020016000815260200160008152602001606081526020016060815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613b6457805160ff1916838001178555613b91565b82800160010185558215613b91579182015b82811115613b91578251825591602001919060010190613b76565b50613b9d929150613c3c565b5090565b828054828255906000526020600020908101928215613bf6579160200282015b82811115613bf657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613bc1565b50613b9d929150613c56565b828054828255906000526020600020908101928215613b915791602002820182811115613b91578251825591602001919060010190613b76565b6115d491905b80821115613b9d5760008155600101613c42565b6115d491905b80821115613b9d5780546001600160a01b0319168155600101613c5c56fe4d657267652053686172652063616ec2b47420626520686967686572207468616e203230436f756e63696c20416d6f756e742068617320746f20686967686572207468616e203130306b46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e2031206d696e75746573546f6b656e20416d6f756e742068617320746f20626520686967686572207468616e2030546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f414d4f554e5429417070726f766520666f72204d657267652025204e65656465642063616ec2b47420626520686967686572207468616e203830446973707574652025204e65656465642063616ec2b47420626520686967686572207468616e20313554696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7754696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e206c6f776572207468616e2032302064617973436f756e63696c20416d6f756e742068617320746f206c6f776572207468616e2035304d416d6f756e74732068617320746f20657175616c20616464726573736573206c656e67746854686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573417070726f76652025204e65656465642063616ec2b47420626520686967686572207468616e203830a2646970667358221220598836b8b048b24ccdf820b9443f8e4c4e7f2a7c6eb2e8448b72d4006388224964736f6c63430006020033", - "sourceMap": "533:18344:7:-:0;;;761:1;727:35;;800:1;768:33;;836:1;807:30;;881:1;843:39;;983:2;939:46;;1101:1;1057:45;;1215:6;1174:47;;1269:2;1227:44;;1372:1;1343:30;;1412:8;1380:40;;3317:229;8:9:-1;5:2;;;30:1;27;20:12;5:2;3317:229:7;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3317:229:7;;;;;;;945:5:26;935:15;;555:10:9;935:15:26;543:22:9;-1:-1:-1;;;;;;543:22:9;;;;;;935:15:26;3416:37:7;;-1:-1:-1;;;;;3416:37:7;;;-1:-1:-1;;;;;;3416:37:7;;;;;;;3463:16;:45;;;;;;;;;;;;;;533:18344;;;;;;", - "deployedSourceMap": "533:18344:7:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;533:18344:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1380:40;;;:::i;:::-;;;;;;;;;;;;;;;;1434:39;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1434:39:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1434:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1434:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11159:1006;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11159:1006:7;;;;;;;:::i;:::-;;1505:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1505:45:7;;;;;;;;:::i;15603:205::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15603:205:7;-1:-1:-1;;;;;15603:205:7;;:::i;10520:531::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10520:531:7;;:::i;1174:47::-;;;:::i;8612:179::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8612:179:7;;:::i;:::-;;;;;;;;;;;;;;;;;;1343:30;;;:::i;1227:44::-;;;:::i;610:27::-;;;:::i;:::-;;;;-1:-1:-1;;;;;610:27:7;;;;;;;;;;;;;;1635:28;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1635:28:7;;:::i;6101:643::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6101:643:7;;:::i;1052:84:26:-;;;:::i;15476:121:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15476:121:7;-1:-1:-1;;;;;15476:121:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15476:121:7;;;;;;;;;;;;;;;;;16195:348;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16195:348:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16195:348:7;-1:-1:-1;;;;;16195:348:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16195:348:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;16195:348:7;;;;;;;;;;;;;;;;;;;;;;;14017:1453;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14017:1453:7;;;;;;;:::i;768:33::-;;;:::i;16809:233::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16809:233:7;;:::i;727:35::-;;;:::i;17111:268::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17111:268:7;;:::i;807:30::-;;;:::i;9238:403::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9238:403:7;;;;;;;:::i;17779:268::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17779:268:7;;:::i;9735:779::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9735:779:7;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;9735:779:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;9735:779:7;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;9735:779:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;9735:779:7;;-1:-1:-1;;9735:779:7;;;-1:-1:-1;9735:779:7;;-1:-1:-1;;9735:779:7:i;262:24:9:-;;;:::i;6750:813:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6750:813:7;;;;;;;:::i;18112:388::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18112:388:7;;:::i;8400:206::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8400:206:7;;:::i;17446:268::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17446:268:7;;:::i;1589:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1589:39:7;-1:-1:-1;;;;;1589:39:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;643:31;;;:::i;18563:309::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18563:309:7;;:::i;925:211:9:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;925:211:9;-1:-1:-1;;;;;925:211:9;;:::i;12409:1402:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12409:1402:7;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;12409:1402:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12409:1402:7;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12409:1402:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12409:1402:7;;;;;;;;-1:-1:-1;12409:1402:7;;-1:-1:-1;;21:11;5:28;;2:2;;;46:1;43;36:12;2:2;12409:1402:7;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12409:1402:7;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12409:1402:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12409:1402:7;;-1:-1:-1;12409:1402:7;;-1:-1:-1;;;;;12409:1402:7:i;843:39::-;;;:::i;15818:371::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15818:371:7;;:::i;9018:210::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9018:210:7;;;;;;;:::i;3552:841::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3552:841:7;;:::i;939:46::-;;;:::i;16620:125::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16620:125:7;-1:-1:-1;;;;;16620:125:7;;:::i;4399:759::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4399:759:7;;;;;;-1:-1:-1;;;;;4399:759:7;;:::i;8797:215::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8797:215:7;;;;;;;:::i;1057:45::-;;;:::i;7569:825::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7569:825:7;;;;;;;:::i;1380:40::-;;;;:::o;1434:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1434:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1434:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1434:39:7;;;;-1:-1:-1;1434:39:7;;;;;;;;;;;;:::o;11159:1006::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;11262:16:7::1;::::0;;;:6:::1;:16;::::0;;;;:29:::1;;::::0;11254:65:::1;;;::::0;;-1:-1:-1;;;11254:65:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11254:65:7;;;;;;;;;;;;;::::1;;11337:16;::::0;;;:6:::1;:16;::::0;;;;:31:::1;;::::0;-1:-1:-1;;;;;11337:31:7::1;11372:10;11337:45;11329:85;;;::::0;;-1:-1:-1;;;11329:85:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11433:25;11449:8;11433:15;:25::i;:::-;11432:26;11424:64;;;::::0;;-1:-1:-1;;;11424:64:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11499:22;11524:16:::0;;;:6:::1;:16;::::0;;;;:29:::1;;::::0;;11587:47;;;;11682:32;;::::1;11679:480;;;11737:16;::::0;-1:-1:-1;;;;;11737:16:7::1;:29;11767:10;11787:4;11794:35;:15:::0;11814:14;11794:35:::1;:19;:35;:::i;:::-;11737:93;;;;;;;;;;;;;-1:-1:-1::0;;;;;11737:93:7::1;-1:-1:-1::0;;;;;11737:93:7::1;;;;;;-1:-1:-1::0;;;;;11737:93:7::1;-1:-1:-1::0;;;;;11737:93:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;11737:93:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11737:93:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;11737:93:7;11729:121:::1;;;::::0;;-1:-1:-1;;;11729:121:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11729:121:7;;;;;;;;;;;;;::::1;;11878:52;11894:35;:15:::0;11914:14;11894:35:::1;:19;:35;:::i;:::-;11878:11;::::0;;:52:::1;:15;:52;:::i;:::-;11864:11;:66:::0;11679:480:::1;;;11967:16;::::0;-1:-1:-1;;;;;11967:16:7::1;:25;11993:10;12005:35;:14:::0;12024:15;12005:35:::1;:18;:35;:::i;:::-;11967:74;;;;;;;;;;;;;-1:-1:-1::0;;;;;11967:74:7::1;-1:-1:-1::0;;;;;11967:74:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;11967:74:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;11967:74:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;11967:74:7;11959:109:::1;;;::::0;;-1:-1:-1;;;11959:109:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;11959:109:7;;;;;;;;;;;;;::::1;;12096:52;12112:35;:14:::0;12131:15;12112:35:::1;:18;:35;:::i;:::-;12096:11;::::0;;:52:::1;:15;:52;:::i;:::-;12082:11;:66:::0;11679:480:::1;1405:1:26;11159:1006:7::0;;:::o;1505:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15603:205::-;-1:-1:-1;;;;;15704:16:7;;15664:7;15704:16;;;:6;:16;;;;;;;;15770:20;;;:30;;;;;;15737:28;;:64;;;:32;:64;:::i;:::-;15730:71;15603:205;-1:-1:-1;;;15603:205:7:o;10520:531::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;10598:16:7::1;::::0;;;:6:::1;:16;::::0;;;;:31:::1;;::::0;-1:-1:-1;;;;;10598:31:7::1;10633:10;10598:45;10590:85;;;::::0;;-1:-1:-1;;;10590:85:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10694:25;10710:8;10694:15;:25::i;:::-;10693:26;10685:67;;;::::0;;-1:-1:-1;;;10685:67:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;10771:27;10789:8;10771:17;:27::i;:::-;10770:28;10762:84;;;;-1:-1:-1::0;;;10762:84:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10856:16;::::0;;;:6:::1;:16;::::0;;;;;;;:26:::1;::::0;::::1;:33:::0;;-1:-1:-1;;;;10856:33:7;;::::1;10885:4;10856:33;10899:32;10856:33;10899:32;::::0;;10949:16:::1;::::0;10987:29:::1;::::0;;::::1;::::0;10949:68;;-1:-1:-1;;;10949:68:7;;10975:10:::1;10949:68;::::0;::::1;::::0;;;;;;;;;;-1:-1:-1;;;;;10949:16:7;;::::1;::::0;:25:::1;::::0;:68;;;;;10856:16;;10949:68;;;;;;;;;:16;:68;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;10949:68:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;10949:68:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;10949:68:7;10941:103:::1;;;::::0;;-1:-1:-1;;;10941:103:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10941:103:7;;;;;;;;;;;;;::::1;;10520:531:::0;:::o;1174:47::-;;;;:::o;8612:179::-;8671:4;8731:52;8779:3;8731:43;8747:26;;8731:11;;:15;;:43;;;;:::i;:::-;:47;:52;:47;:52;:::i;:::-;8695:16;;;;:6;:16;;;;;:32;;;:88;;;-1:-1:-1;8612:179:7;;;:::o;1343:30::-;;;;:::o;1227:44::-;;;;:::o;610:27::-;;;-1:-1:-1;;;;;610:27:7;;:::o;1635:28::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1635:28:7;;-1:-1:-1;1635:28:7;:::o;6101:643::-;6158:18;;:::i;:::-;6186:10;6179:18;;;;:6;:18;;;;;;;;;6158:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6179:18;;6158:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6158:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6207:18;;:::i;:::-;6228:6;:16;6235:8;6228:16;;;;;;;;;;;6207:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6207:37:7;;;-1:-1:-1;;6207:37:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6207:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6262:9;;6207:37;;-1:-1:-1;6254:47:7;;;;;-1:-1:-1;;;6254:47:7;;;;;;;;;;;;-1:-1:-1;;;6254:47:7;;;;;;;;;;;;;;;6319:27;6337:8;6319:17;:27::i;:::-;6311:36;;;;;;6365:16;;;;:6;:16;;;;;;;;6407:10;6365:53;;:41;;:53;;;;;;:58;6357:88;;;;;-1:-1:-1;;;6357:88:7;;;;;;;;;;;;-1:-1:-1;;;6357:88:7;;;;;;;;;;;;;;;6456:18;6477:29;6495:10;6477:17;:29::i;:::-;6551:16;;;;:6;:16;;;;;:32;;;6456:50;;-1:-1:-1;6551:48:7;;6456:50;6551:48;:36;:48;:::i;:::-;6516:16;;;;:6;:16;;;;;;;;:32;;;:83;;;;6651:10;6609:53;;;:41;;;;:53;;;;;;:66;;;6691:46;6665:10;;6523:8;;6691:46;;6516:16;6691:46;6101:643;;;;:::o;1052:84:26:-;1099:4;1122:7;;;1052:84;;:::o;15476:121:7:-;-1:-1:-1;;;;;15572:18:7;;;;;;:8;:18;;;;;;;;;15565:25;;;;;;;;;;;;;;;;;15538:16;;15565:25;;;15572:18;15565:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15476:121;;;:::o;16195:348::-;16269:7;16278;16287;16296:16;16314;16332:7;16350:26;;:::i;:::-;16379:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;;16350:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16379:41;;16350:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16350:70:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16350:70:7;;;-1:-1:-1;;16350:70:7;;;;;;-1:-1:-1;;;;;16350:70:7;;;;;;16438:9;;16449:11;;;;16462:14;;;;16478:17;;;;16497:15;;;;16514:21;;;;;16438:9;;16449:11;;-1:-1:-1;16462:14:7;;-1:-1:-1;16478:17:7;-1:-1:-1;16497:15:7;;-1:-1:-1;16514:21:7;-1:-1:-1;16195:348:7;-1:-1:-1;;;;16195:348:7:o;14017:1453::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;14104:18:7::1;;:::i;:::-;14125:6;:16;14132:8;14125:16;;;;;;;;;;;14104:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;14104:37:7;;;-1:-1:-1;;14104:37:7::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;14104:37:7::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;;;::::0;;;;::::1;::::0;;::::1;;;;::::0;;;;;14159:9;;14104:37;;-1:-1:-1;14151:46:7::1;;;::::0;;-1:-1:-1;;;14151:46:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14151:46:7;;;;;;;;;;;;;::::1;;14215:15;::::0;::::1;::::0;:24:::1;14207:59;;;::::0;;-1:-1:-1;;;14207:59:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14207:59:7;;;;;;;;;;;;;::::1;;14310:8;14284:5;:22;;;:34;14276:76;;;::::0;;-1:-1:-1;;;14276:76:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14370:35;14386:8;14396;14370:15;:35::i;:::-;14362:79;;;::::0;;-1:-1:-1;;;14362:79:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14460:35;14476:8;14486;14460:15;:35::i;:::-;14459:36;14451:72;;;::::0;;-1:-1:-1;;;14451:72:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;14541:46;14568:8;14578;14541:26;:46::i;:::-;14533:100;;;;-1:-1:-1::0;;;14533:100:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14672:16;::::0;;;:6:::1;:16;::::0;;;;:26:::1;;:33:::0;;-1:-1:-1;;14672:33:7::1;14701:4;14672:33;::::0;;14715:26:::1;;:::i;:::-;14744:16;::::0;;;:6:::1;:16;::::0;;;;;;;:41;;;:31:::1;;:41:::0;;;;;;14715:70;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;;;;14744:41;;14715:70;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;14715:70:7::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;14715:70:7;;;-1:-1:-1;;14715:70:7::1;::::0;;;::::1;::::0;-1:-1:-1;;;;;14715:70:7;;::::1;;::::0;;::::1;::::0;14838:16:::1;::::0;14864:21:::1;::::0;::::1;::::0;14920:20:::1;::::0;-1:-1:-1;14888:16:7;;;:6:::1;:16:::0;;;;;;:29:::1;;::::0;14838:110;;-1:-1:-1;;;14838:110:7;;;;::::1;;::::0;::::1;::::0;14944:3:::1;14888:52:::0;::::1;14887:60:::0;;;::::1;14838:110:::0;;;;;;14864:21;;-1:-1:-1;14838:16:7;;;::::1;::::0;:25:::1;::::0;:110;;;;;14715:70;;14838:110;;;;;;;;:16;:110;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;14838:110:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;14838:110:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;14838:110:7;14830:138:::1;;;::::0;;-1:-1:-1;;;14830:138:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;14830:138:7;;;;;;;;;;;;;::::1;;15030:6;15026:266;15046:5;:17;;;:24;15042:1;:28;15026:266;;;15090:8;:30;15099:5;:17;;;15117:1;15099:20;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15090:30:7;;::::1;::::0;;;;::::1;::::0;;;;;;;;-1:-1:-1;15090:30:7;;;27:10:-1;;39:1:::1;23:18:::0;::::1;45:23:::0;;15090:45:7;;;;;;::::1;::::0;;;15157:16:::1;::::0;15183:17:::1;::::0;::::1;::::0;:20;;15157:16;;;::::1;::::0;:25:::1;::::0;15201:1;;15183:20;::::1;;;;;;;;;;;15257:3;15232:20;;15228:3;:24;15206:5;:15;;;15222:1;15206:18;;;;;;;;;;;;;;:47;15205:55;;;;;;15157:104;;;;;;;;;;;;;-1:-1:-1::0;;;;;15157:104:7::1;-1:-1:-1::0;;;;;15157:104:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27::::0;20:12:::1;5:2;15157:104:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;15157:104:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;15157:104:7;15149:132:::1;;;::::0;;-1:-1:-1;;;15149:132:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;15149:132:7;;;;;;;;;;;;;::::1;;15072:3;;15026:266;;;-1:-1:-1::0;15319:14:7::1;::::0;:21:::1;::::0;15338:1:::1;15319:21;:18;:21;:::i;:::-;15302:14;:38:::0;15380:18:::1;::::0;::::1;::::0;15364:11:::1;::::0;:35:::1;::::0;::::1;:15;:35;:::i;:::-;15350:11;:49:::0;15445:17:::1;::::0;::::1;::::0;15414:49:::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;23:1:-1::1;8:100;33:3;30:1;27:10;8:100;;;90:11:::0;;::::1;84:18:::0;71:11;;::::1;64:39:::0;52:2:::1;45:10;8:100;;;12:14;15414:49:7;;;;;;;;;;;;;;;;15435:8;15425;15414:49;;;;;;;;;;1405:1:26;;14017:1453:7::0;;:::o;768:33::-;;;;:::o;16809:233::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;16938:2:7::1;16914:21;:26;16906:75;;;;-1:-1:-1::0;;;16906:75:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16991:20;:44:::0;16809:233::o;727:35::-;;;;:::o;17111:268::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;17258:2:7::1;17228:27;:32;17220:86;;;;-1:-1:-1::0;;;17220:86:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17316:26;:56:::0;17111:268::o;807:30::-;;;;:::o;9238:403::-;9326:4;9367:16;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;9326:4;9424:190;9445:16;;;;:6;:16;;;;;:33;;;9441:37;;;;9424:190;;;9501:16;;;;:6;:16;;;;;;;;:34;;;;;:31;;:34;;;;;:40;;;:57;-1:-1:-1;9498:106:7;;;9584:5;9577:12;;;;;;9498:106;9480:3;;9424:190;;;;9630:4;9623:11;;;9238:403;;;;;:::o;17779:268::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;17920:2:7::1;17892:25;:30;17884:94;;;;-1:-1:-1::0;;;17884:94:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17988:24;:52:::0;17779:268::o;9735:779::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;9849:18:7::1;;:::i;:::-;9889:16;::::0;9877:28;;;9915:9:::1;::::0;;::::1;:16:::0;;;9941:18:::1;::::0;::::1;:33:::0;;;10007:10:::1;9984:20;::::0;::::1;:33:::0;10048:15:::1;10027:18;::::0;;::::1;:36:::0;;;;9877:9:::1;10073:15;::::0;::::1;:23:::0;;;10106:24;;;:6:::1;:24:::0;;;;;:32;;;;;;;;9877:5;;10106:24;:32:::1;::::0;10073:23;10106:32;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;10106:32:7::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;10106:32:7::1;-1:-1:-1::0;;;;;10106:32:7;;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;10106:32:7;;::::1;::::0;::::1;;::::0;;;::::1;-1:-1:-1::0;;10106:32:7::1;::::0;::::1;;::::0;;::::1;::::0;;;::::1;::::0;;;10157:10:::1;-1:-1:-1::0;10148:20:7;;;:8:::1;:20;::::0;;;;;;10174:16;;27:10:-1;;-1:-1;23:18;::::1;45:23:::0;;10148:43:7;;;;;;;;::::1;::::0;;;;10247:16;;:70;;-1:-1:-1;;;10247:70:7;;;;::::1;::::0;;;;10297:4:::1;10247:70:::0;;;;;;;;;;;;:16;;;::::1;::::0;:29:::1;::::0;:70;;;;;10148:20;;10247:70;;;;;;;;:16;:70;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;10247:70:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;10247:70:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;10247:70:7;10239:98:::1;;;::::0;;-1:-1:-1;;;10239:98:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10239:98:7;;;;;;;;;;;;;::::1;;10361:11;::::0;:29:::1;::::0;10377:12;10361:29:::1;:15;:29;:::i;:::-;10347:11;:43:::0;10419:16:::1;::::0;;10438:1:::1;10419:20;10400:39:::0;;;;10454:53:::1;::::0;10494:12;;10482:10:::1;::::0;10454:53:::1;::::0;-1:-1:-1;;10454:53:7::1;1405:1:26;9735:779:7::0;;:::o;262:24:9:-;;;;;;-1:-1:-1;;;;;262:24:9;;:::o;6750:813:7:-;6825:18;;:::i;:::-;6853:10;6846:18;;;;:6;:18;;;;;;;;;6825:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6846:18;;6825:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6825:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6874:18;;:::i;:::-;6895:6;:16;6902:8;6895:16;;;;;;;;;;;6874:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6874:37:7;;;-1:-1:-1;;6874:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6874:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6951:16:7;;;:6;:16;;;;;:41;;;:31;;:41;;;;7010:9;;6874:37;;-1:-1:-1;6951:41:7;7002:47;;;;;-1:-1:-1;;;7002:47:7;;;;;;;;;;;;-1:-1:-1;;;7002:47:7;;;;;;;;;;;;;;;7093:8;7067:5;:22;;;:34;7059:76;;;;;-1:-1:-1;;;7059:76:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;7182:10;7153:40;;;;:28;;;:40;;;;;;:45;7145:75;;;;;-1:-1:-1;;;7145:75:7;;;;;;;;;;;;-1:-1:-1;;;7145:75:7;;;;;;;;;;;;;;;7231:18;7252:29;7270:10;7252:17;:29::i;:::-;7350:11;;;;7231:50;;-1:-1:-1;7350:27:7;;7231:50;7350:27;:15;:27;:::i;:::-;7300:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;:77;;;;7452:10;7387:76;;;:64;;;;:76;;;;;;:89;;;7500:56;;;;;;;7332:8;;7307;;7500:56;;;;;;;;;6750:813;;;;;;:::o;18112:388::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;18250:7:7::1;18223:24;:34;18215:107;;;;-1:-1:-1::0;;;18215:107:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18368:9;18340:24;:37;;18332:101;;;;-1:-1:-1::0;;;18332:101:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18443:23;:50:::0;18112:388::o;8400:206::-;8556:23;;8461:4;8522:16;;;:6;:16;;;;;:29;;;8461:4;;8583:15;;8522:58;;;:33;:58;:::i;:::-;:76;;8400:206;-1:-1:-1;;8400:206:7:o;17446:268::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;17593:2:7::1;17563:27;:32;17555:86;;;;-1:-1:-1::0;;;17555:86:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17651:26;:56:::0;17446:268::o;1589:39::-;;;;;;;;;;;;;;;;;;;:::o;643:31::-;;;-1:-1:-1;;;;;643:31:7;;:::o;18563:309::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;18674:13:7::1;18656:15;:31;18648:82;;;;-1:-1:-1::0;;;18648:82:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18766:16;18748:15;:34;18740:83;;;;-1:-1:-1::0;;;18740:83:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18833:14;:32:::0;18563:309::o;925:211:9:-;717:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;-1:-1:-1;;;;;1010:25:9;::::1;1002:34;;;::::0;::::1;;1051:45;::::0;-1:-1:-1;;;;;1051:45:9;::::1;::::0;;;::::1;::::0;;;::::1;1106:9;:23:::0;;-1:-1:-1;;;;;1106:23:9;;::::1;;;-1:-1:-1::0;;;;;;1106:23:9;;::::1;::::0;;;::::1;::::0;;925:211::o;12409:1402:7:-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;12554:18:7::1;;:::i;:::-;12575:6;:16;12582:8;12575:16;;;;;;;;;;;12554:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;12554:37:7;;;-1:-1:-1;;12554:37:7::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;12554:37:7::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;;;::::0;;;;::::1;::::0;;::::1;;;;::::0;;;;;12609:9;;12554:37;;-1:-1:-1;12601:46:7::1;;;::::0;;-1:-1:-1;;;12601:46:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12601:46:7;;;;;;;;;;;;;::::1;;12665:15;::::0;::::1;::::0;:24:::1;12657:59;;;::::0;;-1:-1:-1;;;12657:59:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;12657:59:7;;;;;;;;;;;;;::::1;;12755:12;:19;12734:10;:17;:40;12726:90;;;;-1:-1:-1::0;;;12726:90:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12875:14;::::0;12834:16:::1;::::0;:38:::1;::::0;;-1:-1:-1;;;12834:38:7;;12861:10:::1;12834:38;::::0;::::1;::::0;;;12890:6:::1;12875:21:::0;;::::1;::::0;-1:-1:-1;;;;;12834:16:7;;::::1;::::0;:26:::1;::::0;:38;;;;;::::1;::::0;;;;;;;;;:16;:38;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;12834:38:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;12834:38:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;12834:38:7;:62:::1;12826:142;;;;-1:-1:-1::0;;;12826:142:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12979:34;;:::i;:::-;13043:22;::::0;::::1;::::0;13023:42;;13075:23:::1;::::0;::::1;:36:::0;;;13121:25:::1;::::0;::::1;:40:::0;;;13203:10:::1;13171:29;::::0;::::1;:42:::0;13275:20:::1;::::0;-1:-1:-1;13242:16:7;;;:6:::1;-1:-1:-1::0;13242:16:7;;;;:29:::1;;::::0;13300:3:::1;13242:54:::0;::::1;13241:62:::0;;;::::1;::::0;13346:139:::1;13366:12;:19;13362:1;:23;13346:139;;;13413:61;13470:3;13445:20;;13441:3;:24;13424:10;13435:1;13424:13;;;;;;;;;;;;;;:42;13423:50;;;;;13413:5:::0;;13423:50;::::1;13413:61;:9;:61;:::i;:::-;13405:69:::0;-1:-1:-1;13387:3:7::1;;13346:139;;;-1:-1:-1::0;13512:16:7::1;::::0;;;:6:::1;:16;::::0;;;;:29:::1;;::::0;13503:38;::::1;13495:68;;;::::0;;-1:-1:-1;;;13495:68:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;13495:68:7;;;;;;;;;;;;;::::1;;13574:16;::::0;;;:6:::1;:16;::::0;;;;;;;13606:22:::1;::::0;::::1;::::0;13574:55;;:31:::1;;:55:::0;;;;;;:71;;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;13632:13;;13574:55;:71:::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;13574:71:7::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;13574:71:7::1;::::0;;;::::1;::::0;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;13574:71:7::1;-1:-1:-1::0;;;;;13574:71:7;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;13691:16:7;;;:6:::1;:16;::::0;;;;;:33:::1;;::::0;;-1:-1:-1;13691:37:7::1;13655:73:::0;;13774:17;;13743:61;;13793:10:::1;::::0;13691:16;;13743:61:::1;::::0;-1:-1:-1;13743:61:7::1;1405:1:26;;;12409:1402:7::0;;;:::o;843:39::-;;;;:::o;15818:371::-;15874:7;15883:13;15898:7;15907;15916;15925;15934;15943:4;15949;15964:18;;:::i;:::-;15985:6;:16;15992:8;15985:16;;;;;;;;;;;15964:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15964:37:7;-1:-1:-1;;;;;15964:37:7;-1:-1:-1;;;;;15964:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16019:5;:9;;;16030:5;:9;;;16041:5;:18;;;16061:5;:18;;;16081:5;:20;;;16103:5;:21;;;16126:5;:22;;;16150:5;:15;;;16167:5;:14;;;16011:171;;;;;;;;;;;;;;;;;;;;;;15818:371;;;;;;;;;;;:::o;9018:210::-;9095:4;9170:50;9216:3;9170:41;9186:24;;9170:11;;:15;;:41;;;;:::i;:50::-;9119:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:47;;;:101;;;-1:-1:-1;9018:210:7;;;;:::o;3552:841::-;3628:1;3613:12;:16;3605:65;;;;-1:-1:-1;;;3605:65:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3688:12;;:66;;;-1:-1:-1;;;3688:66:7;;3714:10;3688:66;;;;3734:4;3688:66;;;;;;;;;;;;-1:-1:-1;;;;;3688:12:7;;;;:25;;:66;;;;;;;;;;;;;;;:12;;:66;;;5:2:-1;;;;30:1;27;20:12;5:2;3688:66:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3688:66:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3688:66:7;3680:94;;;;;-1:-1:-1;;;3680:94:7;;;;;;;;;;;;-1:-1:-1;;;3680:94:7;;;;;;;;;;;;;;;3795:10;3788:18;;;;:6;:18;;;;;:31;;;:36;3785:602;;3916:10;3909:18;;;;:6;:18;;;;;;;;:33;;:45;;;;;;:63;;3959:12;3909:63;:49;:63;:::i;:::-;3868:10;3861:18;;;;:6;:18;;;;;;;;:33;;;:45;;;;:111;;;;4020:18;;;:31;;;:49;;4056:12;4020:49;:35;:49;:::i;:::-;3993:10;3986:18;;;;:6;:18;;;;;:31;;:83;3785:602;;;4157:10;4128:19;4150:18;;;:6;:18;;;;;;;;;4182;;;:33;;;4229:44;;;;;;;;;;;4150:18;4229:44;;:29;;;;:44;;:::i;:::-;-1:-1:-1;4308:10:7;4287:32;;;;:20;;;;:32;;;;;:47;;;;4348:11;27:10:-1;;23:18;;;45:23;;4348:28:7;;;;;;;-1:-1:-1;;;;;;4348:28:7;;;;;;3552:841::o;939:46::-;;;;:::o;16620:125::-;717:9:9;;;;;-1:-1:-1;;;;;717:9:9;703:10;:23;695:32;;;;;;16701:16:7::1;:37:::0;;-1:-1:-1;;;;;;16701:37:7::1;-1:-1:-1::0;;;;;16701:37:7;;;::::1;::::0;;;::::1;::::0;;16620:125::o;4399:759::-;4498:10;4469:19;4491:18;;;:6;:18;;;;;4527;;;;:34;-1:-1:-1;4527:34:7;4519:75;;;;;-1:-1:-1;;;4519:75:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4612:27:7;;;;;;:20;;;:27;;;;;;:43;-1:-1:-1;4612:43:7;4604:89;;;;-1:-1:-1;;;4604:89:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4738:18;;;;:36;;4761:12;4738:36;:22;:36;:::i;:::-;4711:10;4704:18;;;;:6;:18;;;;;;;;:31;;:70;;;;-1:-1:-1;;;;;4827:27:7;;;;:20;;;:27;;;;:45;;4859:12;4827:45;:31;:45;:::i;:::-;4791:10;4784:18;;;;:6;:18;;;;;;;;-1:-1:-1;;;;;4784:40:7;;;;;:33;;;;:40;;;;;;:88;;;;4885:19;4882:141;;-1:-1:-1;;;;;4958:13:7;;;;;;:6;:13;;;;;:36;:54;;4999:12;4958:54;:40;:54;:::i;:::-;-1:-1:-1;;;;;4919:13:7;;;;;;:6;:13;;;;;:93;4882:141;5041:12;;:47;;;-1:-1:-1;;;5041:47:7;;5063:10;5041:47;;;;;;;;;;;;-1:-1:-1;;;;;5041:12:7;;;;:21;;:47;;;;;;;;;;;;;;;:12;;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;5041:47:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5041:47:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5041:47:7;5033:79;;;;;-1:-1:-1;;;5033:79:7;;;;;;;;;;;;-1:-1:-1;;;5033:79:7;;;;;;;;;;;;;;;5122:11;;:29;;5138:12;5122:29;:15;:29;:::i;:::-;;4399:759;;;:::o;8797:215::-;8874:4;8952:52;9000:3;8952:43;8968:26;;8952:11;;:15;;:43;;;;:::i;:52::-;8898:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:50;;;:106;;;-1:-1:-1;8797:215:7;;;;:::o;1057:45::-;;;;:::o;7569:825::-;7644:18;;:::i;:::-;7672:10;7665:18;;;;:6;:18;;;;;;;;;7644:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:18;;7644:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7644:39:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7693:18;;:::i;:::-;7714:6;:16;7721:8;7714:16;;;;;;;;;;;7693:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7693:37:7;;;-1:-1:-1;;7693:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7693:37:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7770:16:7;;;:6;:16;;;;;:41;;;:31;;:41;;;;7829:9;;7693:37;;-1:-1:-1;7770:41:7;7821:47;;;;;-1:-1:-1;;;7821:47:7;;;;;;;;;;;;-1:-1:-1;;;7821:47:7;;;;;;;;;;;;;;;7912:8;7886:5;:22;;;:34;7878:76;;;;;-1:-1:-1;;;7878:76:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;8004:10;7972:43;;;;:31;;;:43;;;;;;:48;7964:78;;;;;-1:-1:-1;;;7964:78:7;;;;;;;;;;;;-1:-1:-1;;;7964:78:7;;;;;;;;;;;;;;;8053:18;8074:29;8092:10;8074:17;:29::i;:::-;8175:14;;;;8053:50;;-1:-1:-1;8175:30:7;;8053:50;8175:30;:18;:30;:::i;:::-;8122:16;;;;:6;:16;;;;;;;;:41;;;:31;;:41;;;;;:50;;;:83;;;;8283:10;8215:79;;;:67;;;;:79;;;;;;:92;;;8331:56;;;;;;;8154:8;;8129;;8331:56;;;;;;;;;7569:825;;;;;;:::o;3136:155:14:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:14;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:215;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:14:o;533:18344:7:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;533:18344:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;533:18344:7;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;533:18344:7;;;-1:-1:-1;533:18344:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;533:18344:7;-1:-1:-1;;;;;533:18344:7;;;;;;;;;;;-1:-1:-1;533:18344:7;;;;;;;-1:-1:-1;533:18344:7;;;-1:-1:-1;533:18344:7;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;533:18344:7;;;;;;", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"../utils/Governed.sol\";\n\n\n/**\n * @dev Interface of the ERC20 standard + mint & burn\n */\ninterface _IERC20 is IERC20 {\n\n /**\n * @dev Mint Function\n */\n function mint(address account, uint256 amount) external;\n\n /**\n * @dev Burn Function\n */\n function burn(address account, uint256 amount) external;\n\n}\n\n\n/**\n * @title Development Network Contract Autonomous Use\n */\ncontract Network is Pausable, Governed{\n using SafeMath for uint256;\n\n _IERC20 public settlerToken;\n _IERC20 public transactionToken;\n\n uint256 constant private year = 365 days;\n uint256 public incrementIssueID = 1;\n uint256 public closedIdsCount = 0;\n uint256 public totalStaked = 0;\n uint256 public mergeCreatorFeeShare = 1; // (%) - Share to go to the merge proposal creator\n uint256 public percentageNeededForApprove = 10; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public percentageNeededForDispute = 3; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public timeOpenForIssueApprove = 3 days;\n uint256 public percentageNeededForMerge = 20; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public votesStaked = 0;\n\n uint256 public COUNCIL_AMOUNT = 25000000; // 25M\n\n mapping(uint256 => Issue) public issues; /* Distribution object */\n mapping(address => uint256[]) public myIssues; /* Address Based Subcription */\n\n mapping(address => Voter) public voters; \n address[] public votersArray; \n\n\n struct MergeProposal {\n uint256 _id;\n mapping(address => uint256) votesForMergeByAddress; // Address -> Votes for that merge\n mapping(address => uint256) disputesForMergeByAddress; // Address -> Votes for that merge\n uint256 votes; // Amount of votes set\n uint256 disputes; // Amount of votes set\n address[] prAddresses;\n uint256[] prAmounts;\n address proposalAddress;\n }\n\n struct Issue {\n uint256 _id;\n string cid;\n uint256 creationDate;\n uint256 tokensStaked;\n address issueGenerator;\n mapping(address => uint256) votesForApproveByAddress;\n uint256 votesForApprove;\n mapping(uint256 => MergeProposal) mergeProposals; // Id -> Merge Proposal\n uint256 mergeIDIncrement;\n bool finalized;\n bool canceled;\n }\n\n struct Voter {\n uint256 votesDelegatedByOthers;\n mapping(address => uint256) votesDelegated;\n address[] delegatedVotesAddresses;\n uint256 tokensLocked;\n }\n\n event OpenIssue(uint256 indexed id, address indexed opener, uint256 indexed amount);\n event ApproveIssue(uint256 indexed id, uint256 indexed votes, address indexed approver);\n event MergeProposalCreated(uint256 indexed id, uint256 indexed mergeID, address indexed creator);\n event DisputeMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed disputer);\n event ApproveMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed approver);\n event CloseIssue(uint256 indexed id, uint256 indexed mergeID, address[] indexed addresses);\n\n constructor(address _settlerToken, address _transactionToken, address _governor) public { \n settlerToken = _IERC20(_settlerToken);\n transactionToken = _IERC20(_transactionToken);\n _governor = _governor;\n }\n\n function lock(uint256 _tokenAmount) public {\n require(_tokenAmount > 0, \"Token Amount has to be higher than 0\");\n require(settlerToken.transferFrom(msg.sender, address(this), _tokenAmount), \"Needs Allowance\");\n\n if(voters[msg.sender].tokensLocked != 0){\n // Exists\n voters[msg.sender].votesDelegated[msg.sender] = voters[msg.sender].votesDelegated[msg.sender].add(_tokenAmount);\n voters[msg.sender].tokensLocked = voters[msg.sender].tokensLocked.add(_tokenAmount);\n }else{\n // Does not exist\n Voter storage voter = voters[msg.sender];\n voter.tokensLocked = _tokenAmount;\n voter.delegatedVotesAddresses = [msg.sender];\n voter.votesDelegated[msg.sender] = _tokenAmount;\n votersArray.push(msg.sender);\n }\n }\n\n function unlock(uint256 _tokenAmount, address _from) public {\n Voter storage voter = voters[msg.sender];\n require(voter.tokensLocked >= _tokenAmount, \"Has to have tokens to unlock\");\n require(voter.votesDelegated[_from] >= _tokenAmount, \"From has to have tokens to unlock\");\n\n voters[msg.sender].tokensLocked = voter.tokensLocked.sub(_tokenAmount);\n voters[msg.sender].votesDelegated[_from] = voter.votesDelegated[_from].sub(_tokenAmount);\n if(msg.sender != _from){\n voters[_from].votesDelegatedByOthers = voters[_from].votesDelegatedByOthers.sub(_tokenAmount);\n }\n\n require(settlerToken.transfer(msg.sender, _tokenAmount), \"Transfer didnt work\");\n votesStaked.sub(_tokenAmount);\n }\n\n function delegateOracles(uint256 _tokenAmount, address _delegatedTo) internal {\n Voter storage voter = voters[msg.sender];\n\n require(_delegatedTo != address(0), \"Cannot transfer to the zero address\");\n require(_delegatedTo != msg.sender, \"Cannot transfer to itself\");\n\n require(voter.tokensLocked >= _tokenAmount, \"Has to have tokens to unlock\");\n require(voter.votesDelegated[msg.sender] >= _tokenAmount, \"From has to have tokens to unlock\");\n\n voters[msg.sender].votesDelegated[msg.sender] = voter.votesDelegated[msg.sender].sub(_tokenAmount);\n voters[msg.sender].votesDelegated[_delegatedTo] = voter.votesDelegated[_delegatedTo].add(_tokenAmount);\n\n require(voters[_delegatedTo].tokensLocked != uint256(0), \"Delegated to has to have voted already\");\n voters[_delegatedTo].votesDelegatedByOthers = voters[_delegatedTo].votesDelegatedByOthers.add(_tokenAmount);\n }\n\n function approveIssue(uint256 _issueID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n require(issue._id != 0, \"Issue does not exist\");\n require(isIssueApprovable(_issueID));\n require(issues[_issueID].votesForApproveByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n issues[_issueID].votesForApprove = issues[_issueID].votesForApprove.add(votesToAdd);\n issues[_issueID].votesForApproveByAddress[msg.sender] = votesToAdd;\n\n emit ApproveIssue(_issueID, votesToAdd, msg.sender);\n }\n\n function approveMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.votesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].votes = merge.votes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].votesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit ApproveMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function disputeMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.disputesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].disputes = merge.disputes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].disputesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit DisputeMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function isIssueApprovable(uint256 _issueID) public returns (bool){\n // Only if in the open window\n return (issues[_issueID].creationDate.add(timeOpenForIssueApprove) < block.timestamp);\n }\n\n function isIssueApproved(uint256 _issueID) public returns (bool) {\n return (issues[_issueID].votesForApprove >= votesStaked.mul(percentageNeededForApprove).div(100));\n }\n\n function isMergeDisputed(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].disputes >= votesStaked.mul(percentageNeededForDispute).div(100));\n }\n\n function isMergeApproved(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].votes >= votesStaked.mul(percentageNeededForMerge).div(100));\n }\n \n function isMergeTheOneWithMoreVotes(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n uint256 thisMergeVotes = issues[_issueID].mergeProposals[_mergeID].votes;\n for(uint8 i = 0; i < issues[_issueID].mergeIDIncrement; i++){\n if(issues[_issueID].mergeProposals[i].votes > thisMergeVotes){\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev open an Issue with transaction Tokens owned\n * 1st step\n */\n function openIssue(string memory _cid, uint256 _tokenAmount) public whenNotPaused {\n // Open Issue\n Issue memory issue;\n issue._id = incrementIssueID;\n issue.cid = _cid;\n issue.tokensStaked = _tokenAmount;\n issue.issueGenerator = msg.sender;\n issue.creationDate = block.timestamp;\n issue.finalized = false;\n issues[incrementIssueID] = issue;\n myIssues[msg.sender].push(incrementIssueID);\n // Transfer Transaction Token\n require(transactionToken.transferFrom(msg.sender, address(this), _tokenAmount), \"Needs Allowance\");\n totalStaked = totalStaked.add(_tokenAmount);\n incrementIssueID = incrementIssueID + 1;\n emit OpenIssue(incrementIssueID, msg.sender, _tokenAmount);\n }\n\n function redeemIssue(uint256 _issueId) public whenNotPaused {\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue has to not be approved\");\n require(!isIssueApprovable(_issueId), \"Time for approving has to be already passed\");\n issues[_issueId].finalized = true;\n issues[_issueId].canceled = true;\n require(transactionToken.transfer(msg.sender, issues[_issueId].tokensStaked), \"Transfer not sucessful\");\n }\n\n /**\n * @dev update an Issue with transaction tokens owned\n * 2nd step (optional)\n */\n function updateIssue(uint256 _issueId, uint256 _newTokenAmount) public whenNotPaused {\n require(issues[_issueId].tokensStaked != 0, \"Issue has to exist\");\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue is already Approved\");\n\n uint256 previousAmount = issues[_issueId].tokensStaked;\n // Update Issue\n issues[_issueId].tokensStaked = _newTokenAmount;\n // Lock Transaction Tokens\n if(_newTokenAmount > previousAmount){\n require(transactionToken.transferFrom(msg.sender, address(this), _newTokenAmount.sub(previousAmount)), \"Needs Allowance\");\n totalStaked = totalStaked.add(_newTokenAmount.sub(previousAmount));\n }else{\n require(transactionToken.transfer(msg.sender, previousAmount.sub(_newTokenAmount)), \"Transfer not sucessful\");\n totalStaked = totalStaked.sub(previousAmount.sub(_newTokenAmount));\n }\n }\n\n /**\n * @dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _prAddresses PR Address\n * @param _prAmounts PR Amounts\n */\n function proposeIssueMerge(uint256 _issueID, address[] memory _prAddresses, uint256[] memory _prAmounts) public whenNotPaused {\n \n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(_prAmounts.length == _prAddresses.length, \"Amounts has to equal addresses length\");\n require(transactionToken.balanceOf(msg.sender) > COUNCIL_AMOUNT*10**18, \"To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)\");\n\n MergeProposal memory mergeProposal;\n mergeProposal._id = issue.mergeIDIncrement;\n mergeProposal.prAmounts = _prAmounts;\n mergeProposal.prAddresses = _prAddresses;\n mergeProposal.proposalAddress = msg.sender;\n\n uint256 total = ((issues[_issueID].tokensStaked * (mergeCreatorFeeShare)) / 100); // Fee + Merge Creator Fee + 0\n\n for(uint i = 0; i < _prAddresses.length; i++){\n total = total.add((_prAmounts[i] * (100-mergeCreatorFeeShare)) / 100);\n }\n\n require(total == issues[_issueID].tokensStaked, \"Totals dont match\");\n\n issues[_issueID].mergeProposals[issue.mergeIDIncrement] = mergeProposal;\n issues[_issueID].mergeIDIncrement = issues[_issueID].mergeIDIncrement + 1;\n emit MergeProposalCreated(_issueID, mergeProposal._id, msg.sender);\n }\n\n\n\n /**\n * @dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _mergeID merge id \n */\n function closeIssue(uint256 _issueID, uint256 _mergeID) public whenNotPaused {\n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(isMergeApproved(_issueID, _mergeID), \"Issue has to have passed voting\");\n require(!isMergeDisputed(_issueID, _mergeID), \"Merge has been disputed\");\n require(isMergeTheOneWithMoreVotes(_issueID, _mergeID), \"There is a merge proposal with more votes\");\n\n // Closes the issue\n issues[_issueID].finalized = true;\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeID];\n\n // Merge Creator Transfer\n require(transactionToken.transfer(merge.proposalAddress, (issues[_issueID].tokensStaked * mergeCreatorFeeShare) / 100), \"Has to transfer\");\n \n // Generate Transaction Tokens\n for(uint i = 0; i < merge.prAddresses.length; i++){\n myIssues[merge.prAddresses[i]].push(_issueID);\n require(transactionToken.transfer(merge.prAddresses[i], (merge.prAmounts[i] * (100-mergeCreatorFeeShare)) / 100), \"Has to transfer\");\n }\n\n closedIdsCount = closedIdsCount.add(1);\n totalStaked = totalStaked.sub(issue.tokensStaked);\n emit CloseIssue(_issueID, _mergeID, merge.prAddresses);\n }\n\n function getIssuesByAddress(address _address) public returns (uint256[] memory){\n return myIssues[_address];\n }\n\n function getVotesByAddress(address _address) public returns (uint256){\n Voter storage voter = voters[_address];\n return voter.votesDelegatedByOthers.add(voter.votesDelegated[_address]);\n }\n \n function getIssueById(uint256 _issueID) public returns (uint256, string memory, uint256, uint256, address, uint256, uint256, bool, bool){\n Issue memory issue = issues[_issueID];\n return (issue._id, issue.cid, issue.tokensStaked, issue.creationDate, issue.issueGenerator, issue.votesForApprove, issue.mergeIDIncrement, issue.finalized, issue.canceled);\n }\n\n function getMergeById(uint256 _issueID, uint256 _mergeId) public returns (uint256, uint256, uint256, address[] memory, uint256[] memory, address){\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeId];\n return (merge._id, merge.votes, merge.disputes, merge.prAddresses, merge.prAmounts, merge.proposalAddress);\n }\n\n /**\n * @dev Change Transaction Token Address (Upgrade)\n */\n function changeTransactionToken(address _newToken) public onlyGovernor {\n transactionToken = _IERC20(_newToken);\n }\n\n /**\n * @dev Change Merge Creator FeeShare\n */\n function changeMergeCreatorFeeShare(uint256 _mergeCreatorFeeShare) public onlyGovernor {\n require(_mergeCreatorFeeShare < 20, \"Merge Share can´t be higher than 20\");\n mergeCreatorFeeShare = _mergeCreatorFeeShare;\n }\n\n /**\n * @dev changePercentageNeededForApprove\n */\n function changePercentageNeededForApprove(uint256 _percentageNeededForApprove) public onlyGovernor {\n require(_percentageNeededForApprove < 80, \"Approve % Needed can´t be higher than 80\");\n percentageNeededForApprove = _percentageNeededForApprove;\n }\n\n /**\n * @dev changePercentageNeededForDispute\n */\n function changePercentageNeededForDispute(uint256 _percentageNeededForDispute) public onlyGovernor {\n require(_percentageNeededForDispute < 15, \"Dispute % Needed can´t be higher than 15\");\n percentageNeededForDispute = _percentageNeededForDispute;\n }\n\n /**\n * @dev changePercentageNeededForMerge\n */\n function changePercentageNeededForMerge(uint256 _percentageNeededForMerge) public onlyGovernor {\n require(_percentageNeededForMerge < 80, \"Approve for Merge % Needed can´t be higher than 80\");\n percentageNeededForMerge = _percentageNeededForMerge;\n }\n\n /**\n * @dev changeTimeOpenForIssueApprove\n */\n function changeTimeOpenForIssueApprove(uint256 _timeOpenForIssueApprove) public onlyGovernor {\n require(_timeOpenForIssueApprove < 20 days, \"Time open for issue has to be higher than lower than 20 days\");\n require(_timeOpenForIssueApprove >= 1 minutes, \"Time open for issue has to be higher than 1 minutes\");\n timeOpenForIssueApprove = _timeOpenForIssueApprove;\n }\n\n /**\n * @dev changeTimeOpenForIssueApprove\n */\n function changeCOUNCIL_AMOUNT(uint256 _COUNCIL_AMOUNT) public onlyGovernor {\n require(_COUNCIL_AMOUNT > 100000*10**18, \"Council Amount has to higher than 100k\");\n require(_COUNCIL_AMOUNT < 100000000*10**18, \"Council Amount has to lower than 50M\");\n COUNCIL_AMOUNT = _COUNCIL_AMOUNT;\n }\n\n \n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "Network": [ - 3885 - ], - "_IERC20": [ - 2046 - ] - }, - "id": 3886, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2026, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:7" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2027, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 6525, - "src": "26:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 2028, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 9081, - "src": "82:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol", - "file": "../utils/Governed.sol", - "id": 2029, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 4773, - "src": "135:31:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2030, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6593, - "src": "252:6:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6593", - "typeString": "contract IERC20" - } - }, - "id": 2031, - "nodeType": "InheritanceSpecifier", - "src": "252:6:7" - } - ], - "contractDependencies": [ - 6593 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 2046, - "linearizedBaseContracts": [ - 2046, - 6593 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 2038, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2033, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2038, - "src": "321:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2035, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2038, - "src": "338:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "338:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:33:7" - }, - "returnParameters": { - "id": 2037, - "nodeType": "ParameterList", - "parameters": [], - "src": "362:0:7" - }, - "scope": 2046, - "src": "307:56:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 2045, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2040, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2045, - "src": "423:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2039, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "423:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2042, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2045, - "src": "440:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "422:33:7" - }, - "returnParameters": { - "id": 2044, - "nodeType": "ParameterList", - "parameters": [], - "src": "464:0:7" - }, - "scope": 2046, - "src": "409:56:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3886, - "src": "231:237:7" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2047, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9080, - "src": "553:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$9080", - "typeString": "contract Pausable" - } - }, - "id": 2048, - "nodeType": "InheritanceSpecifier", - "src": "553:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2049, - "name": "Governed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4772, - "src": "563:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governed_$4772", - "typeString": "contract Governed" - } - }, - "id": 2050, - "nodeType": "InheritanceSpecifier", - "src": "563:8:7" - } - ], - "contractDependencies": [ - 4772, - 7983, - 9080 - ], - "contractKind": "contract", - "documentation": "@title Development Network Contract Autonomous Use", - "fullyImplemented": true, - "id": 3885, - "linearizedBaseContracts": [ - 3885, - 4772, - 9080, - 7983 - ], - "name": "Network", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2053, - "libraryName": { - "contractScope": null, - "id": 2051, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6040, - "src": "583:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6040", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "577:27:7", - "typeName": { - "id": 2052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "504dec05", - "id": 2055, - "name": "settlerToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "610:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 2054, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2046, - "src": "610:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a745314f", - "id": 2057, - "name": "transactionToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "643:31:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 2056, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2046, - "src": "643:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 2060, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "681:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "713:8:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 2063, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "727:35:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 2062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 2066, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "768:33:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "800:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 2069, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "807:30:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "836:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 2072, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "843:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 2075, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "939:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "983:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 2078, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1057:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1057:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 2077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1101:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2307debc", - "id": 2081, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1174:47:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1215:6:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 2084, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1227:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1227:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1269:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4820c463", - "id": 2087, - "name": "votesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1343:30:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "02ef0db1", - "id": 2090, - "name": "COUNCIL_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1380:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3235303030303030", - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1412:8:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_25000000_by_1", - "typeString": "int_const 25000000" - }, - "value": "25000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 2094, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1434:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue)" - }, - "typeName": { - "id": 2093, - "keyType": { - "id": 2091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1442:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1434:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 2092, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "1453:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 2099, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1505:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 2098, - "keyType": { - "id": 2095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1513:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1505:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1524:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1524:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 2103, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1589:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter)" - }, - "typeName": { - "id": 2102, - "keyType": { - "id": 2100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1597:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1589:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 2101, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "1608:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 2106, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1635:28:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1635:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1635:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Network.MergeProposal", - "id": 2129, - "members": [ - { - "constant": false, - "id": 2108, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1703:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1703:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2112, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1724:50:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2111, - "keyType": { - "id": 2109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1724:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2110, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1743:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2116, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1819:53:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2115, - "keyType": { - "id": 2113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1819:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1838:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1917:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1917:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2120, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1963:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1963:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2123, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2012:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2121, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2012:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2122, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2012:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2126, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2043:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2043:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2043:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2128, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2072:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2072:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "1672:430:7", - "visibility": "public" - }, - { - "canonicalName": "Network.Issue", - "id": 2156, - "members": [ - { - "constant": false, - "id": 2131, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2131:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2131:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2133, - "name": "cid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2152:10:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2132, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2152:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2135, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2172:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2172:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2137, - "name": "tokensStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2202:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2202:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2139, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2232:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2232:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2143, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2264:52:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2142, - "keyType": { - "id": 2140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2272:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2264:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2283:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2145, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2326:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2149, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2359:48:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal)" - }, - "typeName": { - "id": 2148, - "keyType": { - "id": 2146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2367:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2359:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 2147, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "2378:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2151, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2441:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2441:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2153, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2475:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2152, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2475:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2155, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2499:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2154, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2499:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "2108:411:7", - "visibility": "public" - }, - { - "canonicalName": "Network.Voter", - "id": 2168, - "members": [ - { - "constant": false, - "id": 2158, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2548:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2548:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2162, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2588:42:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2161, - "keyType": { - "id": 2159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2596:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2588:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2165, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2640:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2640:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2164, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2640:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2167, - "name": "tokensLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2683:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2683:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "2525:185:7", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2176, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2170, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2732:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2169, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2732:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2172, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2752:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2752:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2174, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2776:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2776:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2731:68:7" - }, - "src": "2716:84:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2184, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2824:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2824:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2180, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2844:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2844:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2182, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2867:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2867:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2823:69:7" - }, - "src": "2805:88:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2192, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2186, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2925:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2925:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2188, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2945:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2945:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2190, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2970:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2970:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2924:70:7" - }, - "src": "2898:97:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2202, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 2201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2194, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3019:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2196, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3039:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3039:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2198, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3064:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3064:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2200, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3079:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3079:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3018:86:7" - }, - "src": "3000:105:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2212, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 2211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2204, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3129:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3129:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2206, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3149:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2208, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3174:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3189:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3189:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:86:7" - }, - "src": "3110:105:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2221, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2214, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3237:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2216, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3257:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3257:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2219, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3282:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3282:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2218, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3282:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3236:74:7" - }, - "src": "3220:91:7" - }, - { - "body": { - "id": 2246, - "nodeType": "Block", - "src": "3405:141:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2230, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "3416:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2232, - "name": "_settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2223, - "src": "3439:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2231, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "3431:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:22:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "3416:37:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2235, - "nodeType": "ExpressionStatement", - "src": "3416:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2236, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "3463:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2238, - "name": "_transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "3490:17:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2237, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "3482:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 2239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3482:26:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "3463:45:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2241, - "nodeType": "ExpressionStatement", - "src": "3463:45:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2242, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "3518:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2243, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "3530:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3518:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2245, - "nodeType": "ExpressionStatement", - "src": "3518:21:7" - } - ] - }, - "documentation": null, - "id": 2247, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2223, - "name": "_settlerToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3329:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3329:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2225, - "name": "_transactionToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3352:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3352:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2227, - "name": "_governor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3379:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2226, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3379:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3328:69:7" - }, - "returnParameters": { - "id": 2229, - "nodeType": "ParameterList", - "parameters": [], - "src": "3405:0:7" - }, - "scope": 3885, - "src": "3317:229:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "3595:798:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2253, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3613:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3628:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3613:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20416d6f756e742068617320746f20626520686967686572207468616e2030", - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3631:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_38bd064d9df2fde95be1990d1e199e579e5b1897442572deb916f05d13435e66", - "typeString": "literal_string \"Token Amount has to be higher than 0\"" - }, - "value": "Token Amount has to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_38bd064d9df2fde95be1990d1e199e579e5b1897442572deb916f05d13435e66", - "typeString": "literal_string \"Token Amount has to be higher than 0\"" - } - ], - "id": 2252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3605:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3605:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2258, - "nodeType": "ExpressionStatement", - "src": "3605:65:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3714:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3714:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2266, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3734:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3726:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3726:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3726:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2268, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3741:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2260, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "3688:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "3688:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3688:66:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3756:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 2259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3680:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3680:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2272, - "nodeType": "ExpressionStatement", - "src": "3680:94:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2273, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3788:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2276, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2274, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3795:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3795:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3788:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "3788:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3823:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3788:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2354, - "nodeType": "Block", - "src": "4084:303:7", - "statements": [ - { - "assignments": [ - 2318 - ], - "declarations": [ - { - "constant": false, - "id": 2318, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2354, - "src": "4128:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2317, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "4128:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2323, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2319, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4150:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4157:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4157:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4150:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4128:40:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2324, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4182:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4182:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2327, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4203:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4182:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2329, - "nodeType": "ExpressionStatement", - "src": "4182:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2330, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4229:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "4229:29:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2333, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4262:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2335, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4261:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4229:44:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2337, - "nodeType": "ExpressionStatement", - "src": "4229:44:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2338, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4287:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4287:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2343, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4308:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4308:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4287:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2344, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4322:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4287:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "nodeType": "ExpressionStatement", - "src": "4287:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4365:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4365:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 2347, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2106, - "src": "4348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4348:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4348:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2353, - "nodeType": "ExpressionStatement", - "src": "4348:28:7" - } - ] - }, - "id": 2355, - "nodeType": "IfStatement", - "src": "3785:602:7", - "trueBody": { - "id": 2316, - "nodeType": "Block", - "src": "3825:255:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3861:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2283, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2281, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3868:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3868:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3861:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2284, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "3861:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2287, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2285, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3895:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3895:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3861:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2297, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3959:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2288, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3909:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2291, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2289, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3916:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3916:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3909:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "3909:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2295, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2293, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3943:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3943:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "3909:49:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3909:63:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3861:111:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2300, - "nodeType": "ExpressionStatement", - "src": "3861:111:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2301, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3986:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2304, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "3986:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2312, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4056:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2306, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4020:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2309, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4027:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4027:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4020:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4020:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "4020:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4020:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3986:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2315, - "nodeType": "ExpressionStatement", - "src": "3986:83:7" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "dd467064", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2249, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2357, - "src": "3566:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3566:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3565:22:7" - }, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "3595:0:7" - }, - "scope": 3885, - "src": "3552:841:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2452, - "nodeType": "Block", - "src": "4459:699:7", - "statements": [ - { - "assignments": [ - 2365 - ], - "declarations": [ - { - "constant": false, - "id": 2365, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2452, - "src": "4469:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2364, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "4469:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2370, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2366, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4491:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2369, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4498:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4498:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4491:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4469:40:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2372, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4527:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4527:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2374, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4549:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4527:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4563:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - }, - "value": "Has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - } - ], - "id": 2371, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4519:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4519:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2378, - "nodeType": "ExpressionStatement", - "src": "4519:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2380, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4612:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4612:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2383, - "indexExpression": { - "argumentTypes": null, - "id": 2382, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4633:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4612:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2384, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4643:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4612:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4657:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - }, - "value": "From has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - } - ], - "id": 2379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4604:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4604:89:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2388, - "nodeType": "ExpressionStatement", - "src": "4604:89:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2389, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4704:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4711:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4711:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4704:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4704:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2397, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4761:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2394, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4738:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4738:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4738:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4738:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4704:70:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "nodeType": "ExpressionStatement", - "src": "4704:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4784:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4791:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4791:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4784:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4784:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2407, - "indexExpression": { - "argumentTypes": null, - "id": 2406, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4818:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4784:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2413, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4859:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2408, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4827:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4827:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2411, - "indexExpression": { - "argumentTypes": null, - "id": 2410, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4848:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4827:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4827:31:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4827:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4784:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2416, - "nodeType": "ExpressionStatement", - "src": "4784:88:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4885:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4885:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 2419, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4899:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4885:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2435, - "nodeType": "IfStatement", - "src": "4882:141:7", - "trueBody": { - "id": 2434, - "nodeType": "Block", - "src": "4905:118:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2421, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4919:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2423, - "indexExpression": { - "argumentTypes": null, - "id": 2422, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4926:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4919:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "4919:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2430, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4999:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2425, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4958:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2427, - "indexExpression": { - "argumentTypes": null, - "id": 2426, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4965:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4958:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "4958:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4958:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4958:54:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4919:93:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2433, - "nodeType": "ExpressionStatement", - "src": "4919:93:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2439, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5063:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5063:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2441, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "5075:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2437, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "5041:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "5041:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5041:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5090:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 2436, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5033:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5033:79:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2445, - "nodeType": "ExpressionStatement", - "src": "5033:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2449, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "5138:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2446, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "5122:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "5122:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5122:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "5122:29:7" - } - ] - }, - "documentation": null, - "functionSelector": "f1d2ec1d", - "id": 2453, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2453, - "src": "4415:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4415:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2453, - "src": "4437:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4437:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4414:37:7" - }, - "returnParameters": { - "id": 2363, - "nodeType": "ParameterList", - "parameters": [], - "src": "4459:0:7" - }, - "scope": 3885, - "src": "4399:759:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2564, - "nodeType": "Block", - "src": "5242:853:7", - "statements": [ - { - "assignments": [ - 2461 - ], - "declarations": [ - { - "constant": false, - "id": 2461, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2564, - "src": "5252:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2460, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "5252:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2466, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2462, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5274:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2463, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5281:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5281:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5274:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5252:40:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2468, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5311:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5335:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5327:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5327:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5327:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5311:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5339:37:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 2467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:74:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "ExpressionStatement", - "src": "5303:74:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2478, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5395:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2479, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5411:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5411:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5395:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 2482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5423:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 2477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5387:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5387:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2484, - "nodeType": "ExpressionStatement", - "src": "5387:64:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2486, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5470:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "5470:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2488, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5492:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5470:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5506:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - }, - "value": "Has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - } - ], - "id": 2485, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5462:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5462:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2492, - "nodeType": "ExpressionStatement", - "src": "5462:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2494, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5555:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5555:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2498, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2496, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5576:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5576:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5555:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2499, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5591:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5555:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - }, - "value": "From has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - } - ], - "id": 2493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5547:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5547:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2503, - "nodeType": "ExpressionStatement", - "src": "5547:94:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2504, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5652:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2507, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2505, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5659:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5659:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5652:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5652:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2511, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5686:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5686:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5652:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2518, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5737:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2512, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5700:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2516, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2514, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5721:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5721:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5700:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "5700:36:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5700:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5652:98:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "5652:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5760:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2525, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5767:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5767:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5760:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5760:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2528, - "indexExpression": { - "argumentTypes": null, - "id": 2527, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5794:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5760:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2534, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5849:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2529, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5810:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5810:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2532, - "indexExpression": { - "argumentTypes": null, - "id": 2531, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5831:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5810:34:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "5810:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5810:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5760:102:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2537, - "nodeType": "ExpressionStatement", - "src": "5760:102:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2539, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5881:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2541, - "indexExpression": { - "argumentTypes": null, - "id": 2540, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5888:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5881:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "5881:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5926:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5918:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5918:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5918:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5881:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5930:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 2538, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5873:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5873:98:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2550, - "nodeType": "ExpressionStatement", - "src": "5873:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2551, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5981:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2553, - "indexExpression": { - "argumentTypes": null, - "id": 2552, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5988:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5981:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "5981:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2560, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "6075:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2555, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6027:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2557, - "indexExpression": { - "argumentTypes": null, - "id": 2556, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "6034:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6027:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "6027:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "6027:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5981:107:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2563, - "nodeType": "ExpressionStatement", - "src": "5981:107:7" - } - ] - }, - "documentation": null, - "id": 2565, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2455, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2565, - "src": "5189:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5189:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2457, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2565, - "src": "5211:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5211:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5188:44:7" - }, - "returnParameters": { - "id": 2459, - "nodeType": "ParameterList", - "parameters": [], - "src": "5242:0:7" - }, - "scope": 3885, - "src": "5164:931:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2647, - "nodeType": "Block", - "src": "6148:596:7", - "statements": [ - { - "assignments": [ - 2571 - ], - "declarations": [ - { - "constant": false, - "id": 2571, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6158:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2570, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "6158:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2576, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2572, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6179:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2575, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6186:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6186:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6179:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6158:39:7" - }, - { - "assignments": [ - 2578 - ], - "declarations": [ - { - "constant": false, - "id": 2578, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6207:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2577, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "6207:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2582, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2579, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6228:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2581, - "indexExpression": { - "argumentTypes": null, - "id": 2580, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6235:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6228:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6207:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2584, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2578, - "src": "6262:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "6262:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6275:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6262:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6278:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2583, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6254:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2590, - "nodeType": "ExpressionStatement", - "src": "6254:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2593, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6337:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2592, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2866, - "src": "6319:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6319:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6311:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6311:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2596, - "nodeType": "ExpressionStatement", - "src": "6311:36:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2598, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6365:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2600, - "indexExpression": { - "argumentTypes": null, - "id": 2599, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6372:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6365:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2143, - "src": "6365:41:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2604, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2602, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6407:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6407:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6365:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6422:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:58:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6425:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2597, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:88:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2609, - "nodeType": "ExpressionStatement", - "src": "6357:88:7" - }, - { - "assignments": [ - 2611 - ], - "declarations": [ - { - "constant": false, - "id": 2611, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6456:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6456:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2616, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2613, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6495:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6495:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2612, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "6477:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6477:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6456:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2617, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6516:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2619, - "indexExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6523:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6516:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "6516:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2626, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6588:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6551:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6558:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6551:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "6551:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "6551:36:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6551:48:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6516:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6516:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2630, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6609:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2632, - "indexExpression": { - "argumentTypes": null, - "id": 2631, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6616:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6609:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2633, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2143, - "src": "6609:41:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2636, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2634, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6651:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6651:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6609:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2637, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6665:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6609:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2639, - "nodeType": "ExpressionStatement", - "src": "6609:66:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2641, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6704:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6714:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6726:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2640, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2184, - "src": "6691:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2646, - "nodeType": "EmitStatement", - "src": "6686:51:7" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 2648, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2567, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2648, - "src": "6123:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6123:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6122:18:7" - }, - "returnParameters": { - "id": 2569, - "nodeType": "ParameterList", - "parameters": [], - "src": "6148:0:7" - }, - "scope": 3885, - "src": "6101:643:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2746, - "nodeType": "Block", - "src": "6815:748:7", - "statements": [ - { - "assignments": [ - 2656 - ], - "declarations": [ - { - "constant": false, - "id": 2656, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6825:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2655, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "6825:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2661, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2657, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6846:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2660, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2658, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6853:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6853:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6846:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6825:39:7" - }, - { - "assignments": [ - 2663 - ], - "declarations": [ - { - "constant": false, - "id": 2663, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6874:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2662, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "6874:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2667, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2664, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6895:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2666, - "indexExpression": { - "argumentTypes": null, - "id": 2665, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "6902:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6874:37:7" - }, - { - "assignments": [ - 2669 - ], - "declarations": [ - { - "constant": false, - "id": 2669, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6921:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 2668, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "6921:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2676, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2670, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6951:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2672, - "indexExpression": { - "argumentTypes": null, - "id": 2671, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "6958:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6951:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "6951:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2675, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6983:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6951:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6921:71:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2678, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "7010:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "7010:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7023:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7010:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7026:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2677, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7002:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2684, - "nodeType": "ExpressionStatement", - "src": "7002:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2686, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "7067:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "7067:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2688, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7093:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7067:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 2690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7103:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 2685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7059:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7059:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2692, - "nodeType": "ExpressionStatement", - "src": "7059:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "7153:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "7153:28:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2698, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7182:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7153:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7197:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7153:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7200:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7145:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7145:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2703, - "nodeType": "ExpressionStatement", - "src": "7145:75:7" - }, - { - "assignments": [ - 2705 - ], - "declarations": [ - { - "constant": false, - "id": 2705, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "7231:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7231:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2710, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2707, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7270:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7270:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2706, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "7252:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7252:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7231:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2711, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7300:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2713, - "indexExpression": { - "argumentTypes": null, - "id": 2712, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7307:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7300:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7300:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2716, - "indexExpression": { - "argumentTypes": null, - "id": 2715, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7332:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7300:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "7300:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2721, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7366:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "7350:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "7350:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "7350:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7350:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7300:77:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2724, - "nodeType": "ExpressionStatement", - "src": "7300:77:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2725, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7387:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2727, - "indexExpression": { - "argumentTypes": null, - "id": 2726, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7394:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7387:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7387:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2730, - "indexExpression": { - "argumentTypes": null, - "id": 2729, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7419:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7387:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "7387:64:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2734, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2732, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7452:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7452:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7387:76:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2735, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7466:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7387:89:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2737, - "nodeType": "ExpressionStatement", - "src": "7387:89:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2739, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7513:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2740, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7523:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2741, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7533:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2742, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7545:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7545:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2738, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "7500:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7500:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2745, - "nodeType": "EmitStatement", - "src": "7495:61:7" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 2747, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2650, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2747, - "src": "6772:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6772:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2747, - "src": "6790:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6790:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6771:36:7" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "6815:0:7" - }, - "scope": 3885, - "src": "6750:813:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2845, - "nodeType": "Block", - "src": "7634:760:7", - "statements": [ - { - "assignments": [ - 2755 - ], - "declarations": [ - { - "constant": false, - "id": 2755, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7644:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2754, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "7644:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2760, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2756, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "7665:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2759, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7672:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7672:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7665:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7644:39:7" - }, - { - "assignments": [ - 2762 - ], - "declarations": [ - { - "constant": false, - "id": 2762, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7693:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2761, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "7693:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2766, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2763, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7714:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2765, - "indexExpression": { - "argumentTypes": null, - "id": 2764, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "7721:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7714:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7693:37:7" - }, - { - "assignments": [ - 2768 - ], - "declarations": [ - { - "constant": false, - "id": 2768, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7740:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 2767, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "7740:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2775, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2769, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7770:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2771, - "indexExpression": { - "argumentTypes": null, - "id": 2770, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "7777:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7770:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7770:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2774, - "indexExpression": { - "argumentTypes": null, - "id": 2773, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "7802:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7770:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7740:71:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2762, - "src": "7829:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "7829:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7842:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7829:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7845:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2776, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7821:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7821:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2783, - "nodeType": "ExpressionStatement", - "src": "7821:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2785, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2762, - "src": "7886:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "7886:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2787, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "7912:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 2789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7922:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 2784, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7878:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7878:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2791, - "nodeType": "ExpressionStatement", - "src": "7878:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2793, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2768, - "src": "7972:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2116, - "src": "7972:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2797, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2795, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8004:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7972:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8019:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7972:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8022:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2792, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7964:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7964:78:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2802, - "nodeType": "ExpressionStatement", - "src": "7964:78:7" - }, - { - "assignments": [ - 2804 - ], - "declarations": [ - { - "constant": false, - "id": 2804, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "8053:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8053:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2809, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2806, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8092:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8092:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2805, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "8074:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8074:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8053:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8122:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2812, - "indexExpression": { - "argumentTypes": null, - "id": 2811, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8129:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8122:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8122:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2815, - "indexExpression": { - "argumentTypes": null, - "id": 2814, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8154:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8122:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8122:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2820, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8194:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2817, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2768, - "src": "8175:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8175:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "8175:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8122:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2823, - "nodeType": "ExpressionStatement", - "src": "8122:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2824, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8215:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2826, - "indexExpression": { - "argumentTypes": null, - "id": 2825, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8222:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8215:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8215:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2829, - "indexExpression": { - "argumentTypes": null, - "id": 2828, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8215:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2116, - "src": "8215:67:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2833, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2831, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8283:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8215:79:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2834, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8297:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8215:92:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2836, - "nodeType": "ExpressionStatement", - "src": "8215:92:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2838, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8344:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2839, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8354:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2840, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8364:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2841, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8376:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8376:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2837, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2202, - "src": "8331:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8331:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2844, - "nodeType": "EmitStatement", - "src": "8326:61:7" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 2846, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2749, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2846, - "src": "7591:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7591:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2751, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2846, - "src": "7609:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7609:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7590:36:7" - }, - "returnParameters": { - "id": 2753, - "nodeType": "ParameterList", - "parameters": [], - "src": "7634:0:7" - }, - "scope": 3885, - "src": "7569:825:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2865, - "nodeType": "Block", - "src": "8466:140:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2858, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "8556:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8522:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2855, - "indexExpression": { - "argumentTypes": null, - "id": 2854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2848, - "src": "8529:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8522:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "8522:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "8522:33:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8522:58:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2860, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8583:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8583:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8522:76:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2863, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8521:78:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2852, - "id": 2864, - "nodeType": "Return", - "src": "8514:85:7" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 2866, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2848, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2866, - "src": "8427:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8427:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8426:18:7" - }, - "returnParameters": { - "id": 2852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2851, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2866, - "src": "8461:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2850, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8461:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8460:6:7" - }, - "scope": 3885, - "src": "8400:206:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2887, - "nodeType": "Block", - "src": "8677:114:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2873, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8695:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2875, - "indexExpression": { - "argumentTypes": null, - "id": 2874, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2868, - "src": "8702:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8695:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "8695:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8779:3:7", - "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": 2879, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "8747:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8731:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "8731:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8731:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "8731:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8731:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8695:88:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8694:90:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2872, - "id": 2886, - "nodeType": "Return", - "src": "8687:97:7" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 2888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2868, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2888, - "src": "8637:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8636:18:7" - }, - "returnParameters": { - "id": 2872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2871, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2888, - "src": "8671:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2870, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8671:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8670:6:7" - }, - "scope": 3885, - "src": "8612:179:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2914, - "nodeType": "Block", - "src": "8880:132:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8898:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2899, - "indexExpression": { - "argumentTypes": null, - "id": 2898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2890, - "src": "8905:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8898:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8898:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2902, - "indexExpression": { - "argumentTypes": null, - "id": 2901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2892, - "src": "8930:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8898:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8898:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9000:3:7", - "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": 2906, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "8968:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2904, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8952:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "8952:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8952:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "8952:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8952:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8898:106:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2912, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8897:108:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2896, - "id": 2913, - "nodeType": "Return", - "src": "8890:115:7" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 2915, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2890, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8822:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2889, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2892, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8840:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:36:7" - }, - "returnParameters": { - "id": 2896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2895, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8874:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2894, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8874:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8873:6:7" - }, - "scope": 3885, - "src": "8797:215:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2941, - "nodeType": "Block", - "src": "9101:127:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2924, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9119:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2926, - "indexExpression": { - "argumentTypes": null, - "id": 2925, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2917, - "src": "9126:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9119:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9119:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2929, - "indexExpression": { - "argumentTypes": null, - "id": 2928, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "9151:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9119:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9119:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9216:3:7", - "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": 2933, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2084, - "src": "9186:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2931, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "9170:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "9170:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9170:41:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "9170:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9170:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9119:101:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2939, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9118:103:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2923, - "id": 2940, - "nodeType": "Return", - "src": "9111:110:7" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 2942, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2917, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9043:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9043:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2919, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9061:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9061:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9042:36:7" - }, - "returnParameters": { - "id": 2923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2922, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9095:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2921, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9095:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9094:6:7" - }, - "scope": 3885, - "src": "9018:210:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2991, - "nodeType": "Block", - "src": "9332:309:7", - "statements": [ - { - "assignments": [ - 2952 - ], - "declarations": [ - { - "constant": false, - "id": 2952, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2991, - "src": "9342:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9342:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2960, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2953, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9367:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2955, - "indexExpression": { - "argumentTypes": null, - "id": 2954, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9374:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9367:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9367:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2958, - "indexExpression": { - "argumentTypes": null, - "id": 2957, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "9399:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9367:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9367:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9342:72:7" - }, - { - "body": { - "id": 2987, - "nodeType": "Block", - "src": "9484:130:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2974, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9501:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2976, - "indexExpression": { - "argumentTypes": null, - "id": 2975, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9508:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9501:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9501:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2979, - "indexExpression": { - "argumentTypes": null, - "id": 2978, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9533:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9501:34:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9501:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2981, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2952, - "src": "9544:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9501:57:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2986, - "nodeType": "IfStatement", - "src": "9498:106:7", - "trueBody": { - "id": 2985, - "nodeType": "Block", - "src": "9559:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9584:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2950, - "id": 2984, - "nodeType": "Return", - "src": "9577:12:7" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2965, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9441:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9445:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2968, - "indexExpression": { - "argumentTypes": null, - "id": 2967, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9452:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9445:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "9445:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9441:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2988, - "initializationExpression": { - "assignments": [ - 2962 - ], - "declarations": [ - { - "constant": false, - "id": 2962, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2988, - "src": "9428:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2961, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9428:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2964, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9438:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9428:11:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9480:3:7", - "subExpression": { - "argumentTypes": null, - "id": 2971, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9480:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 2973, - "nodeType": "ExpressionStatement", - "src": "9480:3:7" - }, - "nodeType": "ForStatement", - "src": "9424:190:7" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9630:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2950, - "id": 2990, - "nodeType": "Return", - "src": "9623:11:7" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 2992, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2944, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9274:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9274:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2946, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9292:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9273:36:7" - }, - "returnParameters": { - "id": 2950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2949, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9326:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2948, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9326:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9325:6:7" - }, - "scope": 3885, - "src": "9238:403:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3090, - "nodeType": "Block", - "src": "9817:697:7", - "statements": [ - { - "assignments": [ - 3002 - ], - "declarations": [ - { - "constant": false, - "id": 3002, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3090, - "src": "9849:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3001, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "9849:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3003, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9849:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3004, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9877:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "9877:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3007, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "9889:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9877:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3009, - "nodeType": "ExpressionStatement", - "src": "9877:28:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3010, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9915:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2133, - "src": "9915:9:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3013, - "name": "_cid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2994, - "src": "9927:4:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "9915:16:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 3015, - "nodeType": "ExpressionStatement", - "src": "9915:16:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9941:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "9941:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3019, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "9962:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9941:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3021, - "nodeType": "ExpressionStatement", - "src": "9941:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3022, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9984:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "9984:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3025, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10007:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10007:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9984:33:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "9984:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10027:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "10027:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3032, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10048:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10048:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10027:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3035, - "nodeType": "ExpressionStatement", - "src": "10027:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3036, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10073:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "10073:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10091:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10073:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3041, - "nodeType": "ExpressionStatement", - "src": "10073:23:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3042, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10106:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3044, - "indexExpression": { - "argumentTypes": null, - "id": 3043, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10113:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10106:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10133:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "src": "10106:32:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "10106:32:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3053, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10174:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3048, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "10148:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3051, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10157:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10157:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10148:20:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10148:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10148:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3055, - "nodeType": "ExpressionStatement", - "src": "10148:43:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3059, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10277:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10277:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3063, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10297:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10289:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10289:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10289:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3065, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10304:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3057, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "10247:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "10247:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10247:70:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 3056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10239:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10239:98:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3069, - "nodeType": "ExpressionStatement", - "src": "10239:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3070, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "10347:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3073, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10377:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3071, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "10361:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "10361:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10361:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10347:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3076, - "nodeType": "ExpressionStatement", - "src": "10347:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3077, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10400:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3078, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10419:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10438:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10419:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10400:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3082, - "nodeType": "ExpressionStatement", - "src": "10400:39:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3084, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10464:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3085, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10482:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3087, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3083, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "10454:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10454:53:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3089, - "nodeType": "EmitStatement", - "src": "10449:58:7" - } - ] - }, - "documentation": "@dev open an Issue with transaction Tokens owned\n1st step", - "functionSelector": "948545c3", - "id": 3091, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2999, - "modifierName": { - "argumentTypes": null, - "id": 2998, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "9803:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9803:13:7" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2994, - "name": "_cid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3091, - "src": "9754:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2993, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9754:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2996, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3091, - "src": "9774:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9774:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9753:42:7" - }, - "returnParameters": { - "id": 3000, - "nodeType": "ParameterList", - "parameters": [], - "src": "9817:0:7" - }, - "scope": 3885, - "src": "9735:779:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3152, - "nodeType": "Block", - "src": "10580:471:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3099, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10598:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3101, - "indexExpression": { - "argumentTypes": null, - "id": 3100, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10605:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10598:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "10598:31:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3103, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10633:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10633:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10598:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10645:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 3098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10590:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10590:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "10590:85:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10693:26:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3111, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10710:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3110, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2888, - "src": "10694:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10694:25:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10721:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 3109, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10685:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10685:67:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3116, - "nodeType": "ExpressionStatement", - "src": "10685:67:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10770:28:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3119, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10789:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3118, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2866, - "src": "10771:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10771:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10800:45:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 3117, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10762:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10762:84:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3124, - "nodeType": "ExpressionStatement", - "src": "10762:84:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3125, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10856:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3127, - "indexExpression": { - "argumentTypes": null, - "id": 3126, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10863:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10856:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "10856:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10885:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10856:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3131, - "nodeType": "ExpressionStatement", - "src": "10856:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3132, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10899:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3134, - "indexExpression": { - "argumentTypes": null, - "id": 3133, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10906:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10899:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 2155, - "src": "10899:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10927:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10899:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3138, - "nodeType": "ExpressionStatement", - "src": "10899:32:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3142, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10975:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10975:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3144, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10987:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3146, - "indexExpression": { - "argumentTypes": null, - "id": 3145, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10994:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10987:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "10987:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3140, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "10949:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "10949:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10949:68:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 3139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10941:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10941:103:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3151, - "nodeType": "ExpressionStatement", - "src": "10941:103:7" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 3153, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3096, - "modifierName": { - "argumentTypes": null, - "id": 3095, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "10566:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10566:13:7" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3093, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3153, - "src": "10541:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10540:18:7" - }, - "returnParameters": { - "id": 3097, - "nodeType": "ParameterList", - "parameters": [], - "src": "10580:0:7" - }, - "scope": 3885, - "src": "10520:531:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3261, - "nodeType": "Block", - "src": "11244:921:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3163, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11262:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3165, - "indexExpression": { - "argumentTypes": null, - "id": 3164, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11269:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11262:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11262:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11295:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11262:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11298:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11254:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "ExpressionStatement", - "src": "11254:65:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11337:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3175, - "indexExpression": { - "argumentTypes": null, - "id": 3174, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11344:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11337:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "11337:31:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3177, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11372:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11372:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11337:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 3180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11384:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 3172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11329:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3182, - "nodeType": "ExpressionStatement", - "src": "11329:85:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11432:26:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3185, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11449:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3184, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2888, - "src": "11433:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11433:25:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 3188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11460:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 3183, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11424:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11424:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3190, - "nodeType": "ExpressionStatement", - "src": "11424:64:7" - }, - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3261, - "src": "11499:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11499:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3197, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3193, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11524:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3195, - "indexExpression": { - "argumentTypes": null, - "id": 3194, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11531:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11524:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11524:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11499:54:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3198, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11587:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3200, - "indexExpression": { - "argumentTypes": null, - "id": 3199, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11594:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11587:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11587:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3202, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11619:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11587:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "nodeType": "ExpressionStatement", - "src": "11587:47:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3205, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11682:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3206, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11700:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11682:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3259, - "nodeType": "Block", - "src": "11945:214:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3239, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11993:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11993:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3243, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "12024:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3241, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "12005:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12005:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12005:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3237, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "11967:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "11967:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:74:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12043:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 3236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11959:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11959:109:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3248, - "nodeType": "ExpressionStatement", - "src": "11959:109:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3249, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "12082:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3254, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "12131:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3252, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "12112:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12112:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3250, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "12096:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12096:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12096:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12082:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3258, - "nodeType": "ExpressionStatement", - "src": "12082:66:7" - } - ] - }, - "id": 3260, - "nodeType": "IfStatement", - "src": "11679:480:7", - "trueBody": { - "id": 3235, - "nodeType": "Block", - "src": "11715:226:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11767:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11767:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3215, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11787:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 3214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11779:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11779:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3219, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11814:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3217, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11794:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "11794:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11794:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3209, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "11737:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "11737:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 3221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11737:93:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 3222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11832:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11729:121:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3224, - "nodeType": "ExpressionStatement", - "src": "11729:121:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3225, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "11864:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3230, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11914:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3228, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11894:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "11894:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11894:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3226, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "11878:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "11878:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11878:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11864:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3234, - "nodeType": "ExpressionStatement", - "src": "11864:66:7" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with transaction tokens owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 3262, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3160, - "modifierName": { - "argumentTypes": null, - "id": 3159, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "11230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11230:13:7" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3155, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3262, - "src": "11180:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11180:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3157, - "name": "_newTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3262, - "src": "11198:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11198:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11179:43:7" - }, - "returnParameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [], - "src": "11244:0:7" - }, - "scope": 3885, - "src": "11159:1006:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3434, - "nodeType": "Block", - "src": "12535:1276:7", - "statements": [ - { - "assignments": [ - 3276 - ], - "declarations": [ - { - "constant": false, - "id": 3276, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "12554:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3275, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "12554:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3280, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3277, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "12575:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3279, - "indexExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "12582:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12575:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12554:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3282, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "12609:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "12609:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12622:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12609:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12626:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12601:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12601:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3288, - "nodeType": "ExpressionStatement", - "src": "12601:46:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3290, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "12665:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "12665:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12684:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12665:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12691:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 3289, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12657:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12657:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "12657:59:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3298, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "12734:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12734:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "12755:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12755:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12734:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12776:39:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 3297, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12726:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12726:90:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3305, - "nodeType": "ExpressionStatement", - "src": "12726:90:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3309, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12861:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12861:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "12834:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6538, - "src": "12834:26:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12834:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3312, - "name": "COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2090, - "src": "12875:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12894:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12890:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12875:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12834:62:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f414d4f554e5429", - "id": 3318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12898:69:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_491d4d5f5af8a1565cb5e4f915526755a15e22b102f3fc3240e7ec5995590799", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_491d4d5f5af8a1565cb5e4f915526755a15e22b102f3fc3240e7ec5995590799", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)\"" - } - ], - "id": 3306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12826:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12826:142:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3320, - "nodeType": "ExpressionStatement", - "src": "12826:142:7" - }, - { - "assignments": [ - 3322 - ], - "declarations": [ - { - "constant": false, - "id": 3322, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "12979:34:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3321, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "12979:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3323, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12979:34:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3324, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13023:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "13023:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "13043:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13043:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13023:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "nodeType": "ExpressionStatement", - "src": "13023:42:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3331, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13075:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "13075:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3334, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "13101:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13075:36:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 3336, - "nodeType": "ExpressionStatement", - "src": "13075:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3337, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13121:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "13121:25:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3340, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "13149:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13121:40:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3342, - "nodeType": "ExpressionStatement", - "src": "13121:40:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3343, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13171:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "13171:29:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13203:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13203:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13171:42:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3349, - "nodeType": "ExpressionStatement", - "src": "13171:42:7" - }, - { - "assignments": [ - 3351 - ], - "declarations": [ - { - "constant": false, - "id": 3351, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "13224:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13224:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3363, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3352, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13242:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3354, - "indexExpression": { - "argumentTypes": null, - "id": 3353, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13249:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13242:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3355, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "13242:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 3356, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "13275:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3357, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13274:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13242:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13241:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13300:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13241:62:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3362, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13240:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13224:80:7" - }, - { - "body": { - "id": 3392, - "nodeType": "Block", - "src": "13391:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3375, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13405:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3378, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "13424:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3380, - "indexExpression": { - "argumentTypes": null, - "id": 3379, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13435:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13424:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13441:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3382, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "13445:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13441:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3384, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13440:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13424:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3386, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13423:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13470:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13423:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3376, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13413:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "13413:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13413:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13405:69:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3391, - "nodeType": "ExpressionStatement", - "src": "13405:69:7" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3368, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13362:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3369, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "13366:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13366:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13362:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3393, - "initializationExpression": { - "assignments": [ - 3365 - ], - "declarations": [ - { - "constant": false, - "id": 3365, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3393, - "src": "13350:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3364, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13350:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3367, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13359:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13350:10:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13387:3:7", - "subExpression": { - "argumentTypes": null, - "id": 3372, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13387:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3374, - "nodeType": "ExpressionStatement", - "src": "13387:3:7" - }, - "nodeType": "ForStatement", - "src": "13346:139:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3395, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13503:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3396, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13512:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3398, - "indexExpression": { - "argumentTypes": null, - "id": 3397, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13519:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13512:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "13512:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13503:38:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13543:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 3394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13495:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13495:68:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3403, - "nodeType": "ExpressionStatement", - "src": "13495:68:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3404, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13574:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3406, - "indexExpression": { - "argumentTypes": null, - "id": 3405, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13581:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3407, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "13574:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3410, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3408, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "13606:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13606:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13574:55:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3411, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13632:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "src": "13574:71:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 3413, - "nodeType": "ExpressionStatement", - "src": "13574:71:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3414, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13655:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3416, - "indexExpression": { - "argumentTypes": null, - "id": 3415, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13662:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13655:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13655:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3418, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13691:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3420, - "indexExpression": { - "argumentTypes": null, - "id": 3419, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13698:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13691:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13691:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13727:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13691:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13655:73:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3425, - "nodeType": "ExpressionStatement", - "src": "13655:73:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3427, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3428, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13774:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "13774:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13793:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13793:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3426, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "13743:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13743:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3433, - "nodeType": "EmitStatement", - "src": "13738:66:7" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 3435, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3273, - "modifierName": { - "argumentTypes": null, - "id": 3272, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "12521:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12521:13:7" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3271, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3264, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12436:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12436:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3267, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12454:29:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12454:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3270, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12485:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12485:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12485:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12435:78:7" - }, - "returnParameters": { - "id": 3274, - "nodeType": "ParameterList", - "parameters": [], - "src": "12535:0:7" - }, - "scope": 3885, - "src": "12409:1402:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3602, - "nodeType": "Block", - "src": "14094:1376:7", - "statements": [ - { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3602, - "src": "14104:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3444, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "14104:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3449, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3446, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14125:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3448, - "indexExpression": { - "argumentTypes": null, - "id": 3447, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14132:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14125:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14104:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3451, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14159:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "14159:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14172:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14159:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14176:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3450, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14151:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3457, - "nodeType": "ExpressionStatement", - "src": "14151:46:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3459, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14215:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "14215:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14234:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14215:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14241:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 3458, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14207:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14207:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3465, - "nodeType": "ExpressionStatement", - "src": "14207:59:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3467, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14284:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "14284:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3469, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14310:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14284:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14320:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 3466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14276:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14276:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3473, - "nodeType": "ExpressionStatement", - "src": "14276:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3476, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14386:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3477, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14396:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3475, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "14370:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14370:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14407:33:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 3474, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14362:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14362:79:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3481, - "nodeType": "ExpressionStatement", - "src": "14362:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14459:36:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3484, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14476:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3485, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14486:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3483, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "14460:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14460:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 3488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14497:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 3482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14451:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14451:72:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3490, - "nodeType": "ExpressionStatement", - "src": "14451:72:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3493, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14568:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3494, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14578:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3492, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2992, - "src": "14541:26:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14541:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14589:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 3491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14533:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14533:100:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3498, - "nodeType": "ExpressionStatement", - "src": "14533:100:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3499, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14672:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3501, - "indexExpression": { - "argumentTypes": null, - "id": 3500, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14679:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14672:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "14672:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14701:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14672:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3505, - "nodeType": "ExpressionStatement", - "src": "14672:33:7" - }, - { - "assignments": [ - 3507 - ], - "declarations": [ - { - "constant": false, - "id": 3507, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3602, - "src": "14715:26:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3506, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "14715:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3514, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3508, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14744:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3510, - "indexExpression": { - "argumentTypes": null, - "id": 3509, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14744:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "14744:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3513, - "indexExpression": { - "argumentTypes": null, - "id": 3512, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14744:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14715:70:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "14864:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "14864:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3520, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14888:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3522, - "indexExpression": { - "argumentTypes": null, - "id": 3521, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14895:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14888:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14888:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3524, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "14920:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14888:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14887:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14944:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "14887:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3516, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "14838:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "14838:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14838:110:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14950:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 3515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14830:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14830:138:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3532, - "nodeType": "ExpressionStatement", - "src": "14830:138:7" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "15076:216:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3552, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "15126:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3545, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "15090:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3550, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3546, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15099:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15099:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3549, - "indexExpression": { - "argumentTypes": null, - "id": 3548, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15117:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15099:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15090:30:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15090:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15090:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3554, - "nodeType": "ExpressionStatement", - "src": "15090:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15183:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15183:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3561, - "indexExpression": { - "argumentTypes": null, - "id": 3560, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15201:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15183:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3562, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15206:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "15206:15:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 3565, - "indexExpression": { - "argumentTypes": null, - "id": 3564, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15222:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15206:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15228:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3567, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "15232:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15228:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3569, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15227:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15206:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3571, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15205:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15257:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15205:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3556, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "15157:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "15157:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:104:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 3575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15263:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 3555, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15149:132:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "ExpressionStatement", - "src": "15149:132:7" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3537, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15042:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3538, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15046:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15046:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15046:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15042:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3534 - ], - "declarations": [ - { - "constant": false, - "id": 3534, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3579, - "src": "15030:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15030:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3536, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15039:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15030:10:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15072:3:7", - "subExpression": { - "argumentTypes": null, - "id": 3542, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15072:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3544, - "nodeType": "ExpressionStatement", - "src": "15072:3:7" - }, - "nodeType": "ForStatement", - "src": "15026:266:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3580, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "15302:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15338:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 3581, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "15319:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "15319:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15319:21:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15302:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3586, - "nodeType": "ExpressionStatement", - "src": "15302:38:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "15350:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3590, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "15380:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3591, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "15380:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3588, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "15364:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "15364:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15364:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15350:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3594, - "nodeType": "ExpressionStatement", - "src": "15350:49:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3596, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "15425:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3597, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "15435:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15445:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15445:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 3595, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2221, - "src": "15414:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3601, - "nodeType": "EmitStatement", - "src": "15409:54:7" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 3603, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3442, - "modifierName": { - "argumentTypes": null, - "id": 3441, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "14080:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14080:13:7" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3437, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3603, - "src": "14037:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14037:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3439, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3603, - "src": "14055:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14055:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14036:36:7" - }, - "returnParameters": { - "id": 3443, - "nodeType": "ParameterList", - "parameters": [], - "src": "14094:0:7" - }, - "scope": 3885, - "src": "14017:1453:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3615, - "nodeType": "Block", - "src": "15555:42:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3611, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "15572:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3613, - "indexExpression": { - "argumentTypes": null, - "id": 3612, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3605, - "src": "15581:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15572:18:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3610, - "id": 3614, - "nodeType": "Return", - "src": "15565:25:7" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 3616, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3605, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3616, - "src": "15504:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15504:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15503:18:7" - }, - "returnParameters": { - "id": 3610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3609, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3616, - "src": "15538:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15538:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3608, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15538:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15537:18:7" - }, - "scope": 3885, - "src": "15476:121:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3638, - "nodeType": "Block", - "src": "15672:136:7", - "statements": [ - { - "assignments": [ - 3624 - ], - "declarations": [ - { - "constant": false, - "id": 3624, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3638, - "src": "15682:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 3623, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "15682:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3628, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3625, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "15704:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 3627, - "indexExpression": { - "argumentTypes": null, - "id": 3626, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3618, - "src": "15711:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15704:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15682:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3632, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "15770:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 3633, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "15770:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3635, - "indexExpression": { - "argumentTypes": null, - "id": 3634, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3618, - "src": "15791:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15770:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3629, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "15737:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 3630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "15737:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "15737:32:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15737:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3622, - "id": 3637, - "nodeType": "Return", - "src": "15730:71:7" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 3639, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3618, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3639, - "src": "15630:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3617, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15630:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15629:18:7" - }, - "returnParameters": { - "id": 3622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3621, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3639, - "src": "15664:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15664:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15663:9:7" - }, - "scope": 3885, - "src": "15603:205:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3688, - "nodeType": "Block", - "src": "15954:235:7", - "statements": [ - { - "assignments": [ - 3663 - ], - "declarations": [ - { - "constant": false, - "id": 3663, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3688, - "src": "15964:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3662, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "15964:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3667, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3664, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "15985:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3666, - "indexExpression": { - "argumentTypes": null, - "id": 3665, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3641, - "src": "15992:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15985:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15964:37:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3668, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16019:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "16019:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3670, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16030:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2133, - "src": "16030:9:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3672, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16041:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "16041:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3674, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16061:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "16061:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3676, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16081:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "16081:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3678, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16103:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "16103:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3680, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16126:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "16126:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3682, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "16150:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3684, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16167:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 2155, - "src": "16167:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3686, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16018:164:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,string memory,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 3661, - "id": 3687, - "nodeType": "Return", - "src": "16011:171:7" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 3689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3641, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15840:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15839:18:7" - }, - "returnParameters": { - "id": 3661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3644, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15874:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15874:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15883:13:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3645, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15883:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3648, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15898:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15898:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15907:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15916:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3651, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15916:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15925:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15925:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15934:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15934:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3658, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15943:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15943:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3660, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15949:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3659, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15949:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15873:81:7" - }, - "scope": 3885, - "src": "15818:371:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "16340:203:7", - "statements": [ - { - "assignments": [ - 3711 - ], - "declarations": [ - { - "constant": false, - "id": 3711, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3733, - "src": "16350:26:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3710, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "16350:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3718, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3712, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "16379:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3714, - "indexExpression": { - "argumentTypes": null, - "id": 3713, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3691, - "src": "16386:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16379:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "16379:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3717, - "indexExpression": { - "argumentTypes": null, - "id": 3716, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3693, - "src": "16411:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16379:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16350:70:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3719, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16438:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "16438:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3721, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16449:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "16449:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3723, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16462:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3724, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "16462:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3725, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16478:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "16478:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3727, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16497:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "16497:15:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3729, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16514:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "16514:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 3731, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16437:99:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 3709, - "id": 3732, - "nodeType": "Return", - "src": "16430:106:7" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3691, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16217:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16217:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3693, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16235:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16216:36:7" - }, - "returnParameters": { - "id": 3709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3696, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16269:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16269:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3698, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16278:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16278:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3700, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16287:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3703, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16296:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3701, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16296:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3702, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16296:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3706, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16314:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3705, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16314:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3708, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16332:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16332:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16268:72:7" - }, - "scope": 3885, - "src": "16195:348:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3747, - "nodeType": "Block", - "src": "16691:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3741, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "16701:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3743, - "name": "_newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "16728:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3742, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "16720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 3744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16720:18:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "16701:37:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3746, - "nodeType": "ExpressionStatement", - "src": "16701:37:7" - } - ] - }, - "documentation": "@dev Change Transaction Token Address (Upgrade)", - "functionSelector": "eef432a5", - "id": 3748, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3739, - "modifierName": { - "argumentTypes": null, - "id": 3738, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "16678:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16678:12:7" - } - ], - "name": "changeTransactionToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "_newToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3748, - "src": "16652:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16652:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16651:19:7" - }, - "returnParameters": { - "id": 3740, - "nodeType": "ParameterList", - "parameters": [], - "src": "16691:0:7" - }, - "scope": 3885, - "src": "16620:125:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3766, - "nodeType": "Block", - "src": "16896:146:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3756, - "name": "_mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "16914:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16938:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "16914:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652053686172652063616ec2b47420626520686967686572207468616e203230", - "id": 3759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16942:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08b12deca7cdf0d64bcdcc4b2e78afcf5cb7d418241aa72bbc2ea0a09c102b0a", - "typeString": "literal_string \"Merge Share can´t be higher than 20\"" - }, - "value": "Merge Share can´t be higher than 20" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_08b12deca7cdf0d64bcdcc4b2e78afcf5cb7d418241aa72bbc2ea0a09c102b0a", - "typeString": "literal_string \"Merge Share can´t be higher than 20\"" - } - ], - "id": 3755, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16906:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16906:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3761, - "nodeType": "ExpressionStatement", - "src": "16906:75:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3762, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "16991:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3763, - "name": "_mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "17014:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16991:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3765, - "nodeType": "ExpressionStatement", - "src": "16991:44:7" - } - ] - }, - "documentation": "@dev Change Merge Creator FeeShare", - "functionSelector": "6dc6803f", - "id": 3767, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3753, - "modifierName": { - "argumentTypes": null, - "id": 3752, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "16883:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16883:12:7" - } - ], - "name": "changeMergeCreatorFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3750, - "name": "_mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3767, - "src": "16845:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16845:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16844:31:7" - }, - "returnParameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [], - "src": "16896:0:7" - }, - "scope": 3885, - "src": "16809:233:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3785, - "nodeType": "Block", - "src": "17210:169:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3775, - "name": "_percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "17228:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17258:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "src": "17228:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "417070726f76652025204e65656465642063616ec2b47420626520686967686572207468616e203830", - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17262:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fca168b4cb27db9f45cad45ed607f6786a04d4f24e7f123c16ac8045fa83769d", - "typeString": "literal_string \"Approve % Needed can´t be higher than 80\"" - }, - "value": "Approve % Needed can´t be higher than 80" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fca168b4cb27db9f45cad45ed607f6786a04d4f24e7f123c16ac8045fa83769d", - "typeString": "literal_string \"Approve % Needed can´t be higher than 80\"" - } - ], - "id": 3774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17220:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17220:86:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3780, - "nodeType": "ExpressionStatement", - "src": "17220:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3781, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "17316:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3782, - "name": "_percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "17345:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17316:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3784, - "nodeType": "ExpressionStatement", - "src": "17316:56:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForApprove", - "functionSelector": "77f25478", - "id": 3786, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3772, - "modifierName": { - "argumentTypes": null, - "id": 3771, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17197:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17197:12:7" - } - ], - "name": "changePercentageNeededForApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3769, - "name": "_percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3786, - "src": "17153:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17153:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17152:37:7" - }, - "returnParameters": { - "id": 3773, - "nodeType": "ParameterList", - "parameters": [], - "src": "17210:0:7" - }, - "scope": 3885, - "src": "17111:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3804, - "nodeType": "Block", - "src": "17545:169:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3794, - "name": "_percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "17563:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3135", - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17593:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - }, - "src": "17563:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446973707574652025204e65656465642063616ec2b47420626520686967686572207468616e203135", - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17597:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79cd1dd2270f1e118c01da5a646c824690d8c66bebb4783cc679175b95d225eb", - "typeString": "literal_string \"Dispute % Needed can´t be higher than 15\"" - }, - "value": "Dispute % Needed can´t be higher than 15" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79cd1dd2270f1e118c01da5a646c824690d8c66bebb4783cc679175b95d225eb", - "typeString": "literal_string \"Dispute % Needed can´t be higher than 15\"" - } - ], - "id": 3793, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17555:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17555:86:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "17555:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3800, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "17651:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3801, - "name": "_percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "17680:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17651:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "17651:56:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForDispute", - "functionSelector": "9d0d6610", - "id": 3805, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3791, - "modifierName": { - "argumentTypes": null, - "id": 3790, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17532:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17532:12:7" - } - ], - "name": "changePercentageNeededForDispute", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3788, - "name": "_percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3805, - "src": "17488:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17488:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17487:37:7" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [], - "src": "17545:0:7" - }, - "scope": 3885, - "src": "17446:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3823, - "nodeType": "Block", - "src": "17874:173:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3813, - "name": "_percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "17892:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17920:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "src": "17892:30:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "417070726f766520666f72204d657267652025204e65656465642063616ec2b47420626520686967686572207468616e203830", - "id": 3816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17924:53:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5c3296f41ea9209492bc02c79738221846a732302c3e5395597325bc74f521b9", - "typeString": "literal_string \"Approve for Merge % Needed can´t be higher than 80\"" - }, - "value": "Approve for Merge % Needed can´t be higher than 80" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5c3296f41ea9209492bc02c79738221846a732302c3e5395597325bc74f521b9", - "typeString": "literal_string \"Approve for Merge % Needed can´t be higher than 80\"" - } - ], - "id": 3812, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17884:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17884:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3818, - "nodeType": "ExpressionStatement", - "src": "17884:94:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3819, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2084, - "src": "17988:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3820, - "name": "_percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "18015:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17988:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3822, - "nodeType": "ExpressionStatement", - "src": "17988:52:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForMerge", - "functionSelector": "93b24154", - "id": 3824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3810, - "modifierName": { - "argumentTypes": null, - "id": 3809, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17861:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17861:12:7" - } - ], - "name": "changePercentageNeededForMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3807, - "name": "_percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3824, - "src": "17819:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17819:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17818:35:7" - }, - "returnParameters": { - "id": 3811, - "nodeType": "ParameterList", - "parameters": [], - "src": "17874:0:7" - }, - "scope": 3885, - "src": "17779:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3849, - "nodeType": "Block", - "src": "18205:295:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3832, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18223:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 3833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18250:7:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_1728000_by_1", - "typeString": "int_const 1728000" - }, - "value": "20" - }, - "src": "18223:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e206c6f776572207468616e2032302064617973", - "id": 3835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18259:62:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a45f5e9ca3fcce966b6079f7e32fb2abe825a38e25b4150e8d6d795daf982dea", - "typeString": "literal_string \"Time open for issue has to be higher than lower than 20 days\"" - }, - "value": "Time open for issue has to be higher than lower than 20 days" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a45f5e9ca3fcce966b6079f7e32fb2abe825a38e25b4150e8d6d795daf982dea", - "typeString": "literal_string \"Time open for issue has to be higher than lower than 20 days\"" - } - ], - "id": 3831, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18215:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18215:107:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3837, - "nodeType": "ExpressionStatement", - "src": "18215:107:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3839, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18340:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18368:9:7", - "subdenomination": "minutes", - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "1" - }, - "src": "18340:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e2031206d696e75746573", - "id": 3842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18379:53:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_303998635858b0ba9fc041946f8f2f8ba67d923f3f8166d5afdb7392bf5374fc", - "typeString": "literal_string \"Time open for issue has to be higher than 1 minutes\"" - }, - "value": "Time open for issue has to be higher than 1 minutes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_303998635858b0ba9fc041946f8f2f8ba67d923f3f8166d5afdb7392bf5374fc", - "typeString": "literal_string \"Time open for issue has to be higher than 1 minutes\"" - } - ], - "id": 3838, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18332:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18332:101:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3844, - "nodeType": "ExpressionStatement", - "src": "18332:101:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3845, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "18443:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3846, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18469:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18443:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3848, - "nodeType": "ExpressionStatement", - "src": "18443:50:7" - } - ] - }, - "documentation": "@dev changeTimeOpenForIssueApprove", - "functionSelector": "95d9c424", - "id": 3850, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3829, - "modifierName": { - "argumentTypes": null, - "id": 3828, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "18192:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18192:12:7" - } - ], - "name": "changeTimeOpenForIssueApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3826, - "name": "_timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3850, - "src": "18151:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18150:34:7" - }, - "returnParameters": { - "id": 3830, - "nodeType": "ParameterList", - "parameters": [], - "src": "18205:0:7" - }, - "scope": 3885, - "src": "18112:388:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3883, - "nodeType": "Block", - "src": "18638:234:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3858, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18656:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000" - }, - "id": 3863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030303030", - "id": 3859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18674:6:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000_by_1", - "typeString": "int_const 100000" - }, - "value": "100000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18681:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18685:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "18681:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "18674:13:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000" - } - }, - "src": "18656:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f756e63696c20416d6f756e742068617320746f20686967686572207468616e203130306b", - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18689:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0967b023ee2ee3e953002b416c5e8a6a73bcecd31ff00cedf2618b30008665a2", - "typeString": "literal_string \"Council Amount has to higher than 100k\"" - }, - "value": "Council Amount has to higher than 100k" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0967b023ee2ee3e953002b416c5e8a6a73bcecd31ff00cedf2618b30008665a2", - "typeString": "literal_string \"Council Amount has to higher than 100k\"" - } - ], - "id": 3857, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18648:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18648:82:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3867, - "nodeType": "ExpressionStatement", - "src": "18648:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3869, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18748:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000000" - }, - "id": 3874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030303030303030", - "id": 3870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18766:9:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "value": "100000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18776:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18780:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "18776:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "18766:16:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000000" - } - }, - "src": "18748:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f756e63696c20416d6f756e742068617320746f206c6f776572207468616e2035304d", - "id": 3876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18784:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a7546c8fa557b3aa8cc9b9a01f95e84a565f7d78efd607f3a50f90d44558e397", - "typeString": "literal_string \"Council Amount has to lower than 50M\"" - }, - "value": "Council Amount has to lower than 50M" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a7546c8fa557b3aa8cc9b9a01f95e84a565f7d78efd607f3a50f90d44558e397", - "typeString": "literal_string \"Council Amount has to lower than 50M\"" - } - ], - "id": 3868, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18740:83:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3878, - "nodeType": "ExpressionStatement", - "src": "18740:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3879, - "name": "COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2090, - "src": "18833:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3880, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18850:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18833:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3882, - "nodeType": "ExpressionStatement", - "src": "18833:32:7" - } - ] - }, - "documentation": "@dev changeTimeOpenForIssueApprove", - "functionSelector": "b4f42601", - "id": 3884, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3855, - "modifierName": { - "argumentTypes": null, - "id": 3854, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "18625:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18625:12:7" - } - ], - "name": "changeCOUNCIL_AMOUNT", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3852, - "name": "_COUNCIL_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3884, - "src": "18593:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18593:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18592:25:7" - }, - "returnParameters": { - "id": 3856, - "nodeType": "ParameterList", - "parameters": [], - "src": "18638:0:7" - }, - "scope": 3885, - "src": "18563:309:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3886, - "src": "533:18344:7" - } - ], - "src": "0:18878:7" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "Network": [ - 3885 - ], - "_IERC20": [ - 2046 - ] - }, - "id": 3886, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2026, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:7" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2027, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 6525, - "src": "26:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 2028, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 9081, - "src": "82:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Governed.sol", - "file": "../utils/Governed.sol", - "id": 2029, - "nodeType": "ImportDirective", - "scope": 3886, - "sourceUnit": 4773, - "src": "135:31:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2030, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6593, - "src": "252:6:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$6593", - "typeString": "contract IERC20" - } - }, - "id": 2031, - "nodeType": "InheritanceSpecifier", - "src": "252:6:7" - } - ], - "contractDependencies": [ - 6593 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 2046, - "linearizedBaseContracts": [ - 2046, - 6593 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 2038, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2036, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2033, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2038, - "src": "321:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2032, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "321:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2035, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2038, - "src": "338:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2034, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "338:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "320:33:7" - }, - "returnParameters": { - "id": 2037, - "nodeType": "ParameterList", - "parameters": [], - "src": "362:0:7" - }, - "scope": 2046, - "src": "307:56:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 2045, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2040, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2045, - "src": "423:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2039, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "423:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2042, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2045, - "src": "440:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "422:33:7" - }, - "returnParameters": { - "id": 2044, - "nodeType": "ParameterList", - "parameters": [], - "src": "464:0:7" - }, - "scope": 2046, - "src": "409:56:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 3886, - "src": "231:237:7" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2047, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9080, - "src": "553:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$9080", - "typeString": "contract Pausable" - } - }, - "id": 2048, - "nodeType": "InheritanceSpecifier", - "src": "553:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2049, - "name": "Governed", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4772, - "src": "563:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Governed_$4772", - "typeString": "contract Governed" - } - }, - "id": 2050, - "nodeType": "InheritanceSpecifier", - "src": "563:8:7" - } - ], - "contractDependencies": [ - 4772, - 7983, - 9080 - ], - "contractKind": "contract", - "documentation": "@title Development Network Contract Autonomous Use", - "fullyImplemented": true, - "id": 3885, - "linearizedBaseContracts": [ - 3885, - 4772, - 9080, - 7983 - ], - "name": "Network", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2053, - "libraryName": { - "contractScope": null, - "id": 2051, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6040, - "src": "583:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6040", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "577:27:7", - "typeName": { - "id": 2052, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "596:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "504dec05", - "id": 2055, - "name": "settlerToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "610:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 2054, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2046, - "src": "610:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a745314f", - "id": 2057, - "name": "transactionToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "643:31:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 2056, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2046, - "src": "643:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 2060, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "681:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2058, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 2059, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "713:8:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 2063, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "727:35:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2061, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "727:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 2062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "761:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 2066, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "768:33:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2065, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "800:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 2069, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "807:30:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2067, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "807:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2068, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "836:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 2072, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "843:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "843:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 2071, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "881:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 2075, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "939:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 2074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "983:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 2078, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1057:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2076, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1057:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 2077, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1101:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2307debc", - "id": 2081, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1174:47:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 2080, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1215:6:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 2084, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1227:44:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2082, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1227:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 2083, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1269:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4820c463", - "id": 2087, - "name": "votesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1343:30:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2085, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 2086, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1372:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "02ef0db1", - "id": 2090, - "name": "COUNCIL_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1380:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1380:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3235303030303030", - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1412:8:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_25000000_by_1", - "typeString": "int_const 25000000" - }, - "value": "25000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 2094, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1434:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue)" - }, - "typeName": { - "id": 2093, - "keyType": { - "id": 2091, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1442:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1434:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 2092, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "1453:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 2099, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1505:45:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 2098, - "keyType": { - "id": 2095, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1513:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1505:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 2096, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1524:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2097, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1524:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 2103, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1589:39:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter)" - }, - "typeName": { - "id": 2102, - "keyType": { - "id": 2100, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1597:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1589:25:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 2101, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "1608:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 2106, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3885, - "src": "1635:28:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1635:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1635:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "Network.MergeProposal", - "id": 2129, - "members": [ - { - "constant": false, - "id": 2108, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1703:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1703:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2112, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1724:50:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2111, - "keyType": { - "id": 2109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1732:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1724:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2110, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1743:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2116, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1819:53:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2115, - "keyType": { - "id": 2113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1819:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2114, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1838:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2118, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1917:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2117, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1917:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2120, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "1963:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1963:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2123, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2012:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2121, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2012:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2122, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2012:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2126, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2043:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2124, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2043:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2043:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2128, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2129, - "src": "2072:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2127, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2072:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "1672:430:7", - "visibility": "public" - }, - { - "canonicalName": "Network.Issue", - "id": 2156, - "members": [ - { - "constant": false, - "id": 2131, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2131:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2130, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2131:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2133, - "name": "cid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2152:10:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2132, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2152:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2135, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2172:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2134, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2172:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2137, - "name": "tokensStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2202:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2136, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2202:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2139, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2232:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2138, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2232:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2143, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2264:52:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2142, - "keyType": { - "id": 2140, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2272:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2264:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2141, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2283:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2145, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2326:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2144, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2149, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2359:48:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal)" - }, - "typeName": { - "id": 2148, - "keyType": { - "id": 2146, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2367:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2359:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 2147, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "2378:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2151, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2441:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2150, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2441:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2153, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2475:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2152, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2475:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2155, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2156, - "src": "2499:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2154, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2499:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "2108:411:7", - "visibility": "public" - }, - { - "canonicalName": "Network.Voter", - "id": 2168, - "members": [ - { - "constant": false, - "id": 2158, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2548:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2157, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2548:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2162, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2588:42:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2161, - "keyType": { - "id": 2159, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2596:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2588:27:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2160, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2607:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2165, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2640:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2163, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2640:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2164, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2640:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2167, - "name": "tokensLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2168, - "src": "2683:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2166, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2683:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 3885, - "src": "2525:185:7", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 2176, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2175, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2170, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2732:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2169, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2732:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2172, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2752:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2171, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2752:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2174, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2176, - "src": "2776:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2776:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2731:68:7" - }, - "src": "2716:84:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2184, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2178, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2824:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2177, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2824:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2180, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2844:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2179, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2844:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2182, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2184, - "src": "2867:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2867:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2823:69:7" - }, - "src": "2805:88:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2192, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 2191, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2186, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2925:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2185, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2925:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2188, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2945:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2187, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2945:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2190, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2192, - "src": "2970:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2189, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2970:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2924:70:7" - }, - "src": "2898:97:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2202, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 2201, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2194, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3019:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3019:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2196, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3039:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2195, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3039:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2198, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3064:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2197, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3064:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2200, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2202, - "src": "3079:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2199, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3079:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3018:86:7" - }, - "src": "3000:105:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2212, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 2211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2204, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3129:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2203, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3129:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2206, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3149:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2208, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3174:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3174:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2210, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2212, - "src": "3189:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3189:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:86:7" - }, - "src": "3110:105:7" - }, - { - "anonymous": false, - "documentation": null, - "id": 2221, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 2220, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2214, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3237:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2213, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2216, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3257:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3257:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2219, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2221, - "src": "3282:27:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2217, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3282:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2218, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3282:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3236:74:7" - }, - "src": "3220:91:7" - }, - { - "body": { - "id": 2246, - "nodeType": "Block", - "src": "3405:141:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2230, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "3416:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2232, - "name": "_settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2223, - "src": "3439:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2231, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "3431:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 2233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3431:22:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "3416:37:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2235, - "nodeType": "ExpressionStatement", - "src": "3416:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2236, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "3463:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2238, - "name": "_transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2225, - "src": "3490:17:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2237, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "3482:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 2239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3482:26:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "3463:45:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2241, - "nodeType": "ExpressionStatement", - "src": "3463:45:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2242, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "3518:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2243, - "name": "_governor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2227, - "src": "3530:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3518:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2245, - "nodeType": "ExpressionStatement", - "src": "3518:21:7" - } - ] - }, - "documentation": null, - "id": 2247, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2228, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2223, - "name": "_settlerToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3329:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2222, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3329:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2225, - "name": "_transactionToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3352:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2224, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3352:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2227, - "name": "_governor", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2247, - "src": "3379:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2226, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3379:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3328:69:7" - }, - "returnParameters": { - "id": 2229, - "nodeType": "ParameterList", - "parameters": [], - "src": "3405:0:7" - }, - "scope": 3885, - "src": "3317:229:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "3595:798:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2253, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3613:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2254, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3628:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3613:16:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20416d6f756e742068617320746f20626520686967686572207468616e2030", - "id": 2256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3631:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_38bd064d9df2fde95be1990d1e199e579e5b1897442572deb916f05d13435e66", - "typeString": "literal_string \"Token Amount has to be higher than 0\"" - }, - "value": "Token Amount has to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_38bd064d9df2fde95be1990d1e199e579e5b1897442572deb916f05d13435e66", - "typeString": "literal_string \"Token Amount has to be higher than 0\"" - } - ], - "id": 2252, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3605:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3605:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2258, - "nodeType": "ExpressionStatement", - "src": "3605:65:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3714:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3714:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2266, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3734:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 2265, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3726:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3726:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3726:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2268, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3741:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2260, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "3688:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "3688:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 2269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3688:66:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 2270, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3756:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 2259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3680:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2271, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3680:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2272, - "nodeType": "ExpressionStatement", - "src": "3680:94:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2279, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2273, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3788:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2276, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2274, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3795:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2275, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3795:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3788:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2277, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "3788:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2278, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3823:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3788:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 2354, - "nodeType": "Block", - "src": "4084:303:7", - "statements": [ - { - "assignments": [ - 2318 - ], - "declarations": [ - { - "constant": false, - "id": 2318, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2354, - "src": "4128:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2317, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "4128:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2323, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2319, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4150:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2322, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2320, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4157:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4157:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4150:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4128:40:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2324, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4182:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4182:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2327, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4203:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4182:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2329, - "nodeType": "ExpressionStatement", - "src": "4182:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2330, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4229:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2332, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2165, - "src": "4229:29:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2333, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4262:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 2335, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4261:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4229:44:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2337, - "nodeType": "ExpressionStatement", - "src": "4229:44:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2338, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2318, - "src": "4287:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2342, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4287:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2343, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2340, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4308:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4308:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4287:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2344, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4322:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4287:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2346, - "nodeType": "ExpressionStatement", - "src": "4287:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2350, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4365:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4365:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 2347, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2106, - "src": "4348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 2349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4348:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4348:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2353, - "nodeType": "ExpressionStatement", - "src": "4348:28:7" - } - ] - }, - "id": 2355, - "nodeType": "IfStatement", - "src": "3785:602:7", - "trueBody": { - "id": 2316, - "nodeType": "Block", - "src": "3825:255:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2280, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3861:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2283, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2281, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3868:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2282, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3868:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3861:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2284, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "3861:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2287, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2285, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3895:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2286, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3895:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3861:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2297, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "3959:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2288, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3909:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2291, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2289, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3916:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3916:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3909:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2292, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "3909:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2295, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2293, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3943:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3943:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "3909:49:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3909:63:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3861:111:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2300, - "nodeType": "ExpressionStatement", - "src": "3861:111:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2301, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "3986:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2304, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2302, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2303, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2305, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "3986:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2312, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2249, - "src": "4056:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2306, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4020:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2309, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2307, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4027:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4027:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4020:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2310, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4020:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "4020:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2313, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4020:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3986:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2315, - "nodeType": "ExpressionStatement", - "src": "3986:83:7" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "dd467064", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2249, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2357, - "src": "3566:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2248, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3566:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3565:22:7" - }, - "returnParameters": { - "id": 2251, - "nodeType": "ParameterList", - "parameters": [], - "src": "3595:0:7" - }, - "scope": 3885, - "src": "3552:841:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2452, - "nodeType": "Block", - "src": "4459:699:7", - "statements": [ - { - "assignments": [ - 2365 - ], - "declarations": [ - { - "constant": false, - "id": 2365, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2452, - "src": "4469:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2364, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "4469:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2370, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2366, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4491:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2369, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4498:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4498:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4491:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4469:40:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2372, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4527:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2373, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4527:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2374, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4549:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4527:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4563:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - }, - "value": "Has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - } - ], - "id": 2371, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4519:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4519:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2378, - "nodeType": "ExpressionStatement", - "src": "4519:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2380, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4612:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4612:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2383, - "indexExpression": { - "argumentTypes": null, - "id": 2382, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4633:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4612:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2384, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4643:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4612:43:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2386, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4657:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - }, - "value": "From has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - } - ], - "id": 2379, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4604:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4604:89:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2388, - "nodeType": "ExpressionStatement", - "src": "4604:89:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2389, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4704:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2392, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4711:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4711:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4704:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2393, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4704:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2397, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4761:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2394, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4738:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2395, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "4738:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4738:22:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4738:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4704:70:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2400, - "nodeType": "ExpressionStatement", - "src": "4704:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4784:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4791:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4791:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4784:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4784:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2407, - "indexExpression": { - "argumentTypes": null, - "id": 2406, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4818:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4784:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2413, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4859:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2408, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2365, - "src": "4827:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "4827:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2411, - "indexExpression": { - "argumentTypes": null, - "id": 2410, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4848:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4827:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4827:31:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4827:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4784:88:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2416, - "nodeType": "ExpressionStatement", - "src": "4784:88:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4885:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4885:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 2419, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4899:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4885:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2435, - "nodeType": "IfStatement", - "src": "4882:141:7", - "trueBody": { - "id": 2434, - "nodeType": "Block", - "src": "4905:118:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2421, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4919:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2423, - "indexExpression": { - "argumentTypes": null, - "id": 2422, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4926:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4919:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2424, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "4919:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2430, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "4999:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2425, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "4958:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2427, - "indexExpression": { - "argumentTypes": null, - "id": 2426, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "4965:5:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4958:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2428, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "4958:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "4958:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4958:54:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4919:93:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2433, - "nodeType": "ExpressionStatement", - "src": "4919:93:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2439, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5063:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5063:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2441, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "5075:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2437, - "name": "settlerToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2055, - "src": "5041:12:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "5041:21:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5041:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 2443, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5090:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 2436, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5033:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5033:79:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2445, - "nodeType": "ExpressionStatement", - "src": "5033:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2449, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "5138:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2446, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "5122:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "5122:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5122:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2451, - "nodeType": "ExpressionStatement", - "src": "5122:29:7" - } - ] - }, - "documentation": null, - "functionSelector": "f1d2ec1d", - "id": 2453, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2453, - "src": "4415:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2358, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4415:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2453, - "src": "4437:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2360, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4437:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4414:37:7" - }, - "returnParameters": { - "id": 2363, - "nodeType": "ParameterList", - "parameters": [], - "src": "4459:0:7" - }, - "scope": 3885, - "src": "4399:759:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2564, - "nodeType": "Block", - "src": "5242:853:7", - "statements": [ - { - "assignments": [ - 2461 - ], - "declarations": [ - { - "constant": false, - "id": 2461, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2564, - "src": "5252:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2460, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "5252:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2466, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2462, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5274:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2463, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5281:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5281:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5274:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5252:40:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2468, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5311:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5335:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5327:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2469, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5327:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2472, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5327:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5311:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5339:37:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 2467, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5303:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2475, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5303:74:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2476, - "nodeType": "ExpressionStatement", - "src": "5303:74:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2478, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5395:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2479, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5411:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5411:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5395:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 2482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5423:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 2477, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5387:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5387:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2484, - "nodeType": "ExpressionStatement", - "src": "5387:64:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2486, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5470:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "5470:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2488, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5492:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5470:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2490, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5506:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - }, - "value": "Has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dd8bd01a2b824a93c5667b1b49440620effe4aba745f6a4b03225cbd81e859ea", - "typeString": "literal_string \"Has to have tokens to unlock\"" - } - ], - "id": 2485, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5462:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5462:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2492, - "nodeType": "ExpressionStatement", - "src": "5462:75:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2500, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2494, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5555:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2495, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5555:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2498, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2496, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5576:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5576:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5555:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 2499, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5591:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5555:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520746f6b656e7320746f20756e6c6f636b", - "id": 2501, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5605:35:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - }, - "value": "From has to have tokens to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2c467ac6029aa55cb143949956641453c2b68735a0d75b768659da7196dc6e7a", - "typeString": "literal_string \"From has to have tokens to unlock\"" - } - ], - "id": 2493, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5547:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2502, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5547:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2503, - "nodeType": "ExpressionStatement", - "src": "5547:94:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2504, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5652:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2507, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2505, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5659:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5659:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5652:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2508, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5652:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2511, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2509, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5686:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5686:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5652:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2518, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5737:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2512, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2513, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5700:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2516, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2514, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5721:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5721:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5700:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "5700:36:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5700:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5652:98:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2521, - "nodeType": "ExpressionStatement", - "src": "5652:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2522, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5760:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2525, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2523, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5767:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5767:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5760:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2526, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5760:33:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2528, - "indexExpression": { - "argumentTypes": null, - "id": 2527, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5794:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5760:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2534, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "5849:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2529, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "5810:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 2530, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "5810:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2532, - "indexExpression": { - "argumentTypes": null, - "id": 2531, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5831:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5810:34:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "5810:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5810:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5760:102:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2537, - "nodeType": "ExpressionStatement", - "src": "5760:102:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2539, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5881:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2541, - "indexExpression": { - "argumentTypes": null, - "id": 2540, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5888:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5881:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2542, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2167, - "src": "5881:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2545, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5926:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5918:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 2543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5918:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 2546, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5918:10:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5881:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 2548, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5930:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 2538, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5873:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5873:98:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2550, - "nodeType": "ExpressionStatement", - "src": "5873:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2551, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "5981:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2553, - "indexExpression": { - "argumentTypes": null, - "id": 2552, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "5988:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5981:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2554, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "5981:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2560, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2455, - "src": "6075:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2555, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6027:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2557, - "indexExpression": { - "argumentTypes": null, - "id": 2556, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2457, - "src": "6034:12:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6027:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "id": 2558, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "6027:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "6027:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2561, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5981:107:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2563, - "nodeType": "ExpressionStatement", - "src": "5981:107:7" - } - ] - }, - "documentation": null, - "id": 2565, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2458, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2455, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2565, - "src": "5189:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2454, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5189:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2457, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2565, - "src": "5211:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2456, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5211:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5188:44:7" - }, - "returnParameters": { - "id": 2459, - "nodeType": "ParameterList", - "parameters": [], - "src": "5242:0:7" - }, - "scope": 3885, - "src": "5164:931:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 2647, - "nodeType": "Block", - "src": "6148:596:7", - "statements": [ - { - "assignments": [ - 2571 - ], - "declarations": [ - { - "constant": false, - "id": 2571, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6158:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2570, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "6158:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2576, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2572, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6179:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2575, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2573, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6186:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6186:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6179:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6158:39:7" - }, - { - "assignments": [ - 2578 - ], - "declarations": [ - { - "constant": false, - "id": 2578, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6207:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2577, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "6207:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2582, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2579, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6228:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2581, - "indexExpression": { - "argumentTypes": null, - "id": 2580, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6235:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6228:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6207:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2584, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2578, - "src": "6262:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2585, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "6262:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6275:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6262:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6278:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2583, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6254:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2590, - "nodeType": "ExpressionStatement", - "src": "6254:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2593, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6337:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2592, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2866, - "src": "6319:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6319:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 2591, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6311:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6311:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2596, - "nodeType": "ExpressionStatement", - "src": "6311:36:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2598, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6365:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2600, - "indexExpression": { - "argumentTypes": null, - "id": 2599, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6372:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6365:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2601, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2143, - "src": "6365:41:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2604, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2602, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6407:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6407:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6365:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6422:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:58:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2607, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6425:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2597, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:88:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2609, - "nodeType": "ExpressionStatement", - "src": "6357:88:7" - }, - { - "assignments": [ - 2611 - ], - "declarations": [ - { - "constant": false, - "id": 2611, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2647, - "src": "6456:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6456:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2616, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2613, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6495:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6495:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2612, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "6477:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6477:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6456:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2617, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6516:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2619, - "indexExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6523:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6516:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2620, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "6516:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2626, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6588:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6551:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6558:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6551:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "6551:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "6551:36:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6551:48:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6516:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6516:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2630, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6609:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2632, - "indexExpression": { - "argumentTypes": null, - "id": 2631, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6616:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6609:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2633, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2143, - "src": "6609:41:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2636, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2634, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6651:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6651:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6609:53:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2637, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6665:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6609:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2639, - "nodeType": "ExpressionStatement", - "src": "6609:66:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2641, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2567, - "src": "6704:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "6714:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2643, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6726:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2640, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2184, - "src": "6691:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 2645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6691:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2646, - "nodeType": "EmitStatement", - "src": "6686:51:7" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 2648, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2567, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2648, - "src": "6123:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6123:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6122:18:7" - }, - "returnParameters": { - "id": 2569, - "nodeType": "ParameterList", - "parameters": [], - "src": "6148:0:7" - }, - "scope": 3885, - "src": "6101:643:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2746, - "nodeType": "Block", - "src": "6815:748:7", - "statements": [ - { - "assignments": [ - 2656 - ], - "declarations": [ - { - "constant": false, - "id": 2656, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6825:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2655, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "6825:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2661, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2657, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "6846:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2660, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2658, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6853:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6853:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6846:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6825:39:7" - }, - { - "assignments": [ - 2663 - ], - "declarations": [ - { - "constant": false, - "id": 2663, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6874:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2662, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "6874:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2667, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2664, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6895:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2666, - "indexExpression": { - "argumentTypes": null, - "id": 2665, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "6902:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6895:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6874:37:7" - }, - { - "assignments": [ - 2669 - ], - "declarations": [ - { - "constant": false, - "id": 2669, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "6921:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 2668, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "6921:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2676, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2670, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "6951:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2672, - "indexExpression": { - "argumentTypes": null, - "id": 2671, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "6958:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6951:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "6951:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2675, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "6983:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6951:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6921:71:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2678, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "7010:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "7010:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2680, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7023:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7010:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2682, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7026:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2677, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2683, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7002:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2684, - "nodeType": "ExpressionStatement", - "src": "7002:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2686, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2663, - "src": "7067:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2687, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "7067:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2688, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7093:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7067:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 2690, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7103:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 2685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7059:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7059:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2692, - "nodeType": "ExpressionStatement", - "src": "7059:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "7153:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "7153:28:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2698, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7182:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7182:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7153:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2699, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7197:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7153:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7200:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2693, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7145:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7145:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2703, - "nodeType": "ExpressionStatement", - "src": "7145:75:7" - }, - { - "assignments": [ - 2705 - ], - "declarations": [ - { - "constant": false, - "id": 2705, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2746, - "src": "7231:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7231:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2710, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2707, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7270:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7270:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2706, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "7252:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7252:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7231:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2711, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7300:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2713, - "indexExpression": { - "argumentTypes": null, - "id": 2712, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7307:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7300:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7300:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2716, - "indexExpression": { - "argumentTypes": null, - "id": 2715, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7332:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7300:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "7300:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2721, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7366:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2669, - "src": "7350:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "7350:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "7350:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7350:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7300:77:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2724, - "nodeType": "ExpressionStatement", - "src": "7300:77:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2725, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7387:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2727, - "indexExpression": { - "argumentTypes": null, - "id": 2726, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7394:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7387:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7387:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2730, - "indexExpression": { - "argumentTypes": null, - "id": 2729, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7419:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7387:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "7387:64:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2734, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2732, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7452:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7452:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7387:76:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2735, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7466:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7387:89:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2737, - "nodeType": "ExpressionStatement", - "src": "7387:89:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2739, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7513:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2740, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7523:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2741, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "7533:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2742, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7545:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7545:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2738, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2212, - "src": "7500:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 2744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7500:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2745, - "nodeType": "EmitStatement", - "src": "7495:61:7" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 2747, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2650, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2747, - "src": "6772:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6772:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2747, - "src": "6790:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6790:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6771:36:7" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "6815:0:7" - }, - "scope": 3885, - "src": "6750:813:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2845, - "nodeType": "Block", - "src": "7634:760:7", - "statements": [ - { - "assignments": [ - 2755 - ], - "declarations": [ - { - "constant": false, - "id": 2755, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7644:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_memory_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 2754, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "7644:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2760, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2756, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "7665:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 2759, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7672:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7672:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7665:18:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7644:39:7" - }, - { - "assignments": [ - 2762 - ], - "declarations": [ - { - "constant": false, - "id": 2762, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7693:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 2761, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "7693:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2766, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2763, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7714:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2765, - "indexExpression": { - "argumentTypes": null, - "id": 2764, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "7721:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7714:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7693:37:7" - }, - { - "assignments": [ - 2768 - ], - "declarations": [ - { - "constant": false, - "id": 2768, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "7740:27:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 2767, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "7740:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2775, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2769, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "7770:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2771, - "indexExpression": { - "argumentTypes": null, - "id": 2770, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "7777:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7770:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2772, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "7770:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2774, - "indexExpression": { - "argumentTypes": null, - "id": 2773, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "7802:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7770:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7740:71:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2777, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2762, - "src": "7829:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "7829:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7842:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7829:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 2781, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7845:22:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 2776, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7821:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7821:47:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2783, - "nodeType": "ExpressionStatement", - "src": "7821:47:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2785, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2762, - "src": "7886:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 2786, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "7886:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2787, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "7912:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7886:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 2789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7922:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 2784, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7878:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7878:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2791, - "nodeType": "ExpressionStatement", - "src": "7878:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2793, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2768, - "src": "7972:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2794, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2116, - "src": "7972:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2797, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2795, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8004:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8004:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7972:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 2798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8019:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7972:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 2800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8022:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 2792, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7964:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7964:78:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2802, - "nodeType": "ExpressionStatement", - "src": "7964:78:7" - }, - { - "assignments": [ - 2804 - ], - "declarations": [ - { - "constant": false, - "id": 2804, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2845, - "src": "8053:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8053:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2809, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2806, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8092:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8092:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2805, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3639, - "src": "8074:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 2808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8074:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8053:50:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2810, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8122:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2812, - "indexExpression": { - "argumentTypes": null, - "id": 2811, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8129:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8122:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2813, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8122:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2815, - "indexExpression": { - "argumentTypes": null, - "id": 2814, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8154:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8122:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2816, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8122:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2820, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8194:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2817, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2768, - "src": "8175:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal storage pointer" - } - }, - "id": 2818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8175:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "8175:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8175:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8122:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2823, - "nodeType": "ExpressionStatement", - "src": "8122:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 2835, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2824, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8215:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2826, - "indexExpression": { - "argumentTypes": null, - "id": 2825, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8222:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8215:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8215:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2829, - "indexExpression": { - "argumentTypes": null, - "id": 2828, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8215:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2830, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2116, - "src": "8215:67:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2833, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2831, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8283:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2832, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8283:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8215:79:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2834, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8297:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8215:92:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2836, - "nodeType": "ExpressionStatement", - "src": "8215:92:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2838, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2749, - "src": "8344:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2839, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2751, - "src": "8354:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 2840, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2804, - "src": "8364:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2841, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8376:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 2842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8376:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2837, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2202, - "src": "8331:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 2843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8331:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2844, - "nodeType": "EmitStatement", - "src": "8326:61:7" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 2846, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2749, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2846, - "src": "7591:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2748, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7591:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2751, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2846, - "src": "7609:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7609:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7590:36:7" - }, - "returnParameters": { - "id": 2753, - "nodeType": "ParameterList", - "parameters": [], - "src": "7634:0:7" - }, - "scope": 3885, - "src": "7569:825:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2865, - "nodeType": "Block", - "src": "8466:140:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2862, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2858, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "8556:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8522:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2855, - "indexExpression": { - "argumentTypes": null, - "id": 2854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2848, - "src": "8529:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8522:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "8522:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "8522:33:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8522:58:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2860, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8583:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 2861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8583:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8522:76:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2863, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8521:78:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2852, - "id": 2864, - "nodeType": "Return", - "src": "8514:85:7" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 2866, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2849, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2848, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2866, - "src": "8427:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2847, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8427:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8426:18:7" - }, - "returnParameters": { - "id": 2852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2851, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2866, - "src": "8461:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2850, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8461:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8460:6:7" - }, - "scope": 3885, - "src": "8400:206:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2887, - "nodeType": "Block", - "src": "8677:114:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2873, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8695:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2875, - "indexExpression": { - "argumentTypes": null, - "id": 2874, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2868, - "src": "8702:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8695:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "8695:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2882, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8779:3:7", - "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": 2879, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "8747:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2877, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8731:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "8731:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8731:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "8731:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2883, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8731:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8695:88:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8694:90:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2872, - "id": 2886, - "nodeType": "Return", - "src": "8687:97:7" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 2888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2868, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2888, - "src": "8637:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2867, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8636:18:7" - }, - "returnParameters": { - "id": 2872, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2871, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2888, - "src": "8671:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2870, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8671:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8670:6:7" - }, - "scope": 3885, - "src": "8612:179:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2914, - "nodeType": "Block", - "src": "8880:132:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "8898:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2899, - "indexExpression": { - "argumentTypes": null, - "id": 2898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2890, - "src": "8905:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8898:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "8898:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2902, - "indexExpression": { - "argumentTypes": null, - "id": 2901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2892, - "src": "8930:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8898:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2903, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "8898:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9000:3:7", - "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": 2906, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "8968:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2904, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "8952:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "8952:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2907, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8952:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "8952:47:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8952:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8898:106:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2912, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8897:108:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2896, - "id": 2913, - "nodeType": "Return", - "src": "8890:115:7" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 2915, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2890, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8822:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2889, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8822:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2892, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8840:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8821:36:7" - }, - "returnParameters": { - "id": 2896, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2895, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2915, - "src": "8874:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2894, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8874:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8873:6:7" - }, - "scope": 3885, - "src": "8797:215:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2941, - "nodeType": "Block", - "src": "9101:127:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2938, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2924, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9119:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2926, - "indexExpression": { - "argumentTypes": null, - "id": 2925, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2917, - "src": "9126:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9119:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2927, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9119:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2929, - "indexExpression": { - "argumentTypes": null, - "id": 2928, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2919, - "src": "9151:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9119:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2930, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9119:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 2936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9216:3:7", - "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": 2933, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2084, - "src": "9186:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2931, - "name": "votesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2087, - "src": "9170:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2932, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 5928, - "src": "9170:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9170:41:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 5949, - "src": "9170:45:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2937, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9170:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9119:101:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 2939, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9118:103:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2923, - "id": 2940, - "nodeType": "Return", - "src": "9111:110:7" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 2942, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2917, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9043:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9043:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2919, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9061:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9061:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9042:36:7" - }, - "returnParameters": { - "id": 2923, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2922, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2942, - "src": "9095:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2921, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9095:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9094:6:7" - }, - "scope": 3885, - "src": "9018:210:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 2991, - "nodeType": "Block", - "src": "9332:309:7", - "statements": [ - { - "assignments": [ - 2952 - ], - "declarations": [ - { - "constant": false, - "id": 2952, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2991, - "src": "9342:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2951, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9342:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2960, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2953, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9367:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2955, - "indexExpression": { - "argumentTypes": null, - "id": 2954, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9374:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9367:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9367:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2958, - "indexExpression": { - "argumentTypes": null, - "id": 2957, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2946, - "src": "9399:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9367:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2959, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9367:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9342:72:7" - }, - { - "body": { - "id": 2987, - "nodeType": "Block", - "src": "9484:130:7", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2982, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2974, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9501:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2976, - "indexExpression": { - "argumentTypes": null, - "id": 2975, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9508:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9501:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2977, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "9501:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 2979, - "indexExpression": { - "argumentTypes": null, - "id": 2978, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9533:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9501:34:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 2980, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "9501:40:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 2981, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2952, - "src": "9544:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9501:57:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 2986, - "nodeType": "IfStatement", - "src": "9498:106:7", - "trueBody": { - "id": 2985, - "nodeType": "Block", - "src": "9559:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 2983, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9584:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 2950, - "id": 2984, - "nodeType": "Return", - "src": "9577:12:7" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2965, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9441:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2966, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "9445:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 2968, - "indexExpression": { - "argumentTypes": null, - "id": 2967, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2944, - "src": "9452:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9445:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 2969, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "9445:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9441:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 2988, - "initializationExpression": { - "assignments": [ - 2962 - ], - "declarations": [ - { - "constant": false, - "id": 2962, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2988, - "src": "9428:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 2961, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9428:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 2964, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 2963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9438:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9428:11:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 2972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9480:3:7", - "subExpression": { - "argumentTypes": null, - "id": 2971, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2962, - "src": "9480:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 2973, - "nodeType": "ExpressionStatement", - "src": "9480:3:7" - }, - "nodeType": "ForStatement", - "src": "9424:190:7" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2989, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9630:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2950, - "id": 2990, - "nodeType": "Return", - "src": "9623:11:7" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 2992, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2947, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2944, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9274:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2943, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9274:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2946, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9292:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9273:36:7" - }, - "returnParameters": { - "id": 2950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2949, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 2992, - "src": "9326:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2948, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9326:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9325:6:7" - }, - "scope": 3885, - "src": "9238:403:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3090, - "nodeType": "Block", - "src": "9817:697:7", - "statements": [ - { - "assignments": [ - 3002 - ], - "declarations": [ - { - "constant": false, - "id": 3002, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3090, - "src": "9849:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3001, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "9849:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3003, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9849:18:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3004, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9877:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "9877:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3007, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "9889:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9877:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3009, - "nodeType": "ExpressionStatement", - "src": "9877:28:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3014, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3010, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9915:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "cid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2133, - "src": "9915:9:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3013, - "name": "_cid", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2994, - "src": "9927:4:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "9915:16:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 3015, - "nodeType": "ExpressionStatement", - "src": "9915:16:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3020, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3016, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9941:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "9941:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3019, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "9962:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9941:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3021, - "nodeType": "ExpressionStatement", - "src": "9941:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3022, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "9984:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "9984:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3025, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10007:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10007:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "9984:33:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3028, - "nodeType": "ExpressionStatement", - "src": "9984:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3029, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10027:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "10027:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3032, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10048:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10048:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10027:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3035, - "nodeType": "ExpressionStatement", - "src": "10027:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3036, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10073:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3038, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "10073:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3039, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10091:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10073:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3041, - "nodeType": "ExpressionStatement", - "src": "10073:23:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3042, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10106:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3044, - "indexExpression": { - "argumentTypes": null, - "id": 3043, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10113:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10106:24:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3045, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3002, - "src": "10133:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "src": "10106:32:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3047, - "nodeType": "ExpressionStatement", - "src": "10106:32:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3053, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10174:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3048, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "10148:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3051, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3049, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10157:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3050, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10157:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10148:20:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10148:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3054, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10148:43:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3055, - "nodeType": "ExpressionStatement", - "src": "10148:43:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3059, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10277:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10277:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3063, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10297:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10289:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3061, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10289:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3064, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10289:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3065, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10304:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3057, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "10247:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3058, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "10247:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 3066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10247:70:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 3067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10319:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 3056, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10239:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3068, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10239:98:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3069, - "nodeType": "ExpressionStatement", - "src": "10239:98:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3070, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "10347:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3073, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10377:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3071, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "10361:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3072, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "10361:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3074, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10361:29:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10347:43:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3076, - "nodeType": "ExpressionStatement", - "src": "10347:43:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3077, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10400:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3078, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10419:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3079, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10438:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10419:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10400:39:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3082, - "nodeType": "ExpressionStatement", - "src": "10400:39:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3084, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2063, - "src": "10464:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3085, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10482:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3086, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10482:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3087, - "name": "_tokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2996, - "src": "10494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3083, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2176, - "src": "10454:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 3088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10454:53:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3089, - "nodeType": "EmitStatement", - "src": "10449:58:7" - } - ] - }, - "documentation": "@dev open an Issue with transaction Tokens owned\n1st step", - "functionSelector": "948545c3", - "id": 3091, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2999, - "modifierName": { - "argumentTypes": null, - "id": 2998, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "9803:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9803:13:7" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 2997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2994, - "name": "_cid", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3091, - "src": "9754:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2993, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "9754:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2996, - "name": "_tokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3091, - "src": "9774:20:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9774:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9753:42:7" - }, - "returnParameters": { - "id": 3000, - "nodeType": "ParameterList", - "parameters": [], - "src": "9817:0:7" - }, - "scope": 3885, - "src": "9735:779:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3152, - "nodeType": "Block", - "src": "10580:471:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3099, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10598:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3101, - "indexExpression": { - "argumentTypes": null, - "id": 3100, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10605:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10598:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "10598:31:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3103, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10633:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10633:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10598:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 3106, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10645:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 3098, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10590:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3107, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10590:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3108, - "nodeType": "ExpressionStatement", - "src": "10590:85:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3113, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10693:26:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3111, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10710:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3110, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2888, - "src": "10694:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10694:25:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 3114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10721:30:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 3109, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10685:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3115, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10685:67:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3116, - "nodeType": "ExpressionStatement", - "src": "10685:67:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10770:28:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3119, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10789:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3118, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2866, - "src": "10771:17:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3120, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10771:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 3122, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10800:45:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 3117, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10762:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10762:84:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3124, - "nodeType": "ExpressionStatement", - "src": "10762:84:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3125, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10856:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3127, - "indexExpression": { - "argumentTypes": null, - "id": 3126, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10863:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10856:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3128, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "10856:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3129, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10885:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10856:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3131, - "nodeType": "ExpressionStatement", - "src": "10856:33:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3132, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10899:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3134, - "indexExpression": { - "argumentTypes": null, - "id": 3133, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10906:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10899:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3135, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 2155, - "src": "10899:25:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3136, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10927:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10899:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3138, - "nodeType": "ExpressionStatement", - "src": "10899:32:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3142, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10975:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10975:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3144, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "10987:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3146, - "indexExpression": { - "argumentTypes": null, - "id": 3145, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3093, - "src": "10994:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10987:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3147, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "10987:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3140, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "10949:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3141, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "10949:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10949:68:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 3149, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 3139, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10941:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3150, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10941:103:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3151, - "nodeType": "ExpressionStatement", - "src": "10941:103:7" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 3153, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3096, - "modifierName": { - "argumentTypes": null, - "id": 3095, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "10566:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10566:13:7" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3093, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3153, - "src": "10541:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3092, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10540:18:7" - }, - "returnParameters": { - "id": 3097, - "nodeType": "ParameterList", - "parameters": [], - "src": "10580:0:7" - }, - "scope": 3885, - "src": "10520:531:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3261, - "nodeType": "Block", - "src": "11244:921:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3163, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11262:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3165, - "indexExpression": { - "argumentTypes": null, - "id": 3164, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11269:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11262:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11262:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3167, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11295:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11262:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3169, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11298:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3162, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11254:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11254:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "ExpressionStatement", - "src": "11254:65:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3173, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11337:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3175, - "indexExpression": { - "argumentTypes": null, - "id": 3174, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11344:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11337:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3176, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "11337:31:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3177, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11372:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11372:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11337:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 3180, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11384:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 3172, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11329:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11329:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3182, - "nodeType": "ExpressionStatement", - "src": "11329:85:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3187, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11432:26:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3185, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11449:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3184, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2888, - "src": "11433:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 3186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11433:25:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 3188, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11460:27:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 3183, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11424:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11424:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3190, - "nodeType": "ExpressionStatement", - "src": "11424:64:7" - }, - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3261, - "src": "11499:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3191, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11499:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3197, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3193, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11524:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3195, - "indexExpression": { - "argumentTypes": null, - "id": 3194, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11531:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11524:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11524:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11499:54:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3203, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3198, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "11587:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3200, - "indexExpression": { - "argumentTypes": null, - "id": 3199, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3155, - "src": "11594:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11587:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "11587:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3202, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11619:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11587:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3204, - "nodeType": "ExpressionStatement", - "src": "11587:47:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3207, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3205, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11682:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3206, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11700:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11682:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 3259, - "nodeType": "Block", - "src": "11945:214:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3239, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11993:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11993:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3243, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "12024:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3241, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "12005:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3242, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12005:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12005:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3237, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "11967:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "11967:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3245, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:74:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 3246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12043:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 3236, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11959:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11959:109:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3248, - "nodeType": "ExpressionStatement", - "src": "11959:109:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3249, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "12082:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3254, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "12131:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3252, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "12112:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12112:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3255, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12112:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3250, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "12096:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "12096:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3256, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12096:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12082:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3258, - "nodeType": "ExpressionStatement", - "src": "12082:66:7" - } - ] - }, - "id": 3260, - "nodeType": "IfStatement", - "src": "11679:480:7", - "trueBody": { - "id": 3235, - "nodeType": "Block", - "src": "11715:226:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3211, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11767:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11767:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3215, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11787:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Network_$3885", - "typeString": "contract Network" - } - ], - "id": 3214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 3213, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11779:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 3216, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11779:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3219, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11814:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3217, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11794:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3218, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "11794:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3220, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11794:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3209, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "11737:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3210, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6576, - "src": "11737:29:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 3221, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11737:93:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 3222, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11832:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3223, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11729:121:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3224, - "nodeType": "ExpressionStatement", - "src": "11729:121:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3225, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "11864:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3230, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "11914:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3228, - "name": "_newTokenAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3157, - "src": "11894:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "11894:19:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3231, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11894:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3226, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "11878:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "11878:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11878:52:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11864:66:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3234, - "nodeType": "ExpressionStatement", - "src": "11864:66:7" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with transaction tokens owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 3262, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3160, - "modifierName": { - "argumentTypes": null, - "id": 3159, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "11230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11230:13:7" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3158, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3155, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3262, - "src": "11180:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3154, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11180:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3157, - "name": "_newTokenAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3262, - "src": "11198:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3156, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11198:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11179:43:7" - }, - "returnParameters": { - "id": 3161, - "nodeType": "ParameterList", - "parameters": [], - "src": "11244:0:7" - }, - "scope": 3885, - "src": "11159:1006:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3434, - "nodeType": "Block", - "src": "12535:1276:7", - "statements": [ - { - "assignments": [ - 3276 - ], - "declarations": [ - { - "constant": false, - "id": 3276, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "12554:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3275, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "12554:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3280, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3277, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "12575:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3279, - "indexExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "12582:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12575:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12554:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3285, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3282, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "12609:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3283, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "12609:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3284, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12622:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12609:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3286, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12626:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3281, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12601:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12601:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3288, - "nodeType": "ExpressionStatement", - "src": "12601:46:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3290, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "12665:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3291, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "12665:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12684:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12665:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12691:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 3289, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12657:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12657:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "12657:59:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3298, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "12734:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12734:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "12755:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12755:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12734:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 3303, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12776:39:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 3297, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12726:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12726:90:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3305, - "nodeType": "ExpressionStatement", - "src": "12726:90:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3309, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12861:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3310, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12861:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 3307, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "12834:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6538, - "src": "12834:26:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 3311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12834:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3312, - "name": "COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2090, - "src": "12875:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3315, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3313, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12890:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3314, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12894:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12890:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12875:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12834:62:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f414d4f554e5429", - "id": 3318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12898:69:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_491d4d5f5af8a1565cb5e4f915526755a15e22b102f3fc3240e7ec5995590799", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_491d4d5f5af8a1565cb5e4f915526755a15e22b102f3fc3240e7ec5995590799", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)\"" - } - ], - "id": 3306, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12826:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12826:142:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3320, - "nodeType": "ExpressionStatement", - "src": "12826:142:7" - }, - { - "assignments": [ - 3322 - ], - "declarations": [ - { - "constant": false, - "id": 3322, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "12979:34:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3321, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "12979:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3323, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12979:34:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3324, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13023:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3326, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "13023:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3327, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "13043:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13043:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13023:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3330, - "nodeType": "ExpressionStatement", - "src": "13023:42:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3331, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13075:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "13075:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3334, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "13101:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13075:36:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 3336, - "nodeType": "ExpressionStatement", - "src": "13075:36:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3337, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13121:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "13121:25:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3340, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "13149:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13121:40:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3342, - "nodeType": "ExpressionStatement", - "src": "13121:40:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3343, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13171:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3345, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "13171:29:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3346, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13203:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13203:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13171:42:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3349, - "nodeType": "ExpressionStatement", - "src": "13171:42:7" - }, - { - "assignments": [ - 3351 - ], - "declarations": [ - { - "constant": false, - "id": 3351, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3434, - "src": "13224:13:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3350, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13224:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3363, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3361, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3352, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13242:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3354, - "indexExpression": { - "argumentTypes": null, - "id": 3353, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13249:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13242:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3355, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "13242:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 3356, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "13275:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3357, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13274:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13242:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3359, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13241:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3360, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13300:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13241:62:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3362, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13240:64:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13224:80:7" - }, - { - "body": { - "id": 3392, - "nodeType": "Block", - "src": "13391:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3375, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13405:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3378, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3270, - "src": "13424:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3380, - "indexExpression": { - "argumentTypes": null, - "id": 3379, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13435:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13424:13:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3381, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13441:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3382, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "13445:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13441:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3384, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13440:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13424:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3386, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13423:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3387, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13470:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13423:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3376, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13413:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "13413:9:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13413:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13405:69:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3391, - "nodeType": "ExpressionStatement", - "src": "13405:69:7" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3368, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13362:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3369, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3267, - "src": "13366:12:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13366:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13362:23:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3393, - "initializationExpression": { - "assignments": [ - 3365 - ], - "declarations": [ - { - "constant": false, - "id": 3365, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3393, - "src": "13350:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3364, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13350:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3367, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13359:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13350:10:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13387:3:7", - "subExpression": { - "argumentTypes": null, - "id": 3372, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3365, - "src": "13387:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3374, - "nodeType": "ExpressionStatement", - "src": "13387:3:7" - }, - "nodeType": "ForStatement", - "src": "13346:139:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3395, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3351, - "src": "13503:5:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3396, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13512:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3398, - "indexExpression": { - "argumentTypes": null, - "id": 3397, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13519:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13512:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3399, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "13512:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13503:38:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 3401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13543:19:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 3394, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13495:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13495:68:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3403, - "nodeType": "ExpressionStatement", - "src": "13495:68:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3404, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13574:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3406, - "indexExpression": { - "argumentTypes": null, - "id": 3405, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13581:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3407, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "13574:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3410, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3408, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3276, - "src": "13606:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3409, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13606:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13574:55:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3411, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13632:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "src": "13574:71:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "id": 3413, - "nodeType": "ExpressionStatement", - "src": "13574:71:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3414, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13655:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3416, - "indexExpression": { - "argumentTypes": null, - "id": 3415, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13662:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13655:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13655:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3423, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3418, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "13691:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3420, - "indexExpression": { - "argumentTypes": null, - "id": 3419, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13698:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13691:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3421, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "13691:33:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13727:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13691:37:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13655:73:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3425, - "nodeType": "ExpressionStatement", - "src": "13655:73:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3427, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3264, - "src": "13764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3428, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3322, - "src": "13774:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3429, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "13774:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13793:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13793:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3426, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "13743:20:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 3432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13743:61:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3433, - "nodeType": "EmitStatement", - "src": "13738:66:7" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 3435, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3273, - "modifierName": { - "argumentTypes": null, - "id": 3272, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "12521:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12521:13:7" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3271, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3264, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12436:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12436:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3267, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12454:29:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12454:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12454:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3270, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3435, - "src": "12485:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12485:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12485:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12435:78:7" - }, - "returnParameters": { - "id": 3274, - "nodeType": "ParameterList", - "parameters": [], - "src": "12535:0:7" - }, - "scope": 3885, - "src": "12409:1402:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3602, - "nodeType": "Block", - "src": "14094:1376:7", - "statements": [ - { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3602, - "src": "14104:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3444, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "14104:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3449, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3446, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14125:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3448, - "indexExpression": { - "argumentTypes": null, - "id": 3447, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14132:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14125:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14104:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3451, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14159:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3452, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "14159:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14172:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14159:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 3455, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14176:20:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 3450, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14151:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3457, - "nodeType": "ExpressionStatement", - "src": "14151:46:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3459, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14215:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "14215:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3461, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14234:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14215:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 3463, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14241:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 3458, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14207:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14207:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3465, - "nodeType": "ExpressionStatement", - "src": "14207:59:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3467, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "14284:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3468, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "14284:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 3469, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14310:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14284:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 3471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14320:31:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 3466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14276:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3472, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14276:76:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3473, - "nodeType": "ExpressionStatement", - "src": "14276:76:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3476, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14386:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3477, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14396:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3475, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2942, - "src": "14370:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14370:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14407:33:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 3474, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14362:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14362:79:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3481, - "nodeType": "ExpressionStatement", - "src": "14362:79:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3487, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14459:36:7", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3484, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14476:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3485, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14486:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3483, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2915, - "src": "14460:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3486, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14460:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 3488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14497:25:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 3482, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14451:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14451:72:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3490, - "nodeType": "ExpressionStatement", - "src": "14451:72:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3493, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14568:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3494, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14578:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3492, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2992, - "src": "14541:26:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 3495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14541:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 3496, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14589:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 3491, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14533:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14533:100:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3498, - "nodeType": "ExpressionStatement", - "src": "14533:100:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3499, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14672:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3501, - "indexExpression": { - "argumentTypes": null, - "id": 3500, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14679:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14672:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3502, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "14672:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3503, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14701:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14672:33:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3505, - "nodeType": "ExpressionStatement", - "src": "14672:33:7" - }, - { - "assignments": [ - 3507 - ], - "declarations": [ - { - "constant": false, - "id": 3507, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3602, - "src": "14715:26:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3506, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "14715:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3514, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3508, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14744:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3510, - "indexExpression": { - "argumentTypes": null, - "id": 3509, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14744:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "14744:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3513, - "indexExpression": { - "argumentTypes": null, - "id": 3512, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "14776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14744:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14715:70:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3518, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "14864:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3519, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "14864:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3520, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "14888:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3522, - "indexExpression": { - "argumentTypes": null, - "id": 3521, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "14895:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14888:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "14888:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3524, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "14920:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14888:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "14887:54:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14944:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "14887:60:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3516, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "14838:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3517, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "14838:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14838:110:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 3530, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14950:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 3515, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14830:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14830:138:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3532, - "nodeType": "ExpressionStatement", - "src": "14830:138:7" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "15076:216:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3552, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "15126:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3545, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "15090:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3550, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3546, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15099:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15099:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3549, - "indexExpression": { - "argumentTypes": null, - "id": 3548, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15117:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15099:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15090:30:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15090:35:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 3553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15090:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3554, - "nodeType": "ExpressionStatement", - "src": "15090:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15183:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15183:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3561, - "indexExpression": { - "argumentTypes": null, - "id": 3560, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15201:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15183:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3562, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15206:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3563, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "15206:15:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 3565, - "indexExpression": { - "argumentTypes": null, - "id": 3564, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15222:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15206:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15228:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3567, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "15232:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15228:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3569, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15227:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15206:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 3571, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15205:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 3572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15257:3:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15205:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3556, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "15157:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6547, - "src": "15157:25:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 3574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15157:104:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 3575, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15263:17:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 3555, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15149:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15149:132:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "ExpressionStatement", - "src": "15149:132:7" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3537, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15042:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3538, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15046:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15046:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 3540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15046:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15042:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3534 - ], - "declarations": [ - { - "constant": false, - "id": 3534, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3579, - "src": "15030:6:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3533, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15030:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3536, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15039:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15030:10:7" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15072:3:7", - "subExpression": { - "argumentTypes": null, - "id": 3542, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "15072:1:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3544, - "nodeType": "ExpressionStatement", - "src": "15072:3:7" - }, - "nodeType": "ForStatement", - "src": "15026:266:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3580, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "15302:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 3583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15338:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 3581, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2066, - "src": "15319:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "15319:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15319:21:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15302:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3586, - "nodeType": "ExpressionStatement", - "src": "15302:38:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "15350:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3590, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "15380:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3591, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "15380:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 3588, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2069, - "src": "15364:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 5895, - "src": "15364:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15364:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15350:49:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3594, - "nodeType": "ExpressionStatement", - "src": "15350:49:7" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3596, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "15425:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3597, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "15435:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3598, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "15445:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3599, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "15445:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 3595, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2221, - "src": "15414:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15414:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3601, - "nodeType": "EmitStatement", - "src": "15409:54:7" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 3603, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3442, - "modifierName": { - "argumentTypes": null, - "id": 3441, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9039, - "src": "14080:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14080:13:7" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3440, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3437, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3603, - "src": "14037:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3436, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14037:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3439, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3603, - "src": "14055:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3438, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14055:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14036:36:7" - }, - "returnParameters": { - "id": 3443, - "nodeType": "ParameterList", - "parameters": [], - "src": "14094:0:7" - }, - "scope": 3885, - "src": "14017:1453:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3615, - "nodeType": "Block", - "src": "15555:42:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3611, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2099, - "src": "15572:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 3613, - "indexExpression": { - "argumentTypes": null, - "id": 3612, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3605, - "src": "15581:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15572:18:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 3610, - "id": 3614, - "nodeType": "Return", - "src": "15565:25:7" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 3616, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3606, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3605, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3616, - "src": "15504:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15504:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15503:18:7" - }, - "returnParameters": { - "id": 3610, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3609, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3616, - "src": "15538:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15538:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3608, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15538:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15537:18:7" - }, - "scope": 3885, - "src": "15476:121:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3638, - "nodeType": "Block", - "src": "15672:136:7", - "statements": [ - { - "assignments": [ - 3624 - ], - "declarations": [ - { - "constant": false, - "id": 3624, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3638, - "src": "15682:19:7", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - }, - "typeName": { - "contractScope": null, - "id": 3623, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2168, - "src": "15682:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3628, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3625, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2103, - "src": "15704:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$2168_storage_$", - "typeString": "mapping(address => struct Network.Voter storage ref)" - } - }, - "id": 3627, - "indexExpression": { - "argumentTypes": null, - "id": 3626, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3618, - "src": "15711:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15704:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage", - "typeString": "struct Network.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15682:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3632, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "15770:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 3633, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 2162, - "src": "15770:20:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 3635, - "indexExpression": { - "argumentTypes": null, - "id": 3634, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3618, - "src": "15791:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15770:30:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3629, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "15737:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$2168_storage_ptr", - "typeString": "struct Network.Voter storage pointer" - } - }, - "id": 3630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 2158, - "src": "15737:28:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5874, - "src": "15737:32:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15737:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3622, - "id": 3637, - "nodeType": "Return", - "src": "15730:71:7" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 3639, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3619, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3618, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3639, - "src": "15630:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3617, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15630:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15629:18:7" - }, - "returnParameters": { - "id": 3622, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3621, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3639, - "src": "15664:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15664:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15663:9:7" - }, - "scope": 3885, - "src": "15603:205:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3688, - "nodeType": "Block", - "src": "15954:235:7", - "statements": [ - { - "assignments": [ - 3663 - ], - "declarations": [ - { - "constant": false, - "id": 3663, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3688, - "src": "15964:18:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue" - }, - "typeName": { - "contractScope": null, - "id": 3662, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2156, - "src": "15964:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage_ptr", - "typeString": "struct Network.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3667, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3664, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "15985:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3666, - "indexExpression": { - "argumentTypes": null, - "id": 3665, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3641, - "src": "15992:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15985:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15964:37:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3668, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16019:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3669, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2131, - "src": "16019:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3670, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16030:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3671, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "cid", - "nodeType": "MemberAccess", - "referencedDeclaration": 2133, - "src": "16030:9:7", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3672, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16041:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3673, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokensStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 2137, - "src": "16041:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3674, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16061:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3675, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 2135, - "src": "16061:18:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3676, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16081:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3677, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 2139, - "src": "16081:20:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3678, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16103:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 2145, - "src": "16103:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3680, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16126:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3681, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 2151, - "src": "16126:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3682, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3683, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "16150:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3684, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3663, - "src": "16167:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_memory_ptr", - "typeString": "struct Network.Issue memory" - } - }, - "id": 3685, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 2155, - "src": "16167:14:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3686, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16018:164:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_string_memory_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,string memory,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 3661, - "id": 3687, - "nodeType": "Return", - "src": "16011:171:7" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 3689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3641, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15840:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15839:18:7" - }, - "returnParameters": { - "id": 3661, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3644, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15874:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3643, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15874:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3646, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15883:13:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3645, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "15883:6:7", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3648, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15898:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15898:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15907:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15916:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3651, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15916:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3654, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15925:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15925:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3656, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15934:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15934:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3658, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15943:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3657, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15943:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3660, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3689, - "src": "15949:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3659, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "15949:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15873:81:7" - }, - "scope": 3885, - "src": "15818:371:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "16340:203:7", - "statements": [ - { - "assignments": [ - 3711 - ], - "declarations": [ - { - "constant": false, - "id": 3711, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3733, - "src": "16350:26:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 3710, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2129, - "src": "16350:13:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage_ptr", - "typeString": "struct Network.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3718, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3712, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "16379:6:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$2156_storage_$", - "typeString": "mapping(uint256 => struct Network.Issue storage ref)" - } - }, - "id": 3714, - "indexExpression": { - "argumentTypes": null, - "id": 3713, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3691, - "src": "16386:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16379:16:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$2156_storage", - "typeString": "struct Network.Issue storage ref" - } - }, - "id": 3715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 2149, - "src": "16379:31:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$2129_storage_$", - "typeString": "mapping(uint256 => struct Network.MergeProposal storage ref)" - } - }, - "id": 3717, - "indexExpression": { - "argumentTypes": null, - "id": 3716, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3693, - "src": "16411:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16379:41:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_storage", - "typeString": "struct Network.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16350:70:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3719, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16438:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3720, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 2108, - "src": "16438:9:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3721, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16449:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3722, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2118, - "src": "16449:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3723, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16462:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3724, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 2120, - "src": "16462:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3725, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16478:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3726, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 2123, - "src": "16478:17:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3727, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16497:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "16497:15:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3729, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3711, - "src": "16514:5:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$2129_memory_ptr", - "typeString": "struct Network.MergeProposal memory" - } - }, - "id": 3730, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 2128, - "src": "16514:21:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 3731, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16437:99:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 3709, - "id": 3732, - "nodeType": "Return", - "src": "16430:106:7" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3694, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3691, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16217:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16217:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3693, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16235:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3692, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16235:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16216:36:7" - }, - "returnParameters": { - "id": 3709, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3696, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16269:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3695, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16269:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3698, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16278:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3697, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16278:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3700, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16287:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3699, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3703, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16296:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3701, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16296:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3702, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16296:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3706, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16314:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3704, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16314:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3705, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16314:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3708, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3734, - "src": "16332:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3707, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16332:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16268:72:7" - }, - "scope": 3885, - "src": "16195:348:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3747, - "nodeType": "Block", - "src": "16691:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3741, - "name": "transactionToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2057, - "src": "16701:16:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3743, - "name": "_newToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "16728:9:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3742, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2046, - "src": "16720:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$2046_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 3744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16720:18:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "src": "16701:37:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$2046", - "typeString": "contract _IERC20" - } - }, - "id": 3746, - "nodeType": "ExpressionStatement", - "src": "16701:37:7" - } - ] - }, - "documentation": "@dev Change Transaction Token Address (Upgrade)", - "functionSelector": "eef432a5", - "id": 3748, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3739, - "modifierName": { - "argumentTypes": null, - "id": 3738, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "16678:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16678:12:7" - } - ], - "name": "changeTransactionToken", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3737, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "_newToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3748, - "src": "16652:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3735, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16652:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16651:19:7" - }, - "returnParameters": { - "id": 3740, - "nodeType": "ParameterList", - "parameters": [], - "src": "16691:0:7" - }, - "scope": 3885, - "src": "16620:125:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3766, - "nodeType": "Block", - "src": "16896:146:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3756, - "name": "_mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "16914:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 3757, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16938:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "src": "16914:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652053686172652063616ec2b47420626520686967686572207468616e203230", - "id": 3759, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "16942:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_08b12deca7cdf0d64bcdcc4b2e78afcf5cb7d418241aa72bbc2ea0a09c102b0a", - "typeString": "literal_string \"Merge Share can´t be higher than 20\"" - }, - "value": "Merge Share can´t be higher than 20" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_08b12deca7cdf0d64bcdcc4b2e78afcf5cb7d418241aa72bbc2ea0a09c102b0a", - "typeString": "literal_string \"Merge Share can´t be higher than 20\"" - } - ], - "id": 3755, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "16906:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16906:75:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3761, - "nodeType": "ExpressionStatement", - "src": "16906:75:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3762, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "16991:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3763, - "name": "_mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "17014:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "16991:44:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3765, - "nodeType": "ExpressionStatement", - "src": "16991:44:7" - } - ] - }, - "documentation": "@dev Change Merge Creator FeeShare", - "functionSelector": "6dc6803f", - "id": 3767, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3753, - "modifierName": { - "argumentTypes": null, - "id": 3752, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "16883:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16883:12:7" - } - ], - "name": "changeMergeCreatorFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3750, - "name": "_mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3767, - "src": "16845:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16845:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16844:31:7" - }, - "returnParameters": { - "id": 3754, - "nodeType": "ParameterList", - "parameters": [], - "src": "16896:0:7" - }, - "scope": 3885, - "src": "16809:233:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3785, - "nodeType": "Block", - "src": "17210:169:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3777, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3775, - "name": "_percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "17228:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17258:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "src": "17228:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "417070726f76652025204e65656465642063616ec2b47420626520686967686572207468616e203830", - "id": 3778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17262:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fca168b4cb27db9f45cad45ed607f6786a04d4f24e7f123c16ac8045fa83769d", - "typeString": "literal_string \"Approve % Needed can´t be higher than 80\"" - }, - "value": "Approve % Needed can´t be higher than 80" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fca168b4cb27db9f45cad45ed607f6786a04d4f24e7f123c16ac8045fa83769d", - "typeString": "literal_string \"Approve % Needed can´t be higher than 80\"" - } - ], - "id": 3774, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17220:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17220:86:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3780, - "nodeType": "ExpressionStatement", - "src": "17220:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3781, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "17316:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3782, - "name": "_percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3769, - "src": "17345:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17316:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3784, - "nodeType": "ExpressionStatement", - "src": "17316:56:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForApprove", - "functionSelector": "77f25478", - "id": 3786, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3772, - "modifierName": { - "argumentTypes": null, - "id": 3771, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17197:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17197:12:7" - } - ], - "name": "changePercentageNeededForApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3769, - "name": "_percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3786, - "src": "17153:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3768, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17153:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17152:37:7" - }, - "returnParameters": { - "id": 3773, - "nodeType": "ParameterList", - "parameters": [], - "src": "17210:0:7" - }, - "scope": 3885, - "src": "17111:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3804, - "nodeType": "Block", - "src": "17545:169:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3796, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3794, - "name": "_percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "17563:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3135", - "id": 3795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17593:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_15_by_1", - "typeString": "int_const 15" - }, - "value": "15" - }, - "src": "17563:32:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446973707574652025204e65656465642063616ec2b47420626520686967686572207468616e203135", - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17597:43:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79cd1dd2270f1e118c01da5a646c824690d8c66bebb4783cc679175b95d225eb", - "typeString": "literal_string \"Dispute % Needed can´t be higher than 15\"" - }, - "value": "Dispute % Needed can´t be higher than 15" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79cd1dd2270f1e118c01da5a646c824690d8c66bebb4783cc679175b95d225eb", - "typeString": "literal_string \"Dispute % Needed can´t be higher than 15\"" - } - ], - "id": 3793, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17555:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17555:86:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3799, - "nodeType": "ExpressionStatement", - "src": "17555:86:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3800, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2078, - "src": "17651:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3801, - "name": "_percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "17680:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17651:56:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3803, - "nodeType": "ExpressionStatement", - "src": "17651:56:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForDispute", - "functionSelector": "9d0d6610", - "id": 3805, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3791, - "modifierName": { - "argumentTypes": null, - "id": 3790, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17532:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17532:12:7" - } - ], - "name": "changePercentageNeededForDispute", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3788, - "name": "_percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3805, - "src": "17488:35:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17488:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17487:37:7" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [], - "src": "17545:0:7" - }, - "scope": 3885, - "src": "17446:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3823, - "nodeType": "Block", - "src": "17874:173:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3813, - "name": "_percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "17892:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3830", - "id": 3814, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17920:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_80_by_1", - "typeString": "int_const 80" - }, - "value": "80" - }, - "src": "17892:30:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "417070726f766520666f72204d657267652025204e65656465642063616ec2b47420626520686967686572207468616e203830", - "id": 3816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "17924:53:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5c3296f41ea9209492bc02c79738221846a732302c3e5395597325bc74f521b9", - "typeString": "literal_string \"Approve for Merge % Needed can´t be higher than 80\"" - }, - "value": "Approve for Merge % Needed can´t be higher than 80" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5c3296f41ea9209492bc02c79738221846a732302c3e5395597325bc74f521b9", - "typeString": "literal_string \"Approve for Merge % Needed can´t be higher than 80\"" - } - ], - "id": 3812, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "17884:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "17884:94:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3818, - "nodeType": "ExpressionStatement", - "src": "17884:94:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3819, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2084, - "src": "17988:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3820, - "name": "_percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3807, - "src": "18015:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17988:52:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3822, - "nodeType": "ExpressionStatement", - "src": "17988:52:7" - } - ] - }, - "documentation": "@dev changePercentageNeededForMerge", - "functionSelector": "93b24154", - "id": 3824, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3810, - "modifierName": { - "argumentTypes": null, - "id": 3809, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "17861:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17861:12:7" - } - ], - "name": "changePercentageNeededForMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3808, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3807, - "name": "_percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3824, - "src": "17819:33:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3806, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17819:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17818:35:7" - }, - "returnParameters": { - "id": 3811, - "nodeType": "ParameterList", - "parameters": [], - "src": "17874:0:7" - }, - "scope": 3885, - "src": "17779:268:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3849, - "nodeType": "Block", - "src": "18205:295:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3832, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18223:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3230", - "id": 3833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18250:7:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_1728000_by_1", - "typeString": "int_const 1728000" - }, - "value": "20" - }, - "src": "18223:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e206c6f776572207468616e2032302064617973", - "id": 3835, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18259:62:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a45f5e9ca3fcce966b6079f7e32fb2abe825a38e25b4150e8d6d795daf982dea", - "typeString": "literal_string \"Time open for issue has to be higher than lower than 20 days\"" - }, - "value": "Time open for issue has to be higher than lower than 20 days" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a45f5e9ca3fcce966b6079f7e32fb2abe825a38e25b4150e8d6d795daf982dea", - "typeString": "literal_string \"Time open for issue has to be higher than lower than 20 days\"" - } - ], - "id": 3831, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18215:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18215:107:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3837, - "nodeType": "ExpressionStatement", - "src": "18215:107:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3841, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3839, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18340:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18368:9:7", - "subdenomination": "minutes", - "typeDescriptions": { - "typeIdentifier": "t_rational_60_by_1", - "typeString": "int_const 60" - }, - "value": "1" - }, - "src": "18340:37:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d65206f70656e20666f722069737375652068617320746f20626520686967686572207468616e2031206d696e75746573", - "id": 3842, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18379:53:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_303998635858b0ba9fc041946f8f2f8ba67d923f3f8166d5afdb7392bf5374fc", - "typeString": "literal_string \"Time open for issue has to be higher than 1 minutes\"" - }, - "value": "Time open for issue has to be higher than 1 minutes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_303998635858b0ba9fc041946f8f2f8ba67d923f3f8166d5afdb7392bf5374fc", - "typeString": "literal_string \"Time open for issue has to be higher than 1 minutes\"" - } - ], - "id": 3838, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18332:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3843, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18332:101:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3844, - "nodeType": "ExpressionStatement", - "src": "18332:101:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3847, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3845, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2081, - "src": "18443:23:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3846, - "name": "_timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3826, - "src": "18469:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18443:50:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3848, - "nodeType": "ExpressionStatement", - "src": "18443:50:7" - } - ] - }, - "documentation": "@dev changeTimeOpenForIssueApprove", - "functionSelector": "95d9c424", - "id": 3850, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3829, - "modifierName": { - "argumentTypes": null, - "id": 3828, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "18192:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18192:12:7" - } - ], - "name": "changeTimeOpenForIssueApprove", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3826, - "name": "_timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3850, - "src": "18151:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3825, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18151:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18150:34:7" - }, - "returnParameters": { - "id": 3830, - "nodeType": "ParameterList", - "parameters": [], - "src": "18205:0:7" - }, - "scope": 3885, - "src": "18112:388:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 3883, - "nodeType": "Block", - "src": "18638:234:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3858, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18656:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000" - }, - "id": 3863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030303030", - "id": 3859, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18674:6:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000_by_1", - "typeString": "int_const 100000" - }, - "value": "100000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3860, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18681:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18685:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "18681:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "18674:13:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000" - } - }, - "src": "18656:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f756e63696c20416d6f756e742068617320746f20686967686572207468616e203130306b", - "id": 3865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18689:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0967b023ee2ee3e953002b416c5e8a6a73bcecd31ff00cedf2618b30008665a2", - "typeString": "literal_string \"Council Amount has to higher than 100k\"" - }, - "value": "Council Amount has to higher than 100k" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0967b023ee2ee3e953002b416c5e8a6a73bcecd31ff00cedf2618b30008665a2", - "typeString": "literal_string \"Council Amount has to higher than 100k\"" - } - ], - "id": 3857, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18648:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18648:82:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3867, - "nodeType": "ExpressionStatement", - "src": "18648:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3869, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18748:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_100000000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000000" - }, - "id": 3874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030303030303030", - "id": 3870, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18766:9:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000_by_1", - "typeString": "int_const 100000000" - }, - "value": "100000000" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 3873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3871, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18776:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 3872, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18780:2:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "18776:6:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "18766:16:7", - "typeDescriptions": { - "typeIdentifier": "t_rational_100000000000000000000000000_by_1", - "typeString": "int_const 100000000000000000000000000" - } - }, - "src": "18748:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "436f756e63696c20416d6f756e742068617320746f206c6f776572207468616e2035304d", - "id": 3876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "18784:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a7546c8fa557b3aa8cc9b9a01f95e84a565f7d78efd607f3a50f90d44558e397", - "typeString": "literal_string \"Council Amount has to lower than 50M\"" - }, - "value": "Council Amount has to lower than 50M" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a7546c8fa557b3aa8cc9b9a01f95e84a565f7d78efd607f3a50f90d44558e397", - "typeString": "literal_string \"Council Amount has to lower than 50M\"" - } - ], - "id": 3868, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "18740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "18740:83:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3878, - "nodeType": "ExpressionStatement", - "src": "18740:83:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 3881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3879, - "name": "COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2090, - "src": "18833:14:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3880, - "name": "_COUNCIL_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3852, - "src": "18850:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "18833:32:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3882, - "nodeType": "ExpressionStatement", - "src": "18833:32:7" - } - ] - }, - "documentation": "@dev changeTimeOpenForIssueApprove", - "functionSelector": "b4f42601", - "id": 3884, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 3855, - "modifierName": { - "argumentTypes": null, - "id": 3854, - "name": "onlyGovernor", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4745, - "src": "18625:12:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "18625:12:7" - } - ], - "name": "changeCOUNCIL_AMOUNT", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 3853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3852, - "name": "_COUNCIL_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 3884, - "src": "18593:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "18593:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "18592:25:7" - }, - "returnParameters": { - "id": 3856, - "nodeType": "ParameterList", - "parameters": [], - "src": "18638:0:7" - }, - "scope": 3885, - "src": "18563:309:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 3886, - "src": "533:18344:7" - } - ], - "src": "0:18878:7" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-01T19:21:38.615Z", - "devdoc": { - "methods": { - "changeCOUNCIL_AMOUNT(uint256)": { - "details": "changeTimeOpenForIssueApprove" - }, - "changeMergeCreatorFeeShare(uint256)": { - "details": "Change Merge Creator FeeShare" - }, - "changePercentageNeededForApprove(uint256)": { - "details": "changePercentageNeededForApprove" - }, - "changePercentageNeededForDispute(uint256)": { - "details": "changePercentageNeededForDispute" - }, - "changePercentageNeededForMerge(uint256)": { - "details": "changePercentageNeededForMerge" - }, - "changeTimeOpenForIssueApprove(uint256)": { - "details": "changeTimeOpenForIssueApprove" - }, - "changeTransactionToken(address)": { - "details": "Change Transaction Token Address (Upgrade)" - }, - "closeIssue(uint256,uint256)": { - "details": "Owner finalizes the issue and distributes the transaction tokens or rejects the PR", - "params": { - "_issueID": "issue id (mapping with github)", - "_mergeID": "merge id " - } - }, - "openIssue(string,uint256)": { - "details": "open an Issue with transaction Tokens owned 1st step" - }, - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "proposeIssueMerge(uint256,address[],uint256[])": { - "details": "Owner finalizes the issue and distributes the transaction tokens or rejects the PR", - "params": { - "_issueID": "issue id (mapping with github)", - "_prAddresses": "PR Address", - "_prAmounts": "PR Amounts" - } - }, - "transferGovernor(address)": { - "details": "Allows the current governor to transfer control of the contract to a newGovernor.", - "params": { - "newGovernor": "The address to transfer governorship to." - } - }, - "updateIssue(uint256,uint256)": { - "details": "update an Issue with transaction tokens owned 2nd step (optional)" - } - }, - "title": "Development Network Contract Autonomous Use" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Opener.json b/build/contracts/Opener.json deleted file mode 100644 index b0954df2..00000000 --- a/build/contracts/Opener.json +++ /dev/null @@ -1,16850 +0,0 @@ -{ - "contractName": "Opener", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "purchaseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "baseFeeAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "otherAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "limitedAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "openedPacks", - "type": "uint256" - } - ], - "name": "Opening", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "MAX_PURCHASE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_baseFeeAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_baseFeeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_closed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_currentTokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_feeAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_feeShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_isLimited", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_limitedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_openedPacks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_otherAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_otherShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_pricePerPack", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_purchaseToken", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "alreadyMinted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDs", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDsArray", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "feeShare", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "otherShare", - "type": "uint256" - } - ], - "name": "setShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "purchaseToken", - "type": "address" - } - ], - "name": "setPurchaseTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setPricePerPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "feeAddress", - "type": "address" - } - ], - "name": "setFeeAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "otherAddress", - "type": "address" - } - ], - "name": "setOtherAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"purchaseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseFeeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"limitedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"openedPacks\",\"type\":\"uint256\"}],\"name\":\"Opening\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_PURCHASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_baseFeeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_baseFeeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_closed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_currentTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_feeAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_feeShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_isLimited\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_limitedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_openedPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_otherAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_otherShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_pricePerPack\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_purchaseToken\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"alreadyMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDsArray\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeAddress\",\"type\":\"address\"}],\"name\":\"setFeeAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"otherAddress\",\"type\":\"address\"}],\"name\":\"setOtherAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setPricePerPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"purchaseToken\",\"type\":\"address\"}],\"name\":\"setPurchaseTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"feeShare\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"otherShare\",\"type\":\"uint256\"}],\"name\":\"setShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":\"Opener\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol\":{\"keccak256\":\"0xca13d9073b93953cb5c2e880cac04c7468603679a1d75f8692aad9057f3098b4\",\"urls\":[\"bzz-raw://f2b01995565cd4b08581a76277a04ac4848431a4958d351808fb04c5aca0aa38\",\"dweb:/ipfs/QmYywnxuH7K2e7dJvjHg3pr5LFccXvgkdpRpEUD2zk96oP\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60806040526004805460ff60a01b191690556103e8600555670de0b6b3a76400006007556001600b556063600c556000600d819055600a600e55600f805460ff1916905560105534801561005257600080fd5b506040516107f63803806107f6833981810160405260a081101561007557600080fd5b50805160208201516040830151606084015160809094015160008054336001600160a01b0319918216179091556001805482166001600160a01b038088169190911790915560028054831682871617905560038054831682861617905560048054909216908716179055929391929091908015610100576004805460ff60a01b1916600160a01b1790555b600655505050506106e0806101166000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063c963483c11610097578063f24a9e4e11610071578063f24a9e4e14610350578063f2fde38b14610358578063f4d369861461037e578063f83d08ba146103a45761018e565b8063c963483c14610338578063dd7c5e5414610340578063eb8800d0146103485761018e565b80638da5cb5b146102de5780639456b232146102e657806398bdd803146102ee578063a69df4b51461030b578063b7365f1f14610313578063c3a9896d146103305761018e565b80632f80f7501161014b5780637146bd08116101255780637146bd08146102a0578063759b2b3c146102a8578063790411be146102b05780638705fcd4146102b85761018e565b80632f80f7501461028857806353facd011461029057806369c7d8a3146102985761018e565b80630119b740146101935780630135f740146101af57806301d243a6146101d35780631e14a53314610211578063298489d21461023d5780632aca3e7d14610265575b600080fd5b61019b6103ac565b604080519115158252519081900360200190f35b6101b76103bc565b604080516001600160a01b039092168252519081900360200190f35b6101ff600480360360408110156101e957600080fd5b506001600160a01b0381351690602001356103cb565b60408051918252519081900360200190f35b61019b6004803603604081101561022757600080fd5b506001600160a01b0381351690602001356103f9565b6102636004803603602081101561025357600080fd5b50356001600160a01b0316610419565b005b6102636004803603604081101561027b57600080fd5b5080359060200135610452565b6101b76104c4565b6101ff6104d3565b6101b76104d9565b6101ff6104e8565b6101ff6104ee565b6101ff6104f4565b610263600480360360208110156102ce57600080fd5b50356001600160a01b03166104fa565b6101b7610533565b6101b7610542565b6102636004803603602081101561030457600080fd5b5035610551565b61026361056d565b61019b6004803603602081101561032957600080fd5b5035610590565b6101ff6105a5565b6101ff6105ab565b61019b6105b1565b6101ff6105ba565b6101ff6105c0565b6102636004803603602081101561036e57600080fd5b50356001600160a01b03166105c6565b6102636004803603602081101561039457600080fd5b50356001600160a01b031661064b565b610263610684565b600454600160a01b900460ff1681565b6003546001600160a01b031681565b600960205281600052604060002081815481106103e457fe5b90600052602060002001600091509150505481565b600860209081526000928352604080842090915290825290205460ff1681565b6000546001600160a01b0316331461043057600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461046957600080fd5b600b54828201016064146104bc576040805162461bcd60e51b81526020600482015260156024820152740446f65736e27742061646420757020746f2031303605c1b604482015290519081900360640190fd5b600d55600c55565b6004546001600160a01b031681565b600b5481565b6001546001600160a01b031681565b600e5481565b60065481565b60075481565b6000546001600160a01b0316331461051157600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b0316331461056857600080fd5b600755565b6000546001600160a01b0316331461058457600080fd5b600f805460ff19169055565b600a6020526000908152604090205460ff1681565b600c5481565b60055481565b600f5460ff1681565b60105481565b600d5481565b6000546001600160a01b031633146105dd57600080fd5b6001600160a01b0381166105f057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461066257600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461069b57600080fd5b600f805460ff1916600117905556fea26469706673582212209b434201ffa9db8173e3b92df8ece3861cea7d759949ca2197e1eb4ea4ba4ca664736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063c963483c11610097578063f24a9e4e11610071578063f24a9e4e14610350578063f2fde38b14610358578063f4d369861461037e578063f83d08ba146103a45761018e565b8063c963483c14610338578063dd7c5e5414610340578063eb8800d0146103485761018e565b80638da5cb5b146102de5780639456b232146102e657806398bdd803146102ee578063a69df4b51461030b578063b7365f1f14610313578063c3a9896d146103305761018e565b80632f80f7501161014b5780637146bd08116101255780637146bd08146102a0578063759b2b3c146102a8578063790411be146102b05780638705fcd4146102b85761018e565b80632f80f7501461028857806353facd011461029057806369c7d8a3146102985761018e565b80630119b740146101935780630135f740146101af57806301d243a6146101d35780631e14a53314610211578063298489d21461023d5780632aca3e7d14610265575b600080fd5b61019b6103ac565b604080519115158252519081900360200190f35b6101b76103bc565b604080516001600160a01b039092168252519081900360200190f35b6101ff600480360360408110156101e957600080fd5b506001600160a01b0381351690602001356103cb565b60408051918252519081900360200190f35b61019b6004803603604081101561022757600080fd5b506001600160a01b0381351690602001356103f9565b6102636004803603602081101561025357600080fd5b50356001600160a01b0316610419565b005b6102636004803603604081101561027b57600080fd5b5080359060200135610452565b6101b76104c4565b6101ff6104d3565b6101b76104d9565b6101ff6104e8565b6101ff6104ee565b6101ff6104f4565b610263600480360360208110156102ce57600080fd5b50356001600160a01b03166104fa565b6101b7610533565b6101b7610542565b6102636004803603602081101561030457600080fd5b5035610551565b61026361056d565b61019b6004803603602081101561032957600080fd5b5035610590565b6101ff6105a5565b6101ff6105ab565b61019b6105b1565b6101ff6105ba565b6101ff6105c0565b6102636004803603602081101561036e57600080fd5b50356001600160a01b03166105c6565b6102636004803603602081101561039457600080fd5b50356001600160a01b031661064b565b610263610684565b600454600160a01b900460ff1681565b6003546001600160a01b031681565b600960205281600052604060002081815481106103e457fe5b90600052602060002001600091509150505481565b600860209081526000928352604080842090915290825290205460ff1681565b6000546001600160a01b0316331461043057600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461046957600080fd5b600b54828201016064146104bc576040805162461bcd60e51b81526020600482015260156024820152740446f65736e27742061646420757020746f2031303605c1b604482015290519081900360640190fd5b600d55600c55565b6004546001600160a01b031681565b600b5481565b6001546001600160a01b031681565b600e5481565b60065481565b60075481565b6000546001600160a01b0316331461051157600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b0316331461056857600080fd5b600755565b6000546001600160a01b0316331461058457600080fd5b600f805460ff19169055565b600a6020526000908152604090205460ff1681565b600c5481565b60055481565b600f5460ff1681565b60105481565b600d5481565b6000546001600160a01b031633146105dd57600080fd5b6001600160a01b0381166105f057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461066257600080fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461069b57600080fd5b600f805460ff1916600117905556fea26469706673582212209b434201ffa9db8173e3b92df8ece3861cea7d759949ca2197e1eb4ea4ba4ca664736f6c63430006020033", - "sourceMap": "204:3935:3:-:0;;;406:30;;;-1:-1:-1;;;;406:30:3;;;475:4;442:37;;551:8;520:39;;406:30;950:32;;1015:2;988:29;;431:5;1023:30;;;;1089:2;1059:32;;1098:27;;;-1:-1:-1;;1098:27:3;;;1131:31;;1169:449;5:2:-1;;;;30:1;27;20:12;5:2;1169:449:3;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;1169:449:3;;;;;;;;;;;;;;;;;;;508:5:11;:18;;516:10;-1:-1:-1;;;;;;508:18:11;;;;;;;-1:-1:-1;1354:30:3;;;;-1:-1:-1;;;;;1354:30:3;;;;;;;;;;1394:15;:32;;;;;;;;;;1436:11;:24;;;;;;;;;;1470:13;:28;;;;;;;;;;;1169:449;;;;;;;1511:18;;1508:64;;1544:10;:17;;-1:-1:-1;;;;1544:17:3;-1:-1:-1;;;1544:17:3;;;1508:64;1581:14;:30;-1:-1:-1;;;;204:3935:3;;;;;;", - "deployedSourceMap": "204:3935:3:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;204:3935:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;406:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;340:26;;;:::i;:::-;;;;-1:-1:-1;;;;;340:26:3;;;;;;;;;;;;;;758:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;758:55:3;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;687:65;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;687:65:3;;;;;;;;:::i;3547:118::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3547:118:3;-1:-1:-1;;;;;3547:118:3;;:::i;:::-;;3250:290;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3250:290:3;;;;;;;:::i;372:28::-;;;:::i;950:32::-;;;:::i;271:27::-;;;:::i;1059:32::-;;;:::i;485:29::-;;;:::i;520:39::-;;;:::i;3778:101::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3778:101:3;-1:-1:-1;;;;;3778:101:3;;:::i;239:20:11:-;;;:::i;304:30:3:-;;;:::i;3671:101::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3671:101:3;;:::i;4070:67::-;;;:::i;819:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;819:45:3;;:::i;988:29::-;;;:::i;442:37::-;;;:::i;1098:27::-;;;:::i;1131:31::-;;;:::i;1023:30::-;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;3885:109:3:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3885:109:3;-1:-1:-1;;;;;3885:109:3;;:::i;4000:64::-;;;:::i;406:30::-;;;-1:-1:-1;;;406:30:3;;;;;:::o;340:26::-;;;-1:-1:-1;;;;;340:26:3;;:::o;758:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;687:65::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3547:118::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3628:14:3::1;:30:::0;;-1:-1:-1;;;;;;3628:30:3::1;-1:-1:-1::0;;;;;3628:30:3;;;::::1;::::0;;;::::1;::::0;;3547:118::o;3250:290::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3401:13:3::1;;3390:8;3377:10;:21;:37;3418:3;3377:44;3356:112;;;::::0;;-1:-1:-1;;;3356:112:3;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;3356:112:3;;;;;;;;;;;;;::::1;;3479:11;:24:::0;3513:9:::1;:20:::0;3250:290::o;372:28::-;;;-1:-1:-1;;;;;372:28:3;;:::o;950:32::-;;;;:::o;271:27::-;;;-1:-1:-1;;;;;271:27:3;;:::o;1059:32::-;;;;:::o;485:29::-;;;;:::o;520:39::-;;;;:::o;3778:101::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3848:11:3::1;:24:::0;;-1:-1:-1;;;;;;3848:24:3::1;-1:-1:-1::0;;;;;3848:24:3;;;::::1;::::0;;;::::1;::::0;;3778:101::o;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;304:30:3:-;;;-1:-1:-1;;;;;304:30:3;;:::o;3671:101::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3741:13:3::1;:24:::0;3671:101::o;4070:67::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4115:7:3::1;:15:::0;;-1:-1:-1;;4115:15:3::1;::::0;;4070:67::o;819:45::-;;;;;;;;;;;;;;;:::o;988:29::-;;;;:::o;442:37::-;;;;:::o;1098:27::-;;;;;;:::o;1131:31::-;;;;:::o;1023:30::-;;;;:::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;3885:109:3:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;3959:13:3::1;:28:::0;;-1:-1:-1;;;;;;3959:28:3::1;-1:-1:-1::0;;;;;3959:28:3;;;::::1;::::0;;;::::1;::::0;;3885:109::o;4000:64::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;4043:7:3::1;:14:::0;;-1:-1:-1;;4043:14:3::1;4053:4;4043:14;::::0;;4000:64::o", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract Opener is Ownable {\n using SafeMath for uint256;\n\n ERC20 public _purchaseToken;\n address public _baseFeeAddress;\n address public _feeAddress;\n address public _otherAddress;\n bool public _isLimited = false;\n uint256 public _currentTokenId = 1000;\n uint256 public _limitedAmount;\n uint256 public _pricePerPack = 1*10**18;\n\n // Mapping from address to bool, if egg was already claimed\n // The hash is about the userId and the nftIds array\n mapping(address => mapping(uint256 => bool)) public registeredIDs;\n mapping(address => uint256[]) public registeredIDsArray;\n mapping(uint256 => bool) public alreadyMinted;\n\n event Opening(address indexed from, uint256 amount, uint256 openedPacks);\n\n uint256 public _baseFeeShare = 1;\n uint256 public _feeShare = 99;\n uint256 public _otherShare = 0;\n uint256 public MAX_PURCHASE = 10;\n\n bool public _closed = false;\n uint256 public _openedPacks = 0;\n\n constructor(\n ERC20 purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress,\n uint256 limitedAmount\n ) public {\n _purchaseToken = purchaseToken;\n _baseFeeAddress = baseFeeAddress;\n _feeAddress = feeAddress;\n _otherAddress = otherAddress;\n if(limitedAmount != 0){\n _isLimited = true;\n }\n _limitedAmount = limitedAmount;\n }\n\n function _openPack(uint256 amount) internal {\n require(!_closed, \"Opener is locked\");\n uint256 totalPrice = _pricePerPack.mul(amount);\n\n require(_purchaseToken.allowance(msg.sender, address(this)) >= totalPrice, \"Not enough money per pack\");\n\n address from = msg.sender;\n\n require(amount <= MAX_PURCHASE, \"Max purchase per tx reached\");\n\n if(_isLimited){\n require(_limitedAmount >= _openedPacks.add(amount), \"Amount of packs not available\");\n }\n\n _distributePackShares(from, totalPrice);\n\n emit Opening(from, amount, _openedPacks);\n _openedPacks += amount;\n\n for(uint i = _currentTokenId; i < _currentTokenId.add(amount); i++){\n registeredIDs[msg.sender][i] = true;\n registeredIDsArray[msg.sender].push(i);\n }\n\n _currentTokenId += amount;\n _pricePerPack = _pricePerPack*109/100;\n }\n\n function _distributePackShares(address from, uint256 amount) internal {\n //transfer of fee share\n _purchaseToken.transferFrom(from, _baseFeeAddress, (amount * _baseFeeShare) / 100);\n\n if(address(_feeShare) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _feeAddress,\n (amount * _feeShare) / 100\n );\n }\n\n if(address(_otherAddress) != address(0)){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n _otherAddress,\n (amount * _otherShare) / 100\n );\n }\n }\n\n function setShares(\n uint256 feeShare,\n uint256 otherShare\n ) public onlyOwner {\n require(\n otherShare + feeShare + _baseFeeShare == 100,\n \"Doesn't add up to 100\"\n );\n\n _otherShare = otherShare;\n _feeShare = feeShare;\n }\n\n\n function setPurchaseTokenAddress(ERC20 purchaseToken) public onlyOwner {\n _purchaseToken = purchaseToken;\n }\n\n function setPricePerPack(uint256 newPrice) public onlyOwner {\n _pricePerPack = newPrice;\n }\n\n function setFeeAddress(address feeAddress) public onlyOwner {\n _feeAddress = feeAddress;\n }\n\n function setOtherAddress(address otherAddress) public onlyOwner {\n _otherAddress = otherAddress;\n }\n\n function lock() public onlyOwner {\n _closed = true;\n }\n\n function unlock() public onlyOwner {\n _closed = false;\n }\n}\n\n// ERC721Standard made for a simple structure, owner generates himself the NFT he wants (direct minting)\ncontract ERC721Standard is ERC721, Ownable {\n\n constructor (string memory name, string memory symbol) public ERC721(name, symbol) { }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(address to, uint256 tokenId) public onlyOwner {\n _safeMint(to, tokenId);\n }\n\n function mint(address to, uint256 tokenId, bytes memory _data) public onlyOwner {\n _safeMint(to, tokenId, _data);\n }\n}\n\n// ERC721Colectibles made for a Cryptokitties/Polkamon like structure, where an hash is given by the owner based on a purchase of a package\n// Can be limited or unlimited\ncontract ERC721Colectibles is Opener, ERC721 {\n\n constructor (\n string memory name, string memory symbol,\n uint256 limitedAmount,\n ERC20 _purchaseToken,\n address baseFeeAddress,\n address feeAddress,\n address otherAddress) public ERC721(name, symbol) \n Opener(_purchaseToken, baseFeeAddress, feeAddress, otherAddress, limitedAmount)\n {\n }\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n function mint(uint256 tokenIdToMint) public {\n require(\n tokenIdToMint <= _currentTokenId, \n \"Token Id not registered\"\n );\n\n require(registeredIDs[msg.sender][tokenIdToMint], \"Token was not registered or not the rightful owner\");\n require(!alreadyMinted[tokenIdToMint], \"Already minted\");\n\n alreadyMinted[tokenIdToMint] = true;\n _safeMint(msg.sender, tokenIdToMint);\n }\n\n function openPack(uint256 amount) public {\n _openPack(amount);\n }\n\n function getRegisteredIDs(address _address) public view returns(uint256[] memory) {\n return registeredIDsArray[_address];\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC721Factory.sol", - "exportedSymbols": { - "ERC721Colectibles": [ - 1122 - ], - "ERC721Standard": [ - 983 - ], - "Opener": [ - 894 - ] - }, - "id": 1123, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 494, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:3" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 495, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 10301, - "src": "59:57:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 496, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 9319, - "src": "117:55:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 497, - "nodeType": "ImportDirective", - "scope": 1123, - "sourceUnit": 8431, - "src": "173:29:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 498, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "224:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 499, - "nodeType": "InheritanceSpecifier", - "src": "224:7:3" - } - ], - "contractDependencies": [ - 8430 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 894, - "linearizedBaseContracts": [ - 894, - 8430 - ], - "name": "Opener", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 502, - "libraryName": { - "contractScope": null, - "id": 500, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "244:8:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "238:27:3", - "typeName": { - "id": 501, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "257:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 504, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "271:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 503, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "271:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9456b232", - "id": 506, - "name": "_baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "304:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0135f740", - "id": 508, - "name": "_feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "340:26:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 507, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "340:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "2f80f750", - "id": 510, - "name": "_otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "372:28:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 509, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "0119b740", - "id": 513, - "name": "_isLimited", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "406:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "406:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 512, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "431:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c963483c", - "id": 516, - "name": "_currentTokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "442:37:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "442:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030", - "id": 515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "475:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "value": "1000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "759b2b3c", - "id": 518, - "name": "_limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "485:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 517, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "485:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "790411be", - "id": 525, - "name": "_pricePerPack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "520:39:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 519, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "520:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "551:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "553:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "557:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "553:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "551:8:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 531, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "687:65:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 530, - "keyType": { - "id": 526, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "695:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "687:44:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 529, - "keyType": { - "id": 527, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "714:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "706:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 528, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "725:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 536, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "758:55:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 535, - "keyType": { - "id": 532, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "766:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "758:29:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "777:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "777:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 540, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "819:45:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 539, - "keyType": { - "id": 537, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "819:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 538, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "838:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 548, - "name": "Opening", - "nodeType": "EventDefinition", - "parameters": { - "id": 547, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 542, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "885:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "885:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 544, - "indexed": false, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "907:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 543, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "907:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 546, - "indexed": false, - "name": "openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 548, - "src": "923:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "923:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "884:59:3" - }, - "src": "871:73:3" - }, - { - "constant": false, - "functionSelector": "53facd01", - "id": 551, - "name": "_baseFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "950:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 549, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "950:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 550, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "981:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c3a9896d", - "id": 554, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "988:29:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 552, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3939", - "id": 553, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1015:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_99_by_1", - "typeString": "int_const 99" - }, - "value": "99" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f24a9e4e", - "id": 557, - "name": "_otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1023:30:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 555, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1023:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 556, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1052:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "7146bd08", - "id": 560, - "name": "MAX_PURCHASE", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1059:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 558, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1089:2:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 563, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1098:27:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 561, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1098:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1120:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 566, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 894, - "src": "1131:31:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 564, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1131:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 565, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1161:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "body": { - "id": 608, - "nodeType": "Block", - "src": "1344:274:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 579, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1354:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 580, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 568, - "src": "1371:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "1354:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 582, - "nodeType": "ExpressionStatement", - "src": "1354:30:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 585, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 583, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "1394:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 584, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 570, - "src": "1412:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1394:32:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 586, - "nodeType": "ExpressionStatement", - "src": "1394:32:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 589, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 587, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "1436:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 588, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 572, - "src": "1450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1436:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 590, - "nodeType": "ExpressionStatement", - "src": "1436:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 591, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "1470:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 592, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 574, - "src": "1486:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1470:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 594, - "nodeType": "ExpressionStatement", - "src": "1470:28:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 597, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 595, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1511:18:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 603, - "nodeType": "IfStatement", - "src": "1508:64:3", - "trueBody": { - "id": 602, - "nodeType": "Block", - "src": "1530:42:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 598, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "1544:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1557:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1544:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 601, - "nodeType": "ExpressionStatement", - "src": "1544:17:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "id": 606, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 604, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "1581:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 605, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 576, - "src": "1598:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1581:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 607, - "nodeType": "ExpressionStatement", - "src": "1581:30:3" - } - ] - }, - "documentation": null, - "id": 609, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 577, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 568, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1190:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 567, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1190:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 570, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1219:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 569, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1219:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 572, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1251:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 571, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1251:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 574, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1279:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 573, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1279:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 576, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 609, - "src": "1309:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 575, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1180:156:3" - }, - "returnParameters": { - "id": 578, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:0:3" - }, - "scope": 894, - "src": "1169:449:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 726, - "nodeType": "Block", - "src": "1668:871:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1686:8:3", - "subExpression": { - "argumentTypes": null, - "id": 615, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "1687:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1696:18:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1678:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1678:37:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 619, - "nodeType": "ExpressionStatement", - "src": "1678:37:3" - }, - { - "assignments": [ - 621 - ], - "declarations": [ - { - "constant": false, - "id": 621, - "name": "totalPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1725:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1725:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 626, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 624, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1764:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 622, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "1746:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 623, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "1746:17:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1746:25:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1725:46:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 630, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1815:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 631, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1815:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 634, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1835:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - ], - "id": 633, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 632, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1827:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1827:13:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 628, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "1790:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "1790:24:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1790:51:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 637, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "1845:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1790:65:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420656e6f756768206d6f6e657920706572207061636b", - "id": 639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1857:27:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - }, - "value": "Not enough money per pack" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7e8dc2f6dcb31316923e2970173d8ca12fce1a2bd05e3ce83cd6d42135d4b577", - "typeString": "literal_string \"Not enough money per pack\"" - } - ], - "id": 627, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1782:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1782:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 641, - "nodeType": "ExpressionStatement", - "src": "1782:103:3" - }, - { - "assignments": [ - 643 - ], - "declarations": [ - { - "constant": false, - "id": 643, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 726, - "src": "1896:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 642, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1896:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 646, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 644, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1896:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 650, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 648, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "1940:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 649, - "name": "MAX_PURCHASE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 560, - "src": "1950:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1940:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6178207075726368617365207065722074782072656163686564", - "id": 651, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1964:29:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - }, - "value": "Max purchase per tx reached" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_42e3da24d4c317e2124cfbd751cc9f7cb0dc3f0ccb7c89bf2c7f1f574e1b0df4", - "typeString": "literal_string \"Max purchase per tx reached\"" - } - ], - "id": 647, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1932:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1932:62:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 653, - "nodeType": "ExpressionStatement", - "src": "1932:62:3" - }, - { - "condition": { - "argumentTypes": null, - "id": 654, - "name": "_isLimited", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 513, - "src": "2008:10:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 666, - "nodeType": "IfStatement", - "src": "2005:123:3", - "trueBody": { - "id": 665, - "nodeType": "Block", - "src": "2019:109:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 656, - "name": "_limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 518, - "src": "2041:14:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 659, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2076:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 657, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2059:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 658, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2059:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2059:24:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2041:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74206f66207061636b73206e6f7420617661696c61626c65", - "id": 662, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2085:31:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - }, - "value": "Amount of packs not available" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f1f92c74f01fe60fd4d9350e2b0a6d6bfe99459565f3c709debf1d8267d4e20b", - "typeString": "literal_string \"Amount of packs not available\"" - } - ], - "id": 655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2033:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2033:84:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 664, - "nodeType": "ExpressionStatement", - "src": "2033:84:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 668, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2160:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 669, - "name": "totalPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 621, - "src": "2166:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 667, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 796, - "src": "2138:21:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2138:39:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 671, - "nodeType": "ExpressionStatement", - "src": "2138:39:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 643, - "src": "2201:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 674, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2207:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 675, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2215:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 672, - "name": "Opening", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 548, - "src": "2193:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 676, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2193:35:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 677, - "nodeType": "EmitStatement", - "src": "2188:40:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 678, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 566, - "src": "2238:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 679, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2254:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2238:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 681, - "nodeType": "ExpressionStatement", - "src": "2238:22:3" - }, - { - "body": { - "id": 712, - "nodeType": "Block", - "src": "2338:112:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 695, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "2352:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 699, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 696, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2366:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2366:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2352:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 700, - "indexExpression": { - "argumentTypes": null, - "id": 698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2378:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2352:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2383:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2352:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 703, - "nodeType": "ExpressionStatement", - "src": "2352:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 709, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2437:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 704, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "2401:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 707, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 705, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2420:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 706, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2420:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2401:30:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2401:35:3", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2401:38:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 711, - "nodeType": "ExpressionStatement", - "src": "2401:38:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 691, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 686, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2301:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 689, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2325:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 687, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2305:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "2305:19:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2305:27:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2301:31:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 713, - "initializationExpression": { - "assignments": [ - 683 - ], - "declarations": [ - { - "constant": false, - "id": 683, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 713, - "src": "2275:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 682, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2275:4:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 685, - "initialValue": { - "argumentTypes": null, - "id": 684, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2284:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2275:24:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2334:3:3", - "subExpression": { - "argumentTypes": null, - "id": 692, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 683, - "src": "2334:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 694, - "nodeType": "ExpressionStatement", - "src": "2334:3:3" - }, - "nodeType": "ForStatement", - "src": "2271:179:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 716, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 714, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "2460:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 715, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 611, - "src": "2479:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:25:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 717, - "nodeType": "ExpressionStatement", - "src": "2460:25:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 718, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 719, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "2511:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313039", - "id": 720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2525:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_109_by_1", - "typeString": "int_const 109" - }, - "value": "109" - }, - "src": "2511:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2529:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2511:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2495:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 725, - "nodeType": "ExpressionStatement", - "src": "2495:37:3" - } - ] - }, - "documentation": null, - "id": 727, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 612, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 611, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 727, - "src": "1643:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1643:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1642:16:3" - }, - "returnParameters": { - "id": 613, - "nodeType": "ParameterList", - "parameters": [], - "src": "1668:0:3" - }, - "scope": 894, - "src": "1624:915:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 795, - "nodeType": "Block", - "src": "2615:629:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 737, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2685:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 738, - "name": "_baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 506, - "src": "2691:15:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 741, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2709:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 740, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "2718:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2709:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 742, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2708:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2735:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2708:30:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 734, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2657:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2657:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2657:82:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 746, - "nodeType": "ExpressionStatement", - "src": "2657:82:3" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "id": 755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 749, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2761:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 747, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2753:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2753:18:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 753, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2783:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2775:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2775:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2753:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 770, - "nodeType": "IfStatement", - "src": "2750:235:3", - "trueBody": { - "id": 769, - "nodeType": "Block", - "src": "2786:199:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 759, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "2883:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 760, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "2905:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 761, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "2935:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 762, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "2944:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2935:18:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 764, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2934:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 765, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2957:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2934:26:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 756, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "2838:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2838:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 767, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2838:136:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 768, - "nodeType": "ExpressionStatement", - "src": "2838:136:3" - } - ] - } - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 773, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3006:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 771, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2998:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2998:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3032:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3024:7:3", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3024:10:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2998:36:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 794, - "nodeType": "IfStatement", - "src": "2995:243:3", - "trueBody": { - "id": 793, - "nodeType": "Block", - "src": "3035:203:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 783, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 729, - "src": "3132:4:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 784, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3154:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 785, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 731, - "src": "3186:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 786, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3195:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3186:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 788, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3185:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 789, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3210:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3185:28:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 780, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3087:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "3087:27:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3087:140:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 792, - "nodeType": "ExpressionStatement", - "src": "3087:140:3" - } - ] - } - } - ] - }, - "documentation": null, - "id": 796, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 732, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 729, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2576:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 728, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2576:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 731, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 796, - "src": "2590:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 730, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2590:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2575:30:3" - }, - "returnParameters": { - "id": 733, - "nodeType": "ParameterList", - "parameters": [], - "src": "2615:0:3" - }, - "scope": 894, - "src": "2545:699:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 824, - "nodeType": "Block", - "src": "3346:194:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 806, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3377:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 807, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3390:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:21:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 809, - "name": "_baseFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 551, - "src": "3401:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3377:37:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3418:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "3377:44:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "446f65736e27742061646420757020746f20313030", - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3435:23:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - }, - "value": "Doesn't add up to 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac1db07e90087d6a8890ba40cb12c51c5846a445fc37f9ae921d12d482e948c9", - "typeString": "literal_string \"Doesn't add up to 100\"" - } - ], - "id": 805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3356:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3356:112:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 815, - "nodeType": "ExpressionStatement", - "src": "3356:112:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 816, - "name": "_otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 557, - "src": "3479:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 817, - "name": "otherShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 800, - "src": "3493:10:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3479:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 819, - "nodeType": "ExpressionStatement", - "src": "3479:24:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 820, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 554, - "src": "3513:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 821, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 798, - "src": "3525:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3513:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 823, - "nodeType": "ExpressionStatement", - "src": "3513:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "2aca3e7d", - "id": 825, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 803, - "modifierName": { - "argumentTypes": null, - "id": 802, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3336:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3336:9:3" - } - ], - "name": "setShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 801, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 798, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3278:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 797, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3278:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 800, - "name": "otherShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 825, - "src": "3304:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 799, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3268:60:3" - }, - "returnParameters": { - "id": 804, - "nodeType": "ParameterList", - "parameters": [], - "src": "3346:0:3" - }, - "scope": 894, - "src": "3250:290:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 836, - "nodeType": "Block", - "src": "3618:47:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 832, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 504, - "src": "3628:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 833, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 827, - "src": "3645:13:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "3628:30:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 835, - "nodeType": "ExpressionStatement", - "src": "3628:30:3" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 837, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 830, - "modifierName": { - "argumentTypes": null, - "id": 829, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3608:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3608:9:3" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 827, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 837, - "src": "3580:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 826, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "3580:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3579:21:3" - }, - "returnParameters": { - "id": 831, - "nodeType": "ParameterList", - "parameters": [], - "src": "3618:0:3" - }, - "scope": 894, - "src": "3547:118:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 848, - "nodeType": "Block", - "src": "3731:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 846, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 844, - "name": "_pricePerPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 525, - "src": "3741:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 845, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 839, - "src": "3757:8:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3741:24:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 847, - "nodeType": "ExpressionStatement", - "src": "3741:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "98bdd803", - "id": 849, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 842, - "modifierName": { - "argumentTypes": null, - "id": 841, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3721:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3721:9:3" - } - ], - "name": "setPricePerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 840, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 839, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 849, - "src": "3696:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 838, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3696:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3695:18:3" - }, - "returnParameters": { - "id": 843, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:0:3" - }, - "scope": 894, - "src": "3671:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 860, - "nodeType": "Block", - "src": "3838:41:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 856, - "name": "_feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 508, - "src": "3848:11:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 857, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 851, - "src": "3862:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3848:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 859, - "nodeType": "ExpressionStatement", - "src": "3848:24:3" - } - ] - }, - "documentation": null, - "functionSelector": "8705fcd4", - "id": 861, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 854, - "modifierName": { - "argumentTypes": null, - "id": 853, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3828:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3828:9:3" - } - ], - "name": "setFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 852, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 851, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 861, - "src": "3801:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 850, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3801:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3800:20:3" - }, - "returnParameters": { - "id": 855, - "nodeType": "ParameterList", - "parameters": [], - "src": "3838:0:3" - }, - "scope": 894, - "src": "3778:101:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 872, - "nodeType": "Block", - "src": "3949:45:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 870, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 868, - "name": "_otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 510, - "src": "3959:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 869, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 863, - "src": "3975:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3959:28:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 871, - "nodeType": "ExpressionStatement", - "src": "3959:28:3" - } - ] - }, - "documentation": null, - "functionSelector": "f4d36986", - "id": 873, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 866, - "modifierName": { - "argumentTypes": null, - "id": 865, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "3939:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3939:9:3" - } - ], - "name": "setOtherAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 864, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 863, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 873, - "src": "3910:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3910:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3909:22:3" - }, - "returnParameters": { - "id": 867, - "nodeType": "ParameterList", - "parameters": [], - "src": "3949:0:3" - }, - "scope": 894, - "src": "3885:109:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 882, - "nodeType": "Block", - "src": "4033:31:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 880, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 878, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4043:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 879, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4053:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4043:14:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 881, - "nodeType": "ExpressionStatement", - "src": "4043:14:3" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 883, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 876, - "modifierName": { - "argumentTypes": null, - "id": 875, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4023:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4023:9:3" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 874, - "nodeType": "ParameterList", - "parameters": [], - "src": "4013:2:3" - }, - "returnParameters": { - "id": 877, - "nodeType": "ParameterList", - "parameters": [], - "src": "4033:0:3" - }, - "scope": 894, - "src": "4000:64:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 892, - "nodeType": "Block", - "src": "4105:32:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 888, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 563, - "src": "4115:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 889, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4125:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "4115:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 891, - "nodeType": "ExpressionStatement", - "src": "4115:15:3" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 893, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 886, - "modifierName": { - "argumentTypes": null, - "id": 885, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4095:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4095:9:3" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4085:2:3" - }, - "returnParameters": { - "id": 887, - "nodeType": "ParameterList", - "parameters": [], - "src": "4105:0:3" - }, - "scope": 894, - "src": "4070:67:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "204:3935:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 895, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "4273:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 896, - "nodeType": "InheritanceSpecifier", - "src": "4273:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 897, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "4281:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 898, - "nodeType": "InheritanceSpecifier", - "src": "4281:7:3" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 983, - "linearizedBaseContracts": [ - 983, - 8430, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777 - ], - "name": "ERC721Standard", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 909, - "nodeType": "Block", - "src": "4379:3:3", - "statements": [] - }, - "documentation": null, - "id": 910, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 905, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 900, - "src": "4365:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 906, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 902, - "src": "4371:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 907, - "modifierName": { - "argumentTypes": null, - "id": 904, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "4358:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4358:20:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 903, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 900, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4309:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 899, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4309:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 902, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 910, - "src": "4329:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 901, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4329:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4308:42:3" - }, - "returnParameters": { - "id": 908, - "nodeType": "ParameterList", - "parameters": [], - "src": "4379:0:3" - }, - "scope": 983, - "src": "4296:86:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 921, - "nodeType": "Block", - "src": "4448:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 918, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 912, - "src": "4473:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 917, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "4465:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 919, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4465:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 916, - "id": 920, - "nodeType": "Return", - "src": "4458:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 922, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 913, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 912, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4404:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 911, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4404:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4403:17:3" - }, - "returnParameters": { - "id": 916, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 915, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 922, - "src": "4442:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 914, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4442:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4441:6:3" - }, - "scope": 983, - "src": "4388:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 936, - "nodeType": "Block", - "src": "4568:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 932, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "4591:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 933, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "4600:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 931, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "4578:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4578:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 935, - "nodeType": "ExpressionStatement", - "src": "4578:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 937, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 929, - "modifierName": { - "argumentTypes": null, - "id": 928, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4558:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4558:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 924, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4515:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4515:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 937, - "src": "4532:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 925, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4532:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4514:36:3" - }, - "returnParameters": { - "id": 930, - "nodeType": "ParameterList", - "parameters": [], - "src": "4568:0:3" - }, - "scope": 983, - "src": "4494:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 948, - "nodeType": "Block", - "src": "4677:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 945, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 939, - "src": "4699:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 944, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "4687:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4687:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 947, - "nodeType": "ExpressionStatement", - "src": "4687:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 949, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 942, - "modifierName": { - "argumentTypes": null, - "id": 941, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4667:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4667:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 940, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 939, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 949, - "src": "4637:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 938, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "4637:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4636:23:3" - }, - "returnParameters": { - "id": 943, - "nodeType": "ParameterList", - "parameters": [], - "src": "4677:0:3" - }, - "scope": 983, - "src": "4617:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 963, - "nodeType": "Block", - "src": "4780:39:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 959, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 951, - "src": "4800:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 960, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 953, - "src": "4804:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 958, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "4790:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 961, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4790:22:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 962, - "nodeType": "ExpressionStatement", - "src": "4790:22:3" - } - ] - }, - "documentation": null, - "functionSelector": "40c10f19", - "id": 964, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 956, - "modifierName": { - "argumentTypes": null, - "id": 955, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4770:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4770:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 954, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 951, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4734:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 950, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4734:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 953, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 964, - "src": "4746:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 952, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4746:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4733:29:3" - }, - "returnParameters": { - "id": 957, - "nodeType": "ParameterList", - "parameters": [], - "src": "4780:0:3" - }, - "scope": 983, - "src": "4720:99:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 981, - "nodeType": "Block", - "src": "4905:46:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 976, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 966, - "src": "4925:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 977, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "4929:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 978, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 970, - "src": "4938:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 975, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9981, - "src": "4915:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,bytes memory)" - } - }, - "id": 979, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4915:29:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 980, - "nodeType": "ExpressionStatement", - "src": "4915:29:3" - } - ] - }, - "documentation": null, - "functionSelector": "94d008ef", - "id": 982, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 973, - "modifierName": { - "argumentTypes": null, - "id": 972, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "4895:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4895:9:3" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 971, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 966, - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4839:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 965, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4839:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 968, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4851:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4851:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 970, - "name": "_data", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 982, - "src": "4868:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 969, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4868:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4838:49:3" - }, - "returnParameters": { - "id": 974, - "nodeType": "ParameterList", - "parameters": [], - "src": "4905:0:3" - }, - "scope": 983, - "src": "4825:126:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "4246:707:3" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 984, - "name": "Opener", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 894, - "src": "5156:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Opener_$894", - "typeString": "contract Opener" - } - }, - "id": 985, - "nodeType": "InheritanceSpecifier", - "src": "5156:6:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 986, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "5164:6:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 987, - "nodeType": "InheritanceSpecifier", - "src": "5164:6:3" - } - ], - "contractDependencies": [ - 894, - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1122, - "linearizedBaseContracts": [ - 1122, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 894, - 8430 - ], - "name": "ERC721Colectibles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1015, - "nodeType": "Block", - "src": "5514:7:3", - "statements": [] - }, - "documentation": null, - "id": 1016, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 1004, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 989, - "src": "5407:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 1005, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 991, - "src": "5413:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 1006, - "modifierName": { - "argumentTypes": null, - "id": 1003, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "5400:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5400:20:3" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 1008, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 995, - "src": "5437:14:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - { - "argumentTypes": null, - "id": 1009, - "name": "baseFeeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 997, - "src": "5453:14:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1010, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5469:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1011, - "name": "otherAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1001, - "src": "5481:12:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1012, - "name": "limitedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 993, - "src": "5495:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 1013, - "modifierName": { - "argumentTypes": null, - "id": 1007, - "name": "Opener", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 894, - "src": "5430:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Opener_$894_$", - "typeString": "type(contract Opener)" - } - }, - "nodeType": "ModifierInvocation", - "src": "5430:79:3" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 989, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5200:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 988, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5200:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 991, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5220:20:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 990, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5220:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 993, - "name": "limitedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5250:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 992, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5250:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 995, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5281:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 994, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "5281:5:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 997, - "name": "baseFeeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5311:22:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 996, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5311:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 999, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5343:18:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 998, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5343:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1001, - "name": "otherAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1016, - "src": "5371:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1000, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5371:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5190:202:3" - }, - "returnParameters": { - "id": 1014, - "nodeType": "ParameterList", - "parameters": [], - "src": "5514:0:3" - }, - "scope": 1122, - "src": "5178:343:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1027, - "nodeType": "Block", - "src": "5587:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1024, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1018, - "src": "5612:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1023, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "5604:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 1025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5604:16:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1022, - "id": 1026, - "nodeType": "Return", - "src": "5597:23:3" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 1028, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1019, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1018, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5543:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:17:3" - }, - "returnParameters": { - "id": 1022, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1021, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1028, - "src": "5581:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1020, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5581:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5580:6:3" - }, - "scope": 1122, - "src": "5527:100:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1042, - "nodeType": "Block", - "src": "5707:43:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1038, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1030, - "src": "5730:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1039, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1032, - "src": "5739:3:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1037, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "5717:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 1040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5717:26:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1041, - "nodeType": "ExpressionStatement", - "src": "5717:26:3" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 1043, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1035, - "modifierName": { - "argumentTypes": null, - "id": 1034, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5697:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5697:9:3" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1033, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1030, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5654:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1029, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5654:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1032, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1043, - "src": "5671:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1031, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5671:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5653:36:3" - }, - "returnParameters": { - "id": 1036, - "nodeType": "ParameterList", - "parameters": [], - "src": "5707:0:3" - }, - "scope": 1122, - "src": "5633:117:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1054, - "nodeType": "Block", - "src": "5816:37:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1051, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1045, - "src": "5838:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 1050, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "5826:11:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 1052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5826:20:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1053, - "nodeType": "ExpressionStatement", - "src": "5826:20:3" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 1055, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 1048, - "modifierName": { - "argumentTypes": null, - "id": 1047, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5806:9:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5806:9:3" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1046, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1045, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1055, - "src": "5776:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1044, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5776:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5775:23:3" - }, - "returnParameters": { - "id": 1049, - "nodeType": "ParameterList", - "parameters": [], - "src": "5816:0:3" - }, - "scope": 1122, - "src": "5756:97:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1097, - "nodeType": "Block", - "src": "5903:392:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1061, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "5934:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 1062, - "name": "_currentTokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "5951:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5934:32:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e204964206e6f742072656769737465726564", - "id": 1064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5981:25:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - }, - "value": "Token Id not registered" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04ecc049ddf9c7cd4f70ab50ca83ccc47735e9c67f76139116e5974eb3077c3b", - "typeString": "literal_string \"Token Id not registered\"" - } - ], - "id": 1060, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5913:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5913:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1066, - "nodeType": "ExpressionStatement", - "src": "5913:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1068, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 531, - "src": "6035:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 1071, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1069, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6049:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1070, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6049:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:25:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1073, - "indexExpression": { - "argumentTypes": null, - "id": 1072, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6061:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6035:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 1074, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6077:52:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 1067, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6027:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1075, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6027:103:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1076, - "nodeType": "ExpressionStatement", - "src": "6027:103:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6148:29:3", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1078, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6149:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1080, - "indexExpression": { - "argumentTypes": null, - "id": 1079, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6163:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6149:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 1082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6179:16:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 1077, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6140:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6140:56:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1084, - "nodeType": "ExpressionStatement", - "src": "6140:56:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 1089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1085, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 540, - "src": "6207:13:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 1087, - "indexExpression": { - "argumentTypes": null, - "id": 1086, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6221:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6207:28:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1088, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6238:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6207:35:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1090, - "nodeType": "ExpressionStatement", - "src": "6207:35:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1092, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1094, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1057, - "src": "6274:13:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1091, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "6252:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 1095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6252:36:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1096, - "nodeType": "ExpressionStatement", - "src": "6252:36:3" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 1098, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1058, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1057, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1098, - "src": "5873:21:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1056, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5873:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5872:23:3" - }, - "returnParameters": { - "id": 1059, - "nodeType": "ParameterList", - "parameters": [], - "src": "5903:0:3" - }, - "scope": 1122, - "src": "5859:436:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1107, - "nodeType": "Block", - "src": "6342:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1104, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1100, - "src": "6362:6:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 1103, - "name": "_openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 727, - "src": "6352:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 1105, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6352:17:3", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1106, - "nodeType": "ExpressionStatement", - "src": "6352:17:3" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 1108, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1100, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1108, - "src": "6319:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1099, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6319:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6318:16:3" - }, - "returnParameters": { - "id": 1102, - "nodeType": "ParameterList", - "parameters": [], - "src": "6342:0:3" - }, - "scope": 1122, - "src": "6301:75:3", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 1120, - "nodeType": "Block", - "src": "6464:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1116, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 536, - "src": "6481:18:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 1118, - "indexExpression": { - "argumentTypes": null, - "id": 1117, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1110, - "src": "6500:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6481:28:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 1115, - "id": 1119, - "nodeType": "Return", - "src": "6474:35:3" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 1121, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 1111, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1110, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6408:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1109, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6408:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6407:18:3" - }, - "returnParameters": { - "id": 1115, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1114, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 1121, - "src": "6446:16:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 1112, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6446:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1113, - "length": null, - "nodeType": "ArrayTypeName", - "src": "6446:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6445:18:3" - }, - "scope": 1122, - "src": "6382:134:3", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 1123, - "src": "5126:1392:3" - } - ], - "src": "33:6485:3" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.373Z", - "devdoc": { - "methods": { - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/OpenerRealFvr.json b/build/contracts/OpenerRealFvr.json deleted file mode 100644 index ed8e5074..00000000 --- a/build/contracts/OpenerRealFvr.json +++ /dev/null @@ -1,27756 +0,0 @@ -{ - "contractName": "OpenerRealFvr", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "contract ERC20", - "name": "_purchaseToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "nftId", - "type": "uint256" - } - ], - "name": "NftMinted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "by", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "PackBought", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "packId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "string", - "name": "serie", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "packType", - "type": "string" - }, - { - "indexed": true, - "internalType": "string", - "name": "drop", - "type": "string" - } - ], - "name": "PackCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "PackDelete", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "by", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "PackOpened", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "_closed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_openedPacks", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_purchaseToken", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "_realFvrTokenPriceUSD", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "alreadyMinted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "lastNFTID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "packIncrementId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "packs", - "outputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nftAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "initialNFTId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "saleStart", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "string", - "name": "serie", - "type": "string" - }, - { - "internalType": "string", - "name": "drop", - "type": "string" - }, - { - "internalType": "string", - "name": "packType", - "type": "string" - }, - { - "internalType": "bool", - "name": "opened", - "type": "bool" - }, - { - "internalType": "address", - "name": "buyer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDs", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "registeredIDsArray", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "string", - "name": "uri", - "type": "string" - } - ], - "name": "setTokenURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "exists", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getRegisteredIDs", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_packId", - "type": "uint256" - } - ], - "name": "getPackbyId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "getMarketplaceDistributionForERC721", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "getPackPriceInFVR", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "buyPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "packIds", - "type": "uint256[]" - } - ], - "name": "buyPacks", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "openPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "packIds", - "type": "uint256[]" - } - ], - "name": "openPacks", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nftAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - }, - { - "internalType": "string", - "name": "serie", - "type": "string" - }, - { - "internalType": "string", - "name": "packType", - "type": "string" - }, - { - "internalType": "string", - "name": "drop", - "type": "string" - }, - { - "internalType": "uint256", - "name": "saleStart", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "saleDistributionAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "saleDistributionAmounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "marketplaceDistributionAddresses", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "marketplaceDistributionAmounts", - "type": "uint256[]" - } - ], - "name": "createPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "receivingAddress", - "type": "address" - } - ], - "name": "offerPack", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_packId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_saleStart", - "type": "uint256" - }, - { - "internalType": "string", - "name": "serie", - "type": "string" - }, - { - "internalType": "string", - "name": "packType", - "type": "string" - }, - { - "internalType": "string", - "name": "drop", - "type": "string" - }, - { - "internalType": "uint256", - "name": "price", - "type": "uint256" - } - ], - "name": "editPackInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "packId", - "type": "uint256" - } - ], - "name": "deletePackById", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenIdToMint", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "purchaseToken", - "type": "address" - } - ], - "name": "setPurchaseTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "newPrice", - "type": "uint256" - } - ], - "name": "setTokenPriceInUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "unlock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"contract ERC20\",\"name\":\"_purchaseToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"nftId\",\"type\":\"uint256\"}],\"name\":\"NftMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"PackBought\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"serie\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"packType\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"string\",\"name\":\"drop\",\"type\":\"string\"}],\"name\":\"PackCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"PackDelete\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"by\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"PackOpened\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_closed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_openedPacks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_purchaseToken\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_realFvrTokenPriceUSD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"alreadyMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"buyPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"packIds\",\"type\":\"uint256[]\"}],\"name\":\"buyPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nftAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"serie\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"packType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"drop\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"saleStart\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"saleDistributionAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"saleDistributionAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"marketplaceDistributionAddresses\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"marketplaceDistributionAmounts\",\"type\":\"uint256[]\"}],\"name\":\"createPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"deletePackById\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_packId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_saleStart\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"serie\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"packType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"drop\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"editPackInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"getMarketplaceDistributionForERC721\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"getPackPriceInFVR\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_packId\",\"type\":\"uint256\"}],\"name\":\"getPackbyId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getRegisteredIDs\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastNFTID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenIdToMint\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"receivingAddress\",\"type\":\"address\"}],\"name\":\"offerPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"}],\"name\":\"openPack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"packIds\",\"type\":\"uint256[]\"}],\"name\":\"openPacks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"packIncrementId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"packs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"packId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nftAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"initialNFTId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"saleStart\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"serie\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"drop\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"packType\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"opened\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDs\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"registeredIDsArray\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"purchaseToken\",\"type\":\"address\"}],\"name\":\"setPurchaseTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newPrice\",\"type\":\"uint256\"}],\"name\":\"setTokenPriceInUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"name\":\"setTokenURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol\":\"OpenerRealFvr\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol\":{\"keccak256\":\"0x0b7ddc58b943316265721357f697e2afdafafad3994a7687d2192df660185dde\",\"urls\":[\"bzz-raw://8c41ab7723c13c08f644b9577f68d90a006eb13ac38997d7dd86820de02f32a5\",\"dweb:/ipfs/QmVBavKRC5bF1RtNHzaLTdZaHxpEzxW6bKoFdgCVaXiSEN\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x24141d2f6b98d4cb77a8936eae8cbaad2e261d9062bdc08036096f4550092501\",\"urls\":[\"bzz-raw://b710eb003944777135f027500a5a57b479fe857849f5f467c1ef9687401e3c95\",\"dweb:/ipfs/QmcELzi6KRzAs3DXwxdsoKWRJ13KSeipKQsJgD3unctdZM\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x118ed7540f56b21ff92e21ebaa73584048e98d2ac04ca67571329bb8dbd9032f\",\"urls\":[\"bzz-raw://da2918b7aff73dd51d41bfcfa548f81eb50531b8353500fdbdacf297076db070\",\"dweb:/ipfs/Qmb8ixAs1vBjZRowQNuNg6bRf2NZmgZ1JTBxmQS14PHpcL\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x52146049d6709c870e8ddcd988b5155cb6c5d640cfcd8978aee52bc1ba2ec4eb\",\"urls\":[\"bzz-raw://ada84513617b7c1b2f890b44503735abaec73a1acd030112a17aac7e6c66a4a1\",\"dweb:/ipfs/QmaiFwdio67iJrfjAdkMac24eJ5sS1qD7CZW6PhUU6KjiK\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x4b087f06b6670a131a5a14e53b1d2a5ef19c034cc5ec42eeebcf9554325744ad\",\"urls\":[\"bzz-raw://f6a6af5d848334e40db419773f6360601e311ffc21c2e274f730b8c542da99fd\",\"dweb:/ipfs/QmfA24cxQ2g41ZWUuDF295dxDJ4xF1bSDYtC3EaLd7CzW8\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x1562cd9922fbf739edfb979f506809e2743789cbde3177515542161c3d04b164\",\"urls\":[\"bzz-raw://4580d57781513d98870d9738c7d39094336e0a70cdb90d68dad549c6ced466ec\",\"dweb:/ipfs/Qmf9YZzzRFuvMnav9dgmeRUpdYMMECiZX8w25sHWVbA18V\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x608060405260016011819055601255600060138190556014805460ff191690556015553480156200002f57600080fd5b50604051620052c1380380620052c1833981810160405260608110156200005557600080fd5b81019080805160405193929190846401000000008211156200007657600080fd5b9083019060208201858111156200008c57600080fd5b8251640100000000811182820188101715620000a757600080fd5b82525081516020918201929091019080838360005b83811015620000d6578181015183820152602001620000bc565b50505050905090810190601f168015620001045780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200012857600080fd5b9083019060208201858111156200013e57600080fd5b82516401000000008111828201881017156200015957600080fd5b82525081516020918201929091019080838360005b83811015620001885781810151838201526020016200016e565b50505050905090810190601f168015620001b65780820380516001836020036101000a031916815260200191505b5060405260200151600080546001600160a01b03191633179055915083905082620001f16301ffc9a760e01b6001600160e01b036200027916565b81516200020690600790602085019062000301565b5080516200021c90600890602084019062000301565b50620002386380ac58cd60e01b6001600160e01b036200027916565b62000253635b5e139f60e01b6001600160e01b036200027916565b6200026e63780e9d6360e01b6001600160e01b036200027916565b5050505050620003a6565b6001600160e01b03198082161415620002d9576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152600160208190526040909120805460ff19169091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034457805160ff191683800117855562000374565b8280016001018555821562000374579182015b828111156200037457825182559160200191906001019062000357565b506200038292915062000386565b5090565b620003a391905b808211156200038257600081556001016200038d565b90565b614f0b80620003b66000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806369c7d8a311610182578063b88d4fde116100e9578063e6416503116100a2578063ec6923a11161007c578063ec6923a1146114d3578063ec90a293146114ff578063f2fde38b1461151c578063f83d08ba14611542576102bb565b8063e641650314611495578063e985e9c51461149d578063eb8800d0146114cb576102bb565b8063b88d4fde14611238578063c87b56dd146112fc578063d3a4ff4f14611319578063d5c2e3f6146113ba578063dc45bfb314611470578063dd7c5e541461148d576102bb565b806395d89b411161013b57806395d89b4114611018578063a0712d6814611020578063a22cb4651461103d578063a69df4b51461106b578063b7365f1f14611073578063b84c139214611090576102bb565b806369c7d8a314610fb55780636c0360eb14610fbd5780636fcbc6ed14610fc557806370a0823114610fcd57806384a5027014610ff35780638da5cb5b14611010576102bb565b8063298489d2116102265780634f558e79116101df5780634f558e7914610e805780634f6ccce714610e9d57806350a88c7e14610eba57806355f804b314610ed75780635eeb57c014610f7b5780636352211e14610f98576102bb565b8063298489d2146107fb5780632c686030146108215780632f745c59146108975780633a307f61146108c35780633c995e7114610a7f57806342842e0e14610e4a576102bb565b806315424e6e1161027857806315424e6e146104be578063162094c4146106de57806318160ddd146107895780631e14a533146107915780631eae8636146107bd57806323b872dd146107c5576102bb565b806301d243a6146102c057806301ffc9a7146102fe57806306fdde0314610339578063078ab8be146103b6578063081812fc14610459578063095ea7b314610492575b600080fd5b6102ec600480360360408110156102d657600080fd5b506001600160a01b03813516906020013561154a565b60408051918252519081900360200190f35b6103256004803603602081101561031457600080fd5b50356001600160e01b031916611578565b604080519115158252519081900360200190f35b61034161159b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037b578181015183820152602001610363565b50505050905090810190601f1680156103a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610457600480360360208110156103cc57600080fd5b810190602081018135600160201b8111156103e657600080fd5b8201836020820111156103f857600080fd5b803590602001918460208302840111600160201b8311171561041957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611632945050505050565b005b6104766004803603602081101561046f57600080fd5b5035611666565b604080516001600160a01b039092168252519081900360200190f35b610457600480360360408110156104a857600080fd5b506001600160a01b0381351690602001356116c8565b6104db600480360360208110156104d457600080fd5b50356117a3565b604051808b81526020018a8152602001898152602001806020018060200180602001886001600160a01b03166001600160a01b0316815260200180602001806020018715151515815260200186810386528d818151815260200191508051906020019080838360005b8381101561055c578181015183820152602001610544565b50505050905090810190601f1680156105895780820380516001836020036101000a031916815260200191505b5086810385528c5181528c516020918201918e019080838360005b838110156105bc5781810151838201526020016105a4565b50505050905090810190601f1680156105e95780820380516001836020036101000a031916815260200191505b5086810384528b5181528b516020918201918d019080838360005b8381101561061c578181015183820152602001610604565b50505050905090810190601f1680156106495780820380516001836020036101000a031916815260200191505b508681038352895181528951602091820191808c01910280838360005b8381101561067e578181015183820152602001610666565b50505050905001868103825288818151815260200191508051906020019060200280838360005b838110156106bd5781810151838201526020016106a5565b505050509050019f5050505050505050505050505050505060405180910390f35b610457600480360360408110156106f457600080fd5b81359190810190604081016020820135600160201b81111561071557600080fd5b82018360208201111561072757600080fd5b803590602001918460018302840111600160201b8311171561074857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611b2a945050505050565b6102ec611b4b565b610325600480360360408110156107a757600080fd5b506001600160a01b038135169060200135611b5c565b6102ec611b7c565b610457600480360360608110156107db57600080fd5b506001600160a01b03813581169160208101359091169060400135611b82565b6104576004803603602081101561081157600080fd5b50356001600160a01b0316611bd9565b6108476004803603602081101561083757600080fd5b50356001600160a01b0316611c12565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561088357818101518382015260200161086b565b505050509050019250505060405180910390f35b6102ec600480360360408110156108ad57600080fd5b506001600160a01b038135169060200135611c7e565b610457600480360360c08110156108d957600080fd5b813591602081013591810190606081016040820135600160201b8111156108ff57600080fd5b82018360208201111561091157600080fd5b803590602001918460018302840111600160201b8311171561093257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561098457600080fd5b82018360208201111561099657600080fd5b803590602001918460018302840111600160201b831117156109b757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a0957600080fd5b820183602082011115610a1b57600080fd5b803590602001918460018302840111600160201b83111715610a3c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611caf915050565b6104576004803603610140811015610a9657600080fd5b813591602081013591810190606081016040820135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460018302840111600160201b83111715610aef57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b4157600080fd5b820183602082011115610b5357600080fd5b803590602001918460018302840111600160201b83111715610b7457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610bc657600080fd5b820183602082011115610bd857600080fd5b803590602001918460018302840111600160201b83111715610bf957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b811115610c5357600080fd5b820183602082011115610c6557600080fd5b803590602001918460208302840111600160201b83111715610c8657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610cd557600080fd5b820183602082011115610ce757600080fd5b803590602001918460208302840111600160201b83111715610d0857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610d5757600080fd5b820183602082011115610d6957600080fd5b803590602001918460208302840111600160201b83111715610d8a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610dd957600080fd5b820183602082011115610deb57600080fd5b803590602001918460208302840111600160201b83111715610e0c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611db7945050505050565b61045760048036036060811015610e6057600080fd5b506001600160a01b03813581169160208101359091169060400135612221565b61032560048036036020811015610e9657600080fd5b503561223c565b6102ec60048036036020811015610eb357600080fd5b5035612247565b61045760048036036020811015610ed057600080fd5b5035612263565b61045760048036036020811015610eed57600080fd5b810190602081018135600160201b811115610f0757600080fd5b820183602082011115610f1957600080fd5b803590602001918460018302840111600160201b83111715610f3a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612429945050505050565b61045760048036036020811015610f9157600080fd5b503561244c565b61047660048036036020811015610fae57600080fd5b50356124ba565b6104766124e8565b6103416124f7565b6102ec612558565b6102ec60048036036020811015610fe357600080fd5b50356001600160a01b031661255e565b6102ec6004803603602081101561100957600080fd5b50356125c6565b610476612601565b610341612610565b6104576004803603602081101561103657600080fd5b5035612671565b6104576004803603604081101561105357600080fd5b506001600160a01b0381351690602001351515612770565b610457612875565b6103256004803603602081101561108957600080fd5b5035612898565b6110ad600480360360208110156110a657600080fd5b50356128ad565b604051808b81526020018a815260200189815260200188815260200187815260200180602001806020018060200186151515158152602001856001600160a01b03166001600160a01b03168152602001848103845289818151815260200191508051906020019080838360005b8381101561113257818101518382015260200161111a565b50505050905090810190601f16801561115f5780820380516001836020036101000a031916815260200191505b5084810383528851815288516020918201918a019080838360005b8381101561119257818101518382015260200161117a565b50505050905090810190601f1680156111bf5780820380516001836020036101000a031916815260200191505b50848103825287518152875160209182019189019080838360005b838110156111f25781810151838201526020016111da565b50505050905090810190601f16801561121f5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b6104576004803603608081101561124e57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561128857600080fd5b82018360208201111561129a57600080fd5b803590602001918460018302840111600160201b831117156112bb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612abb945050505050565b6103416004803603602081101561131257600080fd5b5035612b19565b6104576004803603602081101561132f57600080fd5b810190602081018135600160201b81111561134957600080fd5b82018360208201111561135b57600080fd5b803590602001918460208302840111600160201b8311171561137c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d9c945050505050565b6113d7600480360360208110156113d057600080fd5b5035612dcc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561141b578181015183820152602001611403565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561145a578181015183820152602001611442565b5050505090500194505050505060405180910390f35b6104576004803603602081101561148657600080fd5b5035612e96565b61032561315e565b6102ec613167565b610325600480360360408110156114b357600080fd5b506001600160a01b038135811691602001351661316d565b6102ec61319b565b610457600480360360408110156114e957600080fd5b50803590602001356001600160a01b03166131a1565b6104576004803603602081101561151557600080fd5b50356135e9565b6104576004803603602081101561153257600080fd5b50356001600160a01b0316613712565b610457613797565b600d602052816000526040600020818154811061156357fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526001602052604090205460ff165b919050565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b820191906000526020600020905b81548152906001019060200180831161160a57829003601f168201915b505050505090505b90565b60005b81518110156116625761165a82828151811061164d57fe5b6020026020010151612263565b600101611635565b5050565b6000611671826137bd565b6116ac5760405162461bcd60e51b815260040180806020018281038252602c815260200180614d56602c913960400191505060405180910390fd5b506000908152600560205260409020546001600160a01b031690565b60006116d3826124ba565b9050806001600160a01b0316836001600160a01b031614156117265760405162461bcd60e51b8152600401808060200182810382526021815260200180614e386021913960400191505060405180910390fd5b806001600160a01b03166117386137d0565b6001600160a01b031614806117595750611759816117546137d0565b61316d565b6117945760405162461bcd60e51b8152600401808060200182810382526038815260200180614c886038913960400191505060405180910390fd5b61179e83836137d4565b505050565b60008060006060806060600060608060006117bc614929565b60008c8152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561184657602002820191906000526020600020905b815481526020019060010190808311611832575b50505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156118a857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161188a575b5050509183525050600682015460208083019190915260078301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156119465780601f1061191b57610100808354040283529160200191611946565b820191906000526020600020905b81548152906001019060200180831161192957829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156119da5780601f106119af576101008083540402835291602001916119da565b820191906000526020600020905b8154815290600101906020018083116119bd57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611a6e5780601f10611a4357610100808354040283529160200191611a6e565b820191906000526020600020905b815481529060010190602001808311611a5157829003601f168201915b50505050508152602001600a820160009054906101000a900460ff16151515158152602001600a820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815250509050806000015181604001518260c001518360e001518461010001518561012001518661016001518760a0015188608001518961014001518696508595508494508292508191509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000546001600160a01b03163314611b4157600080fd5b6116628282613842565b6000611b5760036138a5565b905090565b600c60209081526000928352604080842090915290825290205460ff1681565b60135481565b611b93611b8d6137d0565b826138b0565b611bce5760405162461bcd60e51b8152600401808060200182810382526031815260200180614e596031913960400191505060405180910390fd5b61179e838383613954565b6000546001600160a01b03163314611bf057600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600d6020908152604091829020805483518184028101840190945280845260609392830182828015611c7257602002820191906000526020600020905b815481526020019060010190808311611c5e575b50505050509050919050565b6001600160a01b0382166000908152600260205260408120611ca6908363ffffffff613ab216565b90505b92915050565b6000546001600160a01b03163314611cc657600080fd5b6000868152600f60205260409020600301544210611d22576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000868152600f60209081526040909120600381018790558551611d4e92600790920191870190614995565b506000868152600f602090815260409091208451611d7492600990920191860190614995565b506000868152600f602090815260409091208351611d9a92600890920191850190614995565b506000958652600f60205260409095206006019490945550505050565b6000546001600160a01b03163314611dce57600080fd5b8351835114611e0e5760405162461bcd60e51b8152600401808060200182810382526029815260200180614ead6029913960400191505060405180910390fd5b6000805b8551811015611e4057848181518110611e2757fe5b6020026020010151820191508080600101915050611e12565b5080606414611e805760405162461bcd60e51b8152600401808060200182810382526023815260200180614e8a6023913960400191505060405180910390fd5b8151835114611ec05760405162461bcd60e51b8152600401808060200182810382526030815260200180614c2c6030913960400191505060405180910390fd5b611ec8614929565b6011548160000181815250508b816020018181525050868160600181815250506012548160400181815250508a8160c0018181525050898160e0018190525087816101000181905250858160a001819052508481608001819052508881610120018190525080600f60006011548152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004019080519060200190611f87929190614a13565b5060a08201518051611fa3916005840191602090910190614a4d565b5060c0820151600682015560e08201518051611fc9916007840191602090910190614995565b506101008201518051611fe6916008840191602090910190614995565b506101208201518051612003916009840191602090910190614995565b50610140820151600a9091018054610160909301516001600160a01b031661010002610100600160a81b031992151560ff19909416939093179190911691909117905560015b8c81116120bd57612058614aae565b50604080518082018252858152602080820188905260125484016000908152601082529290922081518051929384936120949284920190614a13565b5060208281015180516120ad9260018501920190614a4d565b5050600190920191506120499050565b50876040518082805190602001908083835b602083106120ee5780518252601f1990920191602091820191016120cf565b51815160209384036101000a60001901801990921691161790526040519190930181900381208e519095508e945090928392508401908083835b602083106121475780518252601f199092019160209182019101612128565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208b6040518082805190602001908083835b602083106121a45780518252601f199092019160209182019101612185565b51815160209384036101000a600019018019909216911617905260408051929094018290038220601154835293519395507f8a3c49c707ce21410593d8a8b6b8bc88cb83c6f4aa55ce4683eabd62e0d2636594509083900301919050a4505060128054909a01909955505060118054600101905550505050505050565b61179e83838360405180602001604052806000815250612abb565b6000611ca9826137bd565b60008061225b60038463ffffffff613abe16565b509392505050565b60145460ff16156122ae576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600a015460ff1615612306576040805162461bcd60e51b815260206004820152600e60248201526d4f70656e656420416c726561647960901b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031661236d576040805162461bcd60e51b8152602060048201526013602482015272141858dac81dd85cc81b9bdd08189bdd59da1d606a1b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031633146123e0576040805162461bcd60e51b815260206004820152601b60248201527f596f752077657265206e6f7420746865207061636b2062757965720000000000604482015290519081900360640190fd5b6000818152600f6020526040808220600a01805460ff1916600117905551829133917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a350565b6000546001600160a01b0316331461244057600080fd5b61244981613ada565b50565b6000546001600160a01b0316331461246357600080fd5b806124b5576040805162461bcd60e51b815260206004820152601d60248201527f6e657750726963652068617320746f20686967686572207468616e2030000000604482015290519081900360640190fd5b601355565b6000611ca982604051806060016040528060298152602001614cea602991396003919063ffffffff613aed16565b600b546001600160a01b031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b60115481565b60006001600160a01b0382166125a55760405162461bcd60e51b815260040180806020018281038252602a815260200180614cc0602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600260205260409020611ca9906138a5565b6013546000828152600f60205260408120600601549091611ca9916103e8916125f5919063ffffffff613b0416565b9063ffffffff613b5d16565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b336000908152600c6020908152604080832084845290915290205460ff166126ca5760405162461bcd60e51b8152600401808060200182810382526032815260200180614dae6032913960400191505060405180910390fd5b6000818152600e602052604090205460ff161561271f576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600e60205260409020805460ff191660011790556127423382613bc4565b60405181907f7f8949b6eca2b14d0feb1af0844a112998e467a4f88b8683301f3a6e409f32ae90600090a250565b6127786137d0565b6001600160a01b0316826001600160a01b031614156127de576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600660006127eb6137d0565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561282f6137d0565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461288c57600080fd5b6014805460ff19169055565b600e6020526000908152604090205460ff1681565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806006015490806007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129775780601f1061294c57610100808354040283529160200191612977565b820191906000526020600020905b81548152906001019060200180831161295a57829003601f168201915b5050505060088301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015612a075780601f106129dc57610100808354040283529160200191612a07565b820191906000526020600020905b8154815290600101906020018083116129ea57829003601f168201915b5050505060098301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015612a975780601f10612a6c57610100808354040283529160200191612a97565b820191906000526020600020905b815481529060010190602001808311612a7a57829003601f168201915b505050600a909301549192505060ff8116906001600160a01b03610100909104168a565b612acc612ac66137d0565b836138b0565b612b075760405162461bcd60e51b8152600401808060200182810382526031815260200180614e596031913960400191505060405180910390fd5b612b1384848484613bde565b50505050565b6060612b24826137bd565b612b5f5760405162461bcd60e51b815260040180806020018281038252602f815260200180614e09602f913960400191505060405180910390fd5b60008281526009602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015612bf45780601f10612bc957610100808354040283529160200191612bf4565b820191906000526020600020905b815481529060010190602001808311612bd757829003601f168201915b505050505090506060612c056124f7565b9050805160001415612c1957509050611596565b815115612cda5780826040516020018083805190602001908083835b60208310612c545780518252601f199092019160209182019101612c35565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612c9c5780518252601f199092019160209182019101612c7d565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050611596565b80612ce485613c30565b6040516020018083805190602001908083835b60208310612d165780518252601f199092019160209182019101612cf7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612d5e5780518252601f199092019160209182019101612d3f565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60005b815181101561166257612dc4828281518110612db757fe5b6020026020010151612e96565b600101612d9f565b6000818152601060209081526040918290208054835181840281018401909452808452606093849360018401928491830182828015612e2a57602002820191906000526020600020905b815481526020019060010190808311612e16575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015612e8657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612e68575b5050505050905091509150915091565b60145460ff1615612ee1576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031615612f53576040805162461bcd60e51b815260206004820152601760248201527f5061636b2077617320616c726561647920626f75676874000000000000000000604482015290519081900360640190fd5b6000818152600f6020526040902060060154612faa576040805162461bcd60e51b8152602060048201526011602482015270141858dac81a185cc81d1bc8195e1a5cdd607a1b604482015290519081900360640190fd5b6000612fb5826125c6565b600b5460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561300b57600080fd5b505afa15801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505110156130745760405162461bcd60e51b815260040180806020018281038252604f815260200180614b65604f913960600191505060405180910390fd5b33613080818484613cf4565b60158054600101905560005b6000848152600f60205260409020600101548110156130fb57336000818152600c60209081526040808320888452600f835281842060020154860184528252808320805460ff19166001908117909155938352600d82528220805480850182559083529120018290550161308c565b506000838152600f6020526040808220600a018054610100600160a81b0319166101006001600160a01b03861690810291909117909155905185927f0c858281857728a99873d7eecba476650fcec02213b05ffc7b6205e05b45b0ff91a3505050565b60145460ff1681565b60125481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b60155481565b6000546001600160a01b031633146131b857600080fd5b6000828152600f60205260409020548214613210576040805162461bcd60e51b8152602060048201526013602482015272141858dac8191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b613218614929565b6000838152600f6020908152604091829020825161018081018452815481526001820154818401526002820154818501526003820154606082015260048201805485518186028101860190965280865291949293608086019392908301828280156132a257602002820191906000526020600020905b81548152602001906001019080831161328e575b505050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801561330457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116132e6575b5050509183525050600682015460208083019190915260078301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156133a25780601f10613377576101008083540402835291602001916133a2565b820191906000526020600020905b81548152906001019060200180831161338557829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156134365780601f1061340b57610100808354040283529160200191613436565b820191906000526020600020905b81548152906001019060200180831161341957829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156134ca5780601f1061349f576101008083540402835291602001916134ca565b820191906000526020600020905b8154815290600101906020018083116134ad57829003601f168201915b5050509183525050600a9182015460ff81161515602080840191909152610100918290046001600160a01b039081166040948501526000898152600f9092529281209093018054610100600160a81b0319169287169091029190911790556015805460010190559091505b6000848152600f60205260409020600101548110156135ad576001600160a01b0383166000818152600c60209081526040808320888452600f835281842060020154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501613535565b5060405183906001600160a01b038416907f0c858281857728a99873d7eecba476650fcec02213b05ffc7b6205e05b45b0ff90600090a3505050565b6000546001600160a01b0316331461360057600080fd5b6000818152600f6020526040902060030154421061365c576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000818152600f60205260408120818155600181018290556002810182905560038101829055906136906004830182614ac8565b61369e600583016000614ac8565b60068201600090556007820160006136b69190614ae6565b6136c4600883016000614ae6565b6136d2600983016000614ae6565b50600a0180546001600160a81b031916905560405181907fc02722c9e8790b48040a1db93c8b8e288fa395ffeed86c32215412ec047fd89290600090a250565b6000546001600160a01b0316331461372957600080fd5b6001600160a01b03811661373c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146137ae57600080fd5b6014805460ff19166001179055565b6000611ca960038363ffffffff6140e516565b3390565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190613809826124ba565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61384b826137bd565b6138865760405162461bcd60e51b815260040180806020018281038252602c815260200180614d82602c913960400191505060405180910390fd5b6000828152600960209081526040909120825161179e92840190614995565b6000611ca9826140f1565b60006138bb826137bd565b6138f65760405162461bcd60e51b815260040180806020018281038252602c815260200180614c5c602c913960400191505060405180910390fd5b6000613901836124ba565b9050806001600160a01b0316846001600160a01b0316148061393c5750836001600160a01b031661393184611666565b6001600160a01b0316145b8061394c575061394c818561316d565b949350505050565b826001600160a01b0316613967826124ba565b6001600160a01b0316146139ac5760405162461bcd60e51b8152600401808060200182810382526029815260200180614de06029913960400191505060405180910390fd5b6001600160a01b0382166139f15760405162461bcd60e51b8152600401808060200182810382526024815260200180614c086024913960400191505060405180910390fd5b6139fc83838361179e565b613a076000826137d4565b6001600160a01b0383166000908152600260205260409020613a2f908263ffffffff6140f516565b506001600160a01b0382166000908152600260205260409020613a58908263ffffffff61410116565b50613a6b6003828463ffffffff61410d16565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611ca68383614123565b6000808080613acd8686614187565b9097909650945050505050565b805161166290600a906020840190614995565b6000613afa848484614202565b90505b9392505050565b600082613b1357506000611ca9565b82820282848281613b2057fe5b0414611ca65760405162461bcd60e51b8152600401808060200182810382526021815260200180614d356021913960400191505060405180910390fd5b6000808211613bb3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613bbc57fe5b049392505050565b6116628282604051806020016040528060008152506142cc565b613be9848484613954565b613bf58484848461431e565b612b135760405162461bcd60e51b8152600401808060200182810382526032815260200180614bd66032913960400191505060405180910390fd5b606081613c5557506040805180820190915260018152600360fc1b6020820152611596565b8160005b8115613c6d57600101600a82049150613c59565b6060816040519080825280601f01601f191660200182016040528015613c9a576020820181803883390190505b50859350905060001982015b8315613ceb57600a840660300160f81b82828060019003935081518110613cc957fe5b60200101906001600160f81b031916908160001a905350600a84049350613ca6565b50949350505050565b613cfc614929565b6000838152600f602090815260409182902082516101808101845281548152600182015481840152600282015481850152600382015460608201526004820180548551818602810186019096528086529194929360808601939290830182828015613d8657602002820191906000526020600020905b815481526020019060010190808311613d72575b5050505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015613de857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613dca575b5050509183525050600682015460208083019190915260078301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015613e865780601f10613e5b57610100808354040283529160200191613e86565b820191906000526020600020905b815481529060010190602001808311613e6957829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613f1a5780601f10613eef57610100808354040283529160200191613f1a565b820191906000526020600020905b815481529060010190602001808311613efd57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613fae5780601f10613f8357610100808354040283529160200191613fae565b820191906000526020600020905b815481529060010190602001808311613f9157829003601f168201915b5050509183525050600a919091015460ff81161515602083015261010090046001600160a01b0316604090910152905060005b8160a00151518110156140de57600b5460a083015180516001600160a01b03909216916323b872dd9188918590811061401657fe5b60200260200101516064878760800151878151811061403157fe5b6020026020010151028161404157fe5b046040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156140aa57600080fd5b505af11580156140be573d6000803e3d6000fd5b505050506040513d60208110156140d457600080fd5b5050600101613fe1565b5050505050565b6000611ca6838361449e565b5490565b6000611ca683836144b6565b6000611ca6838361457c565b6000613afa84846001600160a01b0385166145c6565b815460009082106141655760405162461bcd60e51b8152600401808060200182810382526022815260200180614bb46022913960400191505060405180910390fd5b82600001828154811061417457fe5b9060005260206000200154905092915050565b8154600090819083106141cb5760405162461bcd60e51b8152600401808060200182810382526022815260200180614d136022913960400191505060405180910390fd5b60008460000184815481106141dc57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161429d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561426257818101518382015260200161424a565b50505050905090810190601f16801561428f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508460000160018203815481106142b057fe5b9060005260206000209060020201600101549150509392505050565b6142d6838361465d565b6142e3600084848461431e565b61179e5760405162461bcd60e51b8152600401808060200182810382526032815260200180614bd66032913960400191505060405180910390fd5b6000614332846001600160a01b0316614797565b61433e5750600161394c565b6060614464630a85bd0160e11b6143536137d0565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156143cc5781810151838201526020016143b4565b50505050905090810190601f1680156143f95780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001614bd6603291396001600160a01b038816919063ffffffff61479d16565b9050600081806020019051602081101561447d57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b6000818152600183016020526040812054801561457257835460001980830191908101906000908790839081106144e957fe5b906000526020600020015490508087600001848154811061450657fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061453657fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611ca9565b6000915050611ca9565b6000614588838361449e565b6145be57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611ca9565b506000611ca9565b60008281526001840160205260408120548061462b575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055613afd565b8285600001600183038154811061463e57fe5b9060005260206000209060020201600101819055506000915050613afd565b6001600160a01b0382166146b8576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6146c1816137bd565b15614713576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61471f6000838361179e565b6001600160a01b0382166000908152600260205260409020614747908263ffffffff61410116565b5061475a6003828463ffffffff61410d16565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b6060613afa8484600085856147b185614797565b614802576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106148415780518252601f199092019160209182019101614822565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146148a3576040519150601f19603f3d011682016040523d82523d6000602084013e6148a8565b606091505b50915091506148b88282866148c3565b979650505050505050565b606083156148d2575081613afd565b8251156148e25782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561426257818101518382015260200161424a565b6040518061018001604052806000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160608152602001606081526020016060815260200160001515815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149d657805160ff1916838001178555614a03565b82800160010185558215614a03579182015b82811115614a035782518255916020019190600101906149e8565b50614a0f929150614b26565b5090565b828054828255906000526020600020908101928215614a035791602002820182811115614a035782518255916020019190600101906149e8565b828054828255906000526020600020908101928215614aa2579160200282015b82811115614aa257825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614a6d565b50614a0f929150614b40565b604051806040016040528060608152602001606081525090565b50805460008255906000526020600020908101906124499190614b26565b50805460018160011615610100020316600290046000825580601f10614b0c5750612449565b601f01602090049060005260206000209081019061244991905b61162f91905b80821115614a0f5760008155600101614b2c565b61162f91905b80821115614a0f5780546001600160a01b0319168155600101614b4656fe466972737420796f75206861766520746f20616c6c6f772074686520757365206f662074686520746f6b656e7320627920746865204f70656e65722c2075736520616c6c6f772066756e6374696f6e456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573736d61726b6574706c616365446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d654552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656453756d206f6620616c6c20616d6f756e74732068617320746f20657175616c2031303073616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65a2646970667358221220ed4cc682495000c69bea0573cbe730b59f1a16c862b9bb0abd7d5912bdc38b9e64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102bb5760003560e01c806369c7d8a311610182578063b88d4fde116100e9578063e6416503116100a2578063ec6923a11161007c578063ec6923a1146114d3578063ec90a293146114ff578063f2fde38b1461151c578063f83d08ba14611542576102bb565b8063e641650314611495578063e985e9c51461149d578063eb8800d0146114cb576102bb565b8063b88d4fde14611238578063c87b56dd146112fc578063d3a4ff4f14611319578063d5c2e3f6146113ba578063dc45bfb314611470578063dd7c5e541461148d576102bb565b806395d89b411161013b57806395d89b4114611018578063a0712d6814611020578063a22cb4651461103d578063a69df4b51461106b578063b7365f1f14611073578063b84c139214611090576102bb565b806369c7d8a314610fb55780636c0360eb14610fbd5780636fcbc6ed14610fc557806370a0823114610fcd57806384a5027014610ff35780638da5cb5b14611010576102bb565b8063298489d2116102265780634f558e79116101df5780634f558e7914610e805780634f6ccce714610e9d57806350a88c7e14610eba57806355f804b314610ed75780635eeb57c014610f7b5780636352211e14610f98576102bb565b8063298489d2146107fb5780632c686030146108215780632f745c59146108975780633a307f61146108c35780633c995e7114610a7f57806342842e0e14610e4a576102bb565b806315424e6e1161027857806315424e6e146104be578063162094c4146106de57806318160ddd146107895780631e14a533146107915780631eae8636146107bd57806323b872dd146107c5576102bb565b806301d243a6146102c057806301ffc9a7146102fe57806306fdde0314610339578063078ab8be146103b6578063081812fc14610459578063095ea7b314610492575b600080fd5b6102ec600480360360408110156102d657600080fd5b506001600160a01b03813516906020013561154a565b60408051918252519081900360200190f35b6103256004803603602081101561031457600080fd5b50356001600160e01b031916611578565b604080519115158252519081900360200190f35b61034161159b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561037b578181015183820152602001610363565b50505050905090810190601f1680156103a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610457600480360360208110156103cc57600080fd5b810190602081018135600160201b8111156103e657600080fd5b8201836020820111156103f857600080fd5b803590602001918460208302840111600160201b8311171561041957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611632945050505050565b005b6104766004803603602081101561046f57600080fd5b5035611666565b604080516001600160a01b039092168252519081900360200190f35b610457600480360360408110156104a857600080fd5b506001600160a01b0381351690602001356116c8565b6104db600480360360208110156104d457600080fd5b50356117a3565b604051808b81526020018a8152602001898152602001806020018060200180602001886001600160a01b03166001600160a01b0316815260200180602001806020018715151515815260200186810386528d818151815260200191508051906020019080838360005b8381101561055c578181015183820152602001610544565b50505050905090810190601f1680156105895780820380516001836020036101000a031916815260200191505b5086810385528c5181528c516020918201918e019080838360005b838110156105bc5781810151838201526020016105a4565b50505050905090810190601f1680156105e95780820380516001836020036101000a031916815260200191505b5086810384528b5181528b516020918201918d019080838360005b8381101561061c578181015183820152602001610604565b50505050905090810190601f1680156106495780820380516001836020036101000a031916815260200191505b508681038352895181528951602091820191808c01910280838360005b8381101561067e578181015183820152602001610666565b50505050905001868103825288818151815260200191508051906020019060200280838360005b838110156106bd5781810151838201526020016106a5565b505050509050019f5050505050505050505050505050505060405180910390f35b610457600480360360408110156106f457600080fd5b81359190810190604081016020820135600160201b81111561071557600080fd5b82018360208201111561072757600080fd5b803590602001918460018302840111600160201b8311171561074857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611b2a945050505050565b6102ec611b4b565b610325600480360360408110156107a757600080fd5b506001600160a01b038135169060200135611b5c565b6102ec611b7c565b610457600480360360608110156107db57600080fd5b506001600160a01b03813581169160208101359091169060400135611b82565b6104576004803603602081101561081157600080fd5b50356001600160a01b0316611bd9565b6108476004803603602081101561083757600080fd5b50356001600160a01b0316611c12565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561088357818101518382015260200161086b565b505050509050019250505060405180910390f35b6102ec600480360360408110156108ad57600080fd5b506001600160a01b038135169060200135611c7e565b610457600480360360c08110156108d957600080fd5b813591602081013591810190606081016040820135600160201b8111156108ff57600080fd5b82018360208201111561091157600080fd5b803590602001918460018302840111600160201b8311171561093257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b81111561098457600080fd5b82018360208201111561099657600080fd5b803590602001918460018302840111600160201b831117156109b757600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610a0957600080fd5b820183602082011115610a1b57600080fd5b803590602001918460018302840111600160201b83111715610a3c57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250611caf915050565b6104576004803603610140811015610a9657600080fd5b813591602081013591810190606081016040820135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460018302840111600160201b83111715610aef57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610b4157600080fd5b820183602082011115610b5357600080fd5b803590602001918460018302840111600160201b83111715610b7457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610bc657600080fd5b820183602082011115610bd857600080fd5b803590602001918460018302840111600160201b83111715610bf957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092958435959094909350604081019250602001359050600160201b811115610c5357600080fd5b820183602082011115610c6557600080fd5b803590602001918460208302840111600160201b83111715610c8657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610cd557600080fd5b820183602082011115610ce757600080fd5b803590602001918460208302840111600160201b83111715610d0857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610d5757600080fd5b820183602082011115610d6957600080fd5b803590602001918460208302840111600160201b83111715610d8a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b811115610dd957600080fd5b820183602082011115610deb57600080fd5b803590602001918460208302840111600160201b83111715610e0c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611db7945050505050565b61045760048036036060811015610e6057600080fd5b506001600160a01b03813581169160208101359091169060400135612221565b61032560048036036020811015610e9657600080fd5b503561223c565b6102ec60048036036020811015610eb357600080fd5b5035612247565b61045760048036036020811015610ed057600080fd5b5035612263565b61045760048036036020811015610eed57600080fd5b810190602081018135600160201b811115610f0757600080fd5b820183602082011115610f1957600080fd5b803590602001918460018302840111600160201b83111715610f3a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612429945050505050565b61045760048036036020811015610f9157600080fd5b503561244c565b61047660048036036020811015610fae57600080fd5b50356124ba565b6104766124e8565b6103416124f7565b6102ec612558565b6102ec60048036036020811015610fe357600080fd5b50356001600160a01b031661255e565b6102ec6004803603602081101561100957600080fd5b50356125c6565b610476612601565b610341612610565b6104576004803603602081101561103657600080fd5b5035612671565b6104576004803603604081101561105357600080fd5b506001600160a01b0381351690602001351515612770565b610457612875565b6103256004803603602081101561108957600080fd5b5035612898565b6110ad600480360360208110156110a657600080fd5b50356128ad565b604051808b81526020018a815260200189815260200188815260200187815260200180602001806020018060200186151515158152602001856001600160a01b03166001600160a01b03168152602001848103845289818151815260200191508051906020019080838360005b8381101561113257818101518382015260200161111a565b50505050905090810190601f16801561115f5780820380516001836020036101000a031916815260200191505b5084810383528851815288516020918201918a019080838360005b8381101561119257818101518382015260200161117a565b50505050905090810190601f1680156111bf5780820380516001836020036101000a031916815260200191505b50848103825287518152875160209182019189019080838360005b838110156111f25781810151838201526020016111da565b50505050905090810190601f16801561121f5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b6104576004803603608081101561124e57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561128857600080fd5b82018360208201111561129a57600080fd5b803590602001918460018302840111600160201b831117156112bb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612abb945050505050565b6103416004803603602081101561131257600080fd5b5035612b19565b6104576004803603602081101561132f57600080fd5b810190602081018135600160201b81111561134957600080fd5b82018360208201111561135b57600080fd5b803590602001918460208302840111600160201b8311171561137c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550612d9c945050505050565b6113d7600480360360208110156113d057600080fd5b5035612dcc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561141b578181015183820152602001611403565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561145a578181015183820152602001611442565b5050505090500194505050505060405180910390f35b6104576004803603602081101561148657600080fd5b5035612e96565b61032561315e565b6102ec613167565b610325600480360360408110156114b357600080fd5b506001600160a01b038135811691602001351661316d565b6102ec61319b565b610457600480360360408110156114e957600080fd5b50803590602001356001600160a01b03166131a1565b6104576004803603602081101561151557600080fd5b50356135e9565b6104576004803603602081101561153257600080fd5b50356001600160a01b0316613712565b610457613797565b600d602052816000526040600020818154811061156357fe5b90600052602060002001600091509150505481565b6001600160e01b0319811660009081526001602052604090205460ff165b919050565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b820191906000526020600020905b81548152906001019060200180831161160a57829003601f168201915b505050505090505b90565b60005b81518110156116625761165a82828151811061164d57fe5b6020026020010151612263565b600101611635565b5050565b6000611671826137bd565b6116ac5760405162461bcd60e51b815260040180806020018281038252602c815260200180614d56602c913960400191505060405180910390fd5b506000908152600560205260409020546001600160a01b031690565b60006116d3826124ba565b9050806001600160a01b0316836001600160a01b031614156117265760405162461bcd60e51b8152600401808060200182810382526021815260200180614e386021913960400191505060405180910390fd5b806001600160a01b03166117386137d0565b6001600160a01b031614806117595750611759816117546137d0565b61316d565b6117945760405162461bcd60e51b8152600401808060200182810382526038815260200180614c886038913960400191505060405180910390fd5b61179e83836137d4565b505050565b60008060006060806060600060608060006117bc614929565b60008c8152600f60209081526040918290208251610180810184528154815260018201548184015260028201548185015260038201546060820152600482018054855181860281018601909652808652919492936080860193929083018282801561184657602002820191906000526020600020905b815481526020019060010190808311611832575b50505050508152602001600582018054806020026020016040519081016040528092919081815260200182805480156118a857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161188a575b5050509183525050600682015460208083019190915260078301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156119465780601f1061191b57610100808354040283529160200191611946565b820191906000526020600020905b81548152906001019060200180831161192957829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156119da5780601f106119af576101008083540402835291602001916119da565b820191906000526020600020905b8154815290600101906020018083116119bd57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015611a6e5780601f10611a4357610100808354040283529160200191611a6e565b820191906000526020600020905b815481529060010190602001808311611a5157829003601f168201915b50505050508152602001600a820160009054906101000a900460ff16151515158152602001600a820160019054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815250509050806000015181604001518260c001518360e001518461010001518561012001518661016001518760a0015188608001518961014001518696508595508494508292508191509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b6000546001600160a01b03163314611b4157600080fd5b6116628282613842565b6000611b5760036138a5565b905090565b600c60209081526000928352604080842090915290825290205460ff1681565b60135481565b611b93611b8d6137d0565b826138b0565b611bce5760405162461bcd60e51b8152600401808060200182810382526031815260200180614e596031913960400191505060405180910390fd5b61179e838383613954565b6000546001600160a01b03163314611bf057600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381166000908152600d6020908152604091829020805483518184028101840190945280845260609392830182828015611c7257602002820191906000526020600020905b815481526020019060010190808311611c5e575b50505050509050919050565b6001600160a01b0382166000908152600260205260408120611ca6908363ffffffff613ab216565b90505b92915050565b6000546001600160a01b03163314611cc657600080fd5b6000868152600f60205260409020600301544210611d22576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000868152600f60209081526040909120600381018790558551611d4e92600790920191870190614995565b506000868152600f602090815260409091208451611d7492600990920191860190614995565b506000868152600f602090815260409091208351611d9a92600890920191850190614995565b506000958652600f60205260409095206006019490945550505050565b6000546001600160a01b03163314611dce57600080fd5b8351835114611e0e5760405162461bcd60e51b8152600401808060200182810382526029815260200180614ead6029913960400191505060405180910390fd5b6000805b8551811015611e4057848181518110611e2757fe5b6020026020010151820191508080600101915050611e12565b5080606414611e805760405162461bcd60e51b8152600401808060200182810382526023815260200180614e8a6023913960400191505060405180910390fd5b8151835114611ec05760405162461bcd60e51b8152600401808060200182810382526030815260200180614c2c6030913960400191505060405180910390fd5b611ec8614929565b6011548160000181815250508b816020018181525050868160600181815250506012548160400181815250508a8160c0018181525050898160e0018190525087816101000181905250858160a001819052508481608001819052508881610120018190525080600f60006011548152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004019080519060200190611f87929190614a13565b5060a08201518051611fa3916005840191602090910190614a4d565b5060c0820151600682015560e08201518051611fc9916007840191602090910190614995565b506101008201518051611fe6916008840191602090910190614995565b506101208201518051612003916009840191602090910190614995565b50610140820151600a9091018054610160909301516001600160a01b031661010002610100600160a81b031992151560ff19909416939093179190911691909117905560015b8c81116120bd57612058614aae565b50604080518082018252858152602080820188905260125484016000908152601082529290922081518051929384936120949284920190614a13565b5060208281015180516120ad9260018501920190614a4d565b5050600190920191506120499050565b50876040518082805190602001908083835b602083106120ee5780518252601f1990920191602091820191016120cf565b51815160209384036101000a60001901801990921691161790526040519190930181900381208e519095508e945090928392508401908083835b602083106121475780518252601f199092019160209182019101612128565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208b6040518082805190602001908083835b602083106121a45780518252601f199092019160209182019101612185565b51815160209384036101000a600019018019909216911617905260408051929094018290038220601154835293519395507f8a3c49c707ce21410593d8a8b6b8bc88cb83c6f4aa55ce4683eabd62e0d2636594509083900301919050a4505060128054909a01909955505060118054600101905550505050505050565b61179e83838360405180602001604052806000815250612abb565b6000611ca9826137bd565b60008061225b60038463ffffffff613abe16565b509392505050565b60145460ff16156122ae576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600a015460ff1615612306576040805162461bcd60e51b815260206004820152600e60248201526d4f70656e656420416c726561647960901b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031661236d576040805162461bcd60e51b8152602060048201526013602482015272141858dac81dd85cc81b9bdd08189bdd59da1d606a1b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031633146123e0576040805162461bcd60e51b815260206004820152601b60248201527f596f752077657265206e6f7420746865207061636b2062757965720000000000604482015290519081900360640190fd5b6000818152600f6020526040808220600a01805460ff1916600117905551829133917f459bdaa71b6c253b49d34a7622dc4c6c1c416c0567571c068b392ba7172ddd4c9190a350565b6000546001600160a01b0316331461244057600080fd5b61244981613ada565b50565b6000546001600160a01b0316331461246357600080fd5b806124b5576040805162461bcd60e51b815260206004820152601d60248201527f6e657750726963652068617320746f20686967686572207468616e2030000000604482015290519081900360640190fd5b601355565b6000611ca982604051806060016040528060298152602001614cea602991396003919063ffffffff613aed16565b600b546001600160a01b031681565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b60115481565b60006001600160a01b0382166125a55760405162461bcd60e51b815260040180806020018281038252602a815260200180614cc0602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600260205260409020611ca9906138a5565b6013546000828152600f60205260408120600601549091611ca9916103e8916125f5919063ffffffff613b0416565b9063ffffffff613b5d16565b6000546001600160a01b031681565b60088054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156116275780601f106115fc57610100808354040283529160200191611627565b336000908152600c6020908152604080832084845290915290205460ff166126ca5760405162461bcd60e51b8152600401808060200182810382526032815260200180614dae6032913960400191505060405180910390fd5b6000818152600e602052604090205460ff161561271f576040805162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481b5a5b9d195960921b604482015290519081900360640190fd5b6000818152600e60205260409020805460ff191660011790556127423382613bc4565b60405181907f7f8949b6eca2b14d0feb1af0844a112998e467a4f88b8683301f3a6e409f32ae90600090a250565b6127786137d0565b6001600160a01b0316826001600160a01b031614156127de576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b80600660006127eb6137d0565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561282f6137d0565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6000546001600160a01b0316331461288c57600080fd5b6014805460ff19169055565b600e6020526000908152604090205460ff1681565b600f602052806000526040600020600091509050806000015490806001015490806002015490806003015490806006015490806007018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129775780601f1061294c57610100808354040283529160200191612977565b820191906000526020600020905b81548152906001019060200180831161295a57829003601f168201915b5050505060088301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015612a075780601f106129dc57610100808354040283529160200191612a07565b820191906000526020600020905b8154815290600101906020018083116129ea57829003601f168201915b5050505060098301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152949594935090830182828015612a975780601f10612a6c57610100808354040283529160200191612a97565b820191906000526020600020905b815481529060010190602001808311612a7a57829003601f168201915b505050600a909301549192505060ff8116906001600160a01b03610100909104168a565b612acc612ac66137d0565b836138b0565b612b075760405162461bcd60e51b8152600401808060200182810382526031815260200180614e596031913960400191505060405180910390fd5b612b1384848484613bde565b50505050565b6060612b24826137bd565b612b5f5760405162461bcd60e51b815260040180806020018281038252602f815260200180614e09602f913960400191505060405180910390fd5b60008281526009602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015612bf45780601f10612bc957610100808354040283529160200191612bf4565b820191906000526020600020905b815481529060010190602001808311612bd757829003601f168201915b505050505090506060612c056124f7565b9050805160001415612c1957509050611596565b815115612cda5780826040516020018083805190602001908083835b60208310612c545780518252601f199092019160209182019101612c35565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612c9c5780518252601f199092019160209182019101612c7d565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050611596565b80612ce485613c30565b6040516020018083805190602001908083835b60208310612d165780518252601f199092019160209182019101612cf7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612d5e5780518252601f199092019160209182019101612d3f565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b60005b815181101561166257612dc4828281518110612db757fe5b6020026020010151612e96565b600101612d9f565b6000818152601060209081526040918290208054835181840281018401909452808452606093849360018401928491830182828015612e2a57602002820191906000526020600020905b815481526020019060010190808311612e16575b5050505050915080805480602002602001604051908101604052809291908181526020018280548015612e8657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612e68575b5050505050905091509150915091565b60145460ff1615612ee1576040805162461bcd60e51b815260206004820152601060248201526f13dc195b995c881a5cc81b1bd8dad95960821b604482015290519081900360640190fd5b6000818152600f60205260409020600a015461010090046001600160a01b031615612f53576040805162461bcd60e51b815260206004820152601760248201527f5061636b2077617320616c726561647920626f75676874000000000000000000604482015290519081900360640190fd5b6000818152600f6020526040902060060154612faa576040805162461bcd60e51b8152602060048201526011602482015270141858dac81a185cc81d1bc8195e1a5cdd607a1b604482015290519081900360640190fd5b6000612fb5826125c6565b600b5460408051636eb1769f60e11b8152336004820152306024820152905192935083926001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b15801561300b57600080fd5b505afa15801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505110156130745760405162461bcd60e51b815260040180806020018281038252604f815260200180614b65604f913960600191505060405180910390fd5b33613080818484613cf4565b60158054600101905560005b6000848152600f60205260409020600101548110156130fb57336000818152600c60209081526040808320888452600f835281842060020154860184528252808320805460ff19166001908117909155938352600d82528220805480850182559083529120018290550161308c565b506000838152600f6020526040808220600a018054610100600160a81b0319166101006001600160a01b03861690810291909117909155905185927f0c858281857728a99873d7eecba476650fcec02213b05ffc7b6205e05b45b0ff91a3505050565b60145460ff1681565b60125481565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b60155481565b6000546001600160a01b031633146131b857600080fd5b6000828152600f60205260409020548214613210576040805162461bcd60e51b8152602060048201526013602482015272141858dac8191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b613218614929565b6000838152600f6020908152604091829020825161018081018452815481526001820154818401526002820154818501526003820154606082015260048201805485518186028101860190965280865291949293608086019392908301828280156132a257602002820191906000526020600020905b81548152602001906001019080831161328e575b505050505081526020016005820180548060200260200160405190810160405280929190818152602001828054801561330457602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116132e6575b5050509183525050600682015460208083019190915260078301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156133a25780601f10613377576101008083540402835291602001916133a2565b820191906000526020600020905b81548152906001019060200180831161338557829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156134365780601f1061340b57610100808354040283529160200191613436565b820191906000526020600020905b81548152906001019060200180831161341957829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529382019392918301828280156134ca5780601f1061349f576101008083540402835291602001916134ca565b820191906000526020600020905b8154815290600101906020018083116134ad57829003601f168201915b5050509183525050600a9182015460ff81161515602080840191909152610100918290046001600160a01b039081166040948501526000898152600f9092529281209093018054610100600160a81b0319169287169091029190911790556015805460010190559091505b6000848152600f60205260409020600101548110156135ad576001600160a01b0383166000818152600c60209081526040808320888452600f835281842060020154860184528252808320805460ff19166001908117909155938352600d825282208054808501825590835291200182905501613535565b5060405183906001600160a01b038416907f0c858281857728a99873d7eecba476650fcec02213b05ffc7b6205e05b45b0ff90600090a3505050565b6000546001600160a01b0316331461360057600080fd5b6000818152600f6020526040902060030154421061365c576040805162461bcd60e51b815260206004820152601460248201527353616c6520697320616c7265616479206c69766560601b604482015290519081900360640190fd5b6000818152600f60205260408120818155600181018290556002810182905560038101829055906136906004830182614ac8565b61369e600583016000614ac8565b60068201600090556007820160006136b69190614ae6565b6136c4600883016000614ae6565b6136d2600983016000614ae6565b50600a0180546001600160a81b031916905560405181907fc02722c9e8790b48040a1db93c8b8e288fa395ffeed86c32215412ec047fd89290600090a250565b6000546001600160a01b0316331461372957600080fd5b6001600160a01b03811661373c57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146137ae57600080fd5b6014805460ff19166001179055565b6000611ca960038363ffffffff6140e516565b3390565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190613809826124ba565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61384b826137bd565b6138865760405162461bcd60e51b815260040180806020018281038252602c815260200180614d82602c913960400191505060405180910390fd5b6000828152600960209081526040909120825161179e92840190614995565b6000611ca9826140f1565b60006138bb826137bd565b6138f65760405162461bcd60e51b815260040180806020018281038252602c815260200180614c5c602c913960400191505060405180910390fd5b6000613901836124ba565b9050806001600160a01b0316846001600160a01b0316148061393c5750836001600160a01b031661393184611666565b6001600160a01b0316145b8061394c575061394c818561316d565b949350505050565b826001600160a01b0316613967826124ba565b6001600160a01b0316146139ac5760405162461bcd60e51b8152600401808060200182810382526029815260200180614de06029913960400191505060405180910390fd5b6001600160a01b0382166139f15760405162461bcd60e51b8152600401808060200182810382526024815260200180614c086024913960400191505060405180910390fd5b6139fc83838361179e565b613a076000826137d4565b6001600160a01b0383166000908152600260205260409020613a2f908263ffffffff6140f516565b506001600160a01b0382166000908152600260205260409020613a58908263ffffffff61410116565b50613a6b6003828463ffffffff61410d16565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000611ca68383614123565b6000808080613acd8686614187565b9097909650945050505050565b805161166290600a906020840190614995565b6000613afa848484614202565b90505b9392505050565b600082613b1357506000611ca9565b82820282848281613b2057fe5b0414611ca65760405162461bcd60e51b8152600401808060200182810382526021815260200180614d356021913960400191505060405180910390fd5b6000808211613bb3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381613bbc57fe5b049392505050565b6116628282604051806020016040528060008152506142cc565b613be9848484613954565b613bf58484848461431e565b612b135760405162461bcd60e51b8152600401808060200182810382526032815260200180614bd66032913960400191505060405180910390fd5b606081613c5557506040805180820190915260018152600360fc1b6020820152611596565b8160005b8115613c6d57600101600a82049150613c59565b6060816040519080825280601f01601f191660200182016040528015613c9a576020820181803883390190505b50859350905060001982015b8315613ceb57600a840660300160f81b82828060019003935081518110613cc957fe5b60200101906001600160f81b031916908160001a905350600a84049350613ca6565b50949350505050565b613cfc614929565b6000838152600f602090815260409182902082516101808101845281548152600182015481840152600282015481850152600382015460608201526004820180548551818602810186019096528086529194929360808601939290830182828015613d8657602002820191906000526020600020905b815481526020019060010190808311613d72575b5050505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015613de857602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613dca575b5050509183525050600682015460208083019190915260078301805460408051601f60026000196101006001871615020190941693909304928301859004850281018501825282815294019392830182828015613e865780601f10613e5b57610100808354040283529160200191613e86565b820191906000526020600020905b815481529060010190602001808311613e6957829003601f168201915b505050918352505060088201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613f1a5780601f10613eef57610100808354040283529160200191613f1a565b820191906000526020600020905b815481529060010190602001808311613efd57829003601f168201915b505050918352505060098201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152938201939291830182828015613fae5780601f10613f8357610100808354040283529160200191613fae565b820191906000526020600020905b815481529060010190602001808311613f9157829003601f168201915b5050509183525050600a919091015460ff81161515602083015261010090046001600160a01b0316604090910152905060005b8160a00151518110156140de57600b5460a083015180516001600160a01b03909216916323b872dd9188918590811061401657fe5b60200260200101516064878760800151878151811061403157fe5b6020026020010151028161404157fe5b046040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b1580156140aa57600080fd5b505af11580156140be573d6000803e3d6000fd5b505050506040513d60208110156140d457600080fd5b5050600101613fe1565b5050505050565b6000611ca6838361449e565b5490565b6000611ca683836144b6565b6000611ca6838361457c565b6000613afa84846001600160a01b0385166145c6565b815460009082106141655760405162461bcd60e51b8152600401808060200182810382526022815260200180614bb46022913960400191505060405180910390fd5b82600001828154811061417457fe5b9060005260206000200154905092915050565b8154600090819083106141cb5760405162461bcd60e51b8152600401808060200182810382526022815260200180614d136022913960400191505060405180910390fd5b60008460000184815481106141dc57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161429d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561426257818101518382015260200161424a565b50505050905090810190601f16801561428f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508460000160018203815481106142b057fe5b9060005260206000209060020201600101549150509392505050565b6142d6838361465d565b6142e3600084848461431e565b61179e5760405162461bcd60e51b8152600401808060200182810382526032815260200180614bd66032913960400191505060405180910390fd5b6000614332846001600160a01b0316614797565b61433e5750600161394c565b6060614464630a85bd0160e11b6143536137d0565b88878760405160240180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156143cc5781810151838201526020016143b4565b50505050905090810190601f1680156143f95780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001614bd6603291396001600160a01b038816919063ffffffff61479d16565b9050600081806020019051602081101561447d57600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b6000818152600183016020526040812054801561457257835460001980830191908101906000908790839081106144e957fe5b906000526020600020015490508087600001848154811061450657fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061453657fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050611ca9565b6000915050611ca9565b6000614588838361449e565b6145be57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611ca9565b506000611ca9565b60008281526001840160205260408120548061462b575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055613afd565b8285600001600183038154811061463e57fe5b9060005260206000209060020201600101819055506000915050613afd565b6001600160a01b0382166146b8576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b6146c1816137bd565b15614713576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b61471f6000838361179e565b6001600160a01b0382166000908152600260205260409020614747908263ffffffff61410116565b5061475a6003828463ffffffff61410d16565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b3b151590565b6060613afa8484600085856147b185614797565b614802576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106148415780518252601f199092019160209182019101614822565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146148a3576040519150601f19603f3d011682016040523d82523d6000602084013e6148a8565b606091505b50915091506148b88282866148c3565b979650505050505050565b606083156148d2575081613afd565b8251156148e25782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561426257818101518382015260200161424a565b6040518061018001604052806000815260200160008152602001600081526020016000815260200160608152602001606081526020016000815260200160608152602001606081526020016060815260200160001515815260200160006001600160a01b031681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106149d657805160ff1916838001178555614a03565b82800160010185558215614a03579182015b82811115614a035782518255916020019190600101906149e8565b50614a0f929150614b26565b5090565b828054828255906000526020600020908101928215614a035791602002820182811115614a035782518255916020019190600101906149e8565b828054828255906000526020600020908101928215614aa2579160200282015b82811115614aa257825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614a6d565b50614a0f929150614b40565b604051806040016040528060608152602001606081525090565b50805460008255906000526020600020908101906124499190614b26565b50805460018160011615610100020316600290046000825580601f10614b0c5750612449565b601f01602090049060005260206000209081019061244991905b61162f91905b80821115614a0f5760008155600101614b2c565b61162f91905b80821115614a0f5780546001600160a01b0319168155600101614b4656fe466972737420796f75206861766520746f20616c6c6f772074686520757365206f662074686520746f6b656e7320627920746865204f70656e65722c2075736520616c6c6f772066756e6374696f6e456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573736d61726b6574706c616365446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d654552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e6473536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732314d657461646174613a2055524920736574206f66206e6f6e6578697374656e7420746f6b656e546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656453756d206f6620616c6c20616d6f756e74732068617320746f20657175616c2031303073616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65a2646970667358221220ed4cc682495000c69bea0573cbe730b59f1a16c862b9bb0abd7d5912bdc38b9e64736f6c63430006020033", - "sourceMap": "205:9222:10:-:0;;;789:1;756:34;;;;796:28;;-1:-1:-1;1161:40:10;;;;1208:27;;;-1:-1:-1;;1208:27:10;;;1241:31;;1880:107;5:2:-1;;;;30:1;27;20:12;5:2;1880:107:10;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1880:107:10;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1880:107:10;;420:4:-1;411:14;;;;1880:107:10;;;;;411:14:-1;1880:107:10;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1880:107:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;1880:107:10;;420:4:-1;411:14;;;;1880:107:10;;;;;411:14:-1;1880:107:10;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1880:107:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1880:107:10;;;;;508:5:11;:18;;-1:-1:-1;;;;;;508:18:11;516:10;508:18;;;1880:107:10;-1:-1:-1;1971:4:10;;-1:-1:-1;1977:6:10;768:40:12;-1:-1:-1;;;;;;;;768:18:12;:40;:::i;:::-;3651:13:17;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3674:17:17;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3779:40:17;-1:-1:-1;;;;;;;;3779:18:17;:40;:::i;:::-;3829:49;-1:-1:-1;;;;;;;;3829:18:17;:49;:::i;:::-;3888:51;-1:-1:-1;;;;;;;;3888:18:17;:51;:::i;:::-;3577:369;;1880:107:10;;;205:9222;;1507:198:12;-1:-1:-1;;;;;;1590:25:12;;;;;1582:66;;;;;-1:-1:-1;;;1582:66:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1658:33:12;;;;;1694:4;1658:33;;;;;;;;:40;;-1:-1:-1;;1658:40:12;;;;;;1507:198::o;205:9222:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;205:9222:10;;;-1:-1:-1;205:9222:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "205:9222:10:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;205:9222:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;513:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;513:55:10;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;965:148:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;965:148:12;-1:-1:-1;;;;;;965:148:12;;:::i;:::-;;;;;;;;;;;;;;;;;;4517:98:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4517:98:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5271:154:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5271:154:10;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5271:154:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5271:154:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5271:154:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5271:154:10;;-1:-1:-1;5271:154:10;;-1:-1:-1;;;;;5271:154:10:i;:::-;;7222:217:17;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7222:217:17;;:::i;:::-;;;;-1:-1:-1;;;;;7222:217:17;;;;;;;;;;;;;;6766:395;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6766:395:17;;;;;;;;:::i;2959:449:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2959:449:10;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2959:449:10;-1:-1:-1;;;;;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2959:449:10;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2959:449:10;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2959:449:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2482:117;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2482:117:10;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2482:117:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2482:117:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2482:117:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2482:117:10;;-1:-1:-1;2482:117:10;;-1:-1:-1;;;;;2482:117:10:i;6260:208:17:-;;;:::i;442:65:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;442:65:10;;;;;;;;:::i;1161:40::-;;;:::i;8086:300:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8086:300:17;;;;;;;;;;;;;;;;;:::i;8927:118:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8927:118:10;-1:-1:-1;;;;;8927:118:10;;:::i;2819:134::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2819:134:10;-1:-1:-1;;;;;2819:134:10;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2819:134:10;;;;;;;;;;;;;;;;;6029:160:17;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6029:160:17;;;;;;;;:::i;7886:451:10:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;7886:451:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;7886:451:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7886:451:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7886:451:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7886:451:10;;;;;;;;-1:-1:-1;7886:451:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;7886:451:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7886:451:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7886:451:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7886:451:10;;;;;;;;-1:-1:-1;7886:451:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;7886:451:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7886:451:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;7886:451:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;7886:451:10;;-1:-1:-1;;7886:451:10;;;-1:-1:-1;7886:451:10;;-1:-1:-1;;7886:451:10:i;5431:1906::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5431:1906:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;;-1:-1:-1;5431:1906:10;;;;-1:-1:-1;5431:1906:10;;;;-1:-1:-1;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;;;;;;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5:28;;2:2;;;46:1;43;36:12;2:2;5431:1906:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5431:1906:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5431:1906:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;5431:1906:10;;-1:-1:-1;5431:1906:10;;-1:-1:-1;;;;;5431:1906:10:i;8452:149:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8452:149:17;;;;;;;;;;;;;;;;;:::i;2709:100:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2709:100:10;;:::i;6540:169:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6540:169:17;;:::i;4862:403:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4862:403:10;;:::i;2605:97::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2605:97:10;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;2605:97:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2605:97:10;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2605:97:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2605:97:10;;-1:-1:-1;2605:97:10;;-1:-1:-1;;;;;2605:97:10:i;9051:231::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9051:231:10;;:::i;4280:175:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4280:175:17;;:::i;288:27:10:-;;;:::i;5855:95:17:-;;;:::i;756:34:10:-;;;:::i;4005:218:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4005:218:17;-1:-1:-1;;;;;4005:218:17;;:::i;3699:149:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3699:149:10;;:::i;239:20:11:-;;;:::i;4679:102:17:-;;;:::i;8560:361:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8560:361:10;;:::i;7506:290:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7506:290:17;;;;;;;;;;:::i;9358:67:10:-;;;:::i;574:45::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;574:45:10;;:::i;630:37::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;630:37:10;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;630:37:10;-1:-1:-1;;;;;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;630:37:10;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;630:37:10;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8667:282:17;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;8667:282:17;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;8667:282:17;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;-1:-1;;;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;8667:282:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;8667:282:17;;-1:-1:-1;8667:282:17;;-1:-1:-1;;;;;8667:282:17:i;4847:776::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4847:776:17;;:::i;4704:152:10:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4704:152:10;;;;;;;;-1:-1:-1;;;5:28;;2:2;;;46:1;43;36:12;2:2;4704:152:10;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4704:152:10;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;-1:-1;;;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4704:152:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;4704:152:10;;-1:-1:-1;4704:152:10;;-1:-1:-1;;;;;4704:152:10:i;3414:279::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3414:279:10;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3414:279:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3414:279:10;;;;;;;;;;;;;;;;;;;3854:844;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3854:844:10;;:::i;1208:27::-;;;:::i;796:28::-;;;:::i;7862:162:17:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7862:162:17;;;;;;;;;;:::i;1241:31:10:-;;;:::i;7344:536::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7344:536:10;;;;;;-1:-1:-1;;;;;7344:536:10;;:::i;8343:211::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8343:211:10;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;9288:64:10:-;;;:::i;513:55::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;965:148:12:-;-1:-1:-1;;;;;;1073:33:12;;1050:4;1073:33;;;:20;:33;;;;;;;;965:148;;;;:::o;4517:98:17:-;4603:5;4596:12;;;;;;;;-1:-1:-1;;4596:12:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4571:13;;4596:12;;4603:5;;4596:12;;4603:5;4596:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4517:98;;:::o;5271:154:10:-;5337:6;5333:85;5353:7;:14;5349:1;:18;5333:85;;;5387:20;5396:7;5404:1;5396:10;;;;;;;;;;;;;;5387:8;:20::i;:::-;5369:3;;5333:85;;;;5271:154;:::o;7222:217:17:-;7298:7;7325:16;7333:7;7325;:16::i;:::-;7317:73;;;;-1:-1:-1;;;7317:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7408:24:17;;;;:15;:24;;;;;;-1:-1:-1;;;;;7408:24:17;;7222:217::o;6766:395::-;6846:13;6862:23;6877:7;6862:14;:23::i;:::-;6846:39;;6909:5;-1:-1:-1;;;;;6903:11:17;:2;-1:-1:-1;;;;;6903:11:17;;;6895:57;;;;-1:-1:-1;;;6895:57:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6987:5;-1:-1:-1;;;;;6971:21:17;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6971:21:17;;:69;;;;6996:44;7020:5;7027:12;:10;:12::i;:::-;6996:23;:44::i;:::-;6963:159;;;;-1:-1:-1;;;6963:159:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:21;7142:2;7146:7;7133:8;:21::i;:::-;6766:395;;;:::o;2959:449:10:-;3013:7;3023;3032;3041:13;3056;3071;3086:7;3104:16;3122;3140:4;3157:16;;:::i;:::-;3176:14;;;;:5;:14;;;;;;;;;3157:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3176:14;;3157:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3157:33:10;;;;;;;;;;;;;;;;-1:-1:-1;;;3157:33:10;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3157:33:10;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3157:33:10;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;-1:-1:-1;;3157:33:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3157:33:10;-1:-1:-1;;;;;3157:33:10;-1:-1:-1;;;;;3157:33:10;;;;;;;3221:4;:11;;;3234:4;:17;;;3253:4;:10;;;3265:4;:10;;;3277:4;:9;;;3288:4;:13;;;3303:4;:10;;;3327:4;:30;;;3359:4;:28;;;3389:4;:11;;;3200:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2959:449;;;;;;;;;;;:::o;2482:117::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;2566:26:10::1;2579:7;2588:3;2566:12;:26::i;6260:208:17:-:0;6321:7;6440:21;:12;:19;:21::i;:::-;6433:28;;6260:208;:::o;442:65:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1161:40::-;;;;:::o;8086:300:17:-;8245:41;8264:12;:10;:12::i;:::-;8278:7;8245:18;:41::i;:::-;8237:103;;;;-1:-1:-1;;;8237:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:28;8361:4;8367:2;8371:7;8351:9;:28::i;8927:118:10:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;9008:14:10::1;:30:::0;;-1:-1:-1;;;;;;9008:30:10::1;-1:-1:-1::0;;;;;9008:30:10;;;::::1;::::0;;;::::1;::::0;;8927:118::o;2819:134::-;-1:-1:-1;;;;;2918:28:10;;;;;;:18;:28;;;;;;;;;2911:35;;;;;;;;;;;;;;;;;2883:16;;2911:35;;;2918:28;2911:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2819:134;;;:::o;6029:160:17:-;-1:-1:-1;;;;;6152:20:17;;6126:7;6152:20;;;:13;:20;;;;;:30;;6176:5;6152:30;:23;:30;:::i;:::-;6145:37;;6029:160;;;;;:::o;7886:451:10:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;8078:14:10::1;::::0;;;:5:::1;:14;::::0;;;;:24:::1;;::::0;8060:15:::1;:42;8052:75;;;::::0;;-1:-1:-1;;;8052:75:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;8052:75:10;;;;;;;;;;;;;::::1;;8137:14;::::0;;;:5:::1;:14;::::0;;;;;;;:24:::1;::::0;::::1;:37:::0;;;8184:28;;::::1;::::0;:20:::1;::::0;;::::1;::::0;:28;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;8222:14:10::1;::::0;;;:5:::1;:14;::::0;;;;;;;:34;;::::1;::::0;:23:::1;::::0;;::::1;::::0;:34;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;8266:14:10::1;::::0;;;:5:::1;:14;::::0;;;;;;;:26;;::::1;::::0;:19:::1;::::0;;::::1;::::0;:26;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;8302:14:10::1;::::0;;;:5:::1;:14;::::0;;;;;:20:::1;;:28:::0;;;;-1:-1:-1;;;;7886:451:10:o;5431:1906::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;5900:25:10::1;:32;5866:23;:30;:66;5858:120;;;;-1:-1:-1::0;;;5858:120:10::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5988:17;::::0;6019:122:::1;6039:25;:32;6035:1;:36;6019:122;;;6104:23;6128:1;6104:26;;;;;;;;;;;;;;6091:39;;;;6073:3;;;;;;;6019:122;;;;6158:9;6171:3;6158:16;6150:64;;;;-1:-1:-1::0;;;6150:64:10::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6277:30;:37;6234:32;:39;:80;6226:141;;;;-1:-1:-1::0;;;6226:141:10::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6378:16;;:::i;:::-;6418:15;;6404:4;:11;;:29;;;::::0;::::1;6460:9;6443:4;:14;;:26;;;::::0;::::1;6496:9;6479:4;:14;;:26;;;::::0;::::1;6535:9;;6515:4;:17;;:29;;;::::0;::::1;6567:5;6554:4;:10;;:18;;;::::0;::::1;6595:5;6582:4;:10;;:18;;;;6622:4;6610;:9;;:16;;;;6669:25;6636:4;:30;;:58;;;;6735:23;6704:4;:28;;:54;;;;6784:8;6768:4;:13;;:24;;;;6827:4;6802:5;:22;6808:15;;6802:22;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;6802:29:10::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6802:29:10::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6802:29:10::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6802:29:10::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;6802:29:10::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;;;;;6802:29:10::1;;;-1:-1:-1::0;;;;;;6802:29:10;::::1;;-1:-1:-1::0;;6802:29:10;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;6851:325:::1;6872:9;6867:1;:14;6851:325;;6942:54;;:::i;:::-;-1:-1:-1::0;6999:89:10::1;::::0;;;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;7127:9:::1;::::0;:11;::::1;-1:-1:-1::0;7102:37:10;;;:24:::1;:37:::0;;;;;;:63;;;;6999:89;;;;7102:63:::1;::::0;:37;;:63:::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;7102:63:10::1;::::0;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;6883:3:10::1;::::0;;::::1;::::0;-1:-1:-1;6851:325:10::1;::::0;-1:-1:-1;6851:325:10::1;;;7237:4;7191:51;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;299:10:::0;344;;263:2:::1;259:12:::0;;::::1;254:3;250:22;-1:-1:::0;;246:30;311:9;::::1;295:26:::0;;::::1;340:21:::0;::::1;377:20;365:33:::0;;7191:51:10::1;::::0;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;7191:51:10;;-1:-1:-1;7191:51:10;;;;-1:-1:-1;7191:51:10;::::1;::::0;;;;36:153:-1::1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;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;;;7191:51:10;;;;;;;;;;;;;;;;7220:5;7191:51;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10:::0;;164:23;;-1:-1;;139:12;;;;98:2:::1;89:12:::0;;::::1;::::0;114::::1;36:153;;;299:10:::0;344;;263:2:::1;259:12:::0;;::::1;254:3;250:22;-1:-1:::0;;246:30;311:9;::::1;295:26:::0;;::::1;340:21:::0;::::1;377:20;365:33:::0;;7191:51:10::1;::::0;;;;;::::1;::::0;;::::1;::::0;;7203:15:::1;::::0;7191:51;;;;;;-1:-1:-1;7191:51:10::1;::::0;-1:-1:-1;7191:51:10;;;;;;;-1:-1:-1;7191:51:10::1;-1:-1:-1::0;;7264:9:10::1;::::0;;:21;;::::1;7252:33:::0;;;-1:-1:-1;;7313:15:10::1;::::0;;-1:-1:-1;7313:17:10::1;7295:35:::0;;-1:-1:-1;;;;;;;5431:1906:10:o;8452:149:17:-;8555:39;8572:4;8578:2;8582:7;8555:39;;;;;;;;;;;;:16;:39::i;2709:100:10:-;2763:4;2786:16;2794:7;2786;:16::i;6540:169:17:-;6615:7;;6656:22;:12;6672:5;6656:22;:15;:22;:::i;:::-;-1:-1:-1;6634:44:17;6540:169;-1:-1:-1;;;6540:169:17:o;4862:403:10:-;4922:7;;;;4921:8;4913:37;;;;;-1:-1:-1;;;4913:37:10;;;;;;;;;;;;-1:-1:-1;;;4913:37:10;;;;;;;;;;;;;;;4969:13;;;;:5;:13;;;;;:20;;;;;4968:21;4960:48;;;;;-1:-1:-1;;;4960:48:10;;;;;;;;;;;;-1:-1:-1;;;4960:48:10;;;;;;;;;;;;;;;5057:1;5026:13;;;:5;:13;;;;;:19;;;;;;-1:-1:-1;;;;;5026:19:10;5018:65;;;;;-1:-1:-1;;;5018:65:10;;;;;;;;;;;;-1:-1:-1;;;5018:65:10;;;;;;;;;;;;;;;5101:13;;;;:5;:13;;;;;:19;;;;;;-1:-1:-1;;;;;5101:19:10;5124:10;5101:33;5093:73;;;;;-1:-1:-1;;;5093:73:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;5177:13;;;;:5;:13;;;;;;:20;;:27;;-1:-1:-1;;5177:27:10;5200:4;5177:27;;;5228:30;5183:6;;5239:10;;5228:30;;5177:13;5228:30;4862:403;:::o;2605:97::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;2675:20:10::1;2687:7;2675:11;:20::i;:::-;2605:97:::0;:::o;9051:231::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;9186:13:10;9178:55:::1;;;::::0;;-1:-1:-1;;;9178:55:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9243:21;:32:::0;9051:231::o;4280:175:17:-;4352:7;4378:70;4395:7;4378:70;;;;;;;;;;;;;;;;;:12;;:70;;:16;:70;:::i;288:27:10:-;;;-1:-1:-1;;;;;288:27:10;;:::o;5855:95:17:-;5935:8;5928:15;;;;;;;;-1:-1:-1;;5928:15:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5903:13;;5928:15;;5935:8;;5928:15;;5935:8;5928:15;;;;;;;;;;;;;;;;;;;;;;;;756:34:10;;;;:::o;4005:218:17:-;4077:7;-1:-1:-1;;;;;4104:19:17;;4096:74;;;;-1:-1:-1;;;4096:74:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4187:20:17;;;;;;:13;:20;;;;;:29;;:27;:29::i;3699:149:10:-;3808:21;;3758:7;3784:13;;;:5;:13;;;;;:19;;;3758:7;;3784:57;;3835:5;;3784:46;;:19;:46;:23;:46;:::i;:::-;:50;:57;:50;:57;:::i;239:20:11:-;;;-1:-1:-1;;;;;239:20:11;;:::o;4679:102:17:-;4767:7;4760:14;;;;;;;;-1:-1:-1;;4760:14:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4735:13;;4760:14;;4767:7;;4760:14;;4767:7;4760:14;;;;;;;;;;;;;;;;;;;;;;;;8560:361:10;8636:10;8622:25;;;;:13;:25;;;;;;;;:40;;;;;;;;;;;8614:103;;;;-1:-1:-1;;;8614:103:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8736:28;;;;:13;:28;;;;;;;;8735:29;8727:56;;;;;-1:-1:-1;;;8727:56:10;;;;;;;;;;;;-1:-1:-1;;;8727:56:10;;;;;;;;;;;;;;;8794:28;;;;:13;:28;;;;;:35;;-1:-1:-1;;8794:35:10;8825:4;8794:35;;;8839:36;8849:10;8808:13;8839:9;:36::i;:::-;8890:24;;8900:13;;8890:24;;;;;8560:361;:::o;7506:290:17:-;7620:12;:10;:12::i;:::-;-1:-1:-1;;;;;7608:24:17;:8;-1:-1:-1;;;;;7608:24:17;;;7600:62;;;;;-1:-1:-1;;;7600:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;7718:8;7673:18;:32;7692:12;:10;:12::i;:::-;-1:-1:-1;;;;;7673:32:17;;;;;;;;;;;;;;;;;-1:-1:-1;7673:32:17;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7673:53:17;;;;;;;;;;;7756:12;:10;:12::i;:::-;7741:48;;;;;;;;;;-1:-1:-1;;;;;7741:48:17;;;;;;;;;;;;;;7506:290;;:::o;9358:67:10:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;9403:7:10::1;:15:::0;;-1:-1:-1;;9403:15:10::1;::::0;;9358:67::o;574:45::-;;;;;;;;;;;;;;;:::o;630:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;630:37:10;;;;;;;;;;;;;;;;-1:-1:-1;;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;630:37:10;;;;;;;;;;;;;;;;-1:-1:-1;;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;630:37:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;630:37:10;;;;;;;-1:-1:-1;;630:37:10;;;;-1:-1:-1;;;;;630:37:10;;;;;;:::o;8667:282:17:-;8798:41;8817:12;:10;:12::i;:::-;8831:7;8798:18;:41::i;:::-;8790:103;;;;-1:-1:-1;;;8790:103:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8903:39;8917:4;8923:2;8927:7;8936:5;8903:13;:39::i;:::-;8667:282;;;;:::o;4847:776::-;4920:13;4953:16;4961:7;4953;:16::i;:::-;4945:76;;;;-1:-1:-1;;;4945:76:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5058:19;;;;:10;:19;;;;;;;;;5032:45;;;;;;-1:-1:-1;;5032:45:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:23;;:45;;;5058:19;5032:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5087:18;5108:9;:7;:9::i;:::-;5087:30;;5196:4;5190:18;5212:1;5190:23;5186:70;;;-1:-1:-1;5236:9:17;-1:-1:-1;5229:16:17;;5186:70;5358:23;;:27;5354:106;;5432:4;5438:9;5415:33;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5415::17;;;;;;;;;;-1:-1:-1;5415:33:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5415:33:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5415:33:17;;;5401:48;;;;;;5354:106;5590:4;5596:18;:7;:16;:18::i;:::-;5573:42;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5573:42:17;;;;;;;;;;-1:-1:-1;5573:42:17;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5573:42:17;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;5573:42:17;;;5559:57;;;;4847:776;;;:::o;4704:152:10:-;4769:6;4765:84;4785:7;:14;4781:1;:18;4765:84;;;4819:19;4827:7;4835:1;4827:10;;;;;;;;;;;;;;4819:7;:19::i;:::-;4801:3;;4765:84;;3414:279;3551:34;;;;:24;:34;;;;;;;;;3543:143;;;;;;;;;;;;;;;;;3497:16;;;;3618:67;;;;3551:34;;3543:143;;3551:34;3543:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3543:143:10;;;;;;;;;;;;;;;;;;;;;;;;;;;3414:279;;;:::o;3854:844::-;3913:7;;;;3912:8;3904:37;;;;;-1:-1:-1;;;3904:37:10;;;;;;;;;;;;-1:-1:-1;;;3904:37:10;;;;;;;;;;;;;;;3990:1;3959:13;;;:5;:13;;;;;:19;;;;;;-1:-1:-1;;;;;3959:19:10;:33;3951:69;;;;;-1:-1:-1;;;3951:69:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;4038:13;;;;:5;:13;;;;;:19;;;4030:54;;;;;-1:-1:-1;;;4030:54:10;;;;;;;;;;;;-1:-1:-1;;;4030:54:10;;;;;;;;;;;;;;;4095:13;4111:25;4129:6;4111:17;:25::i;:::-;4155:14;;:51;;;-1:-1:-1;;;4155:51:10;;4180:10;4155:51;;;;4200:4;4155:51;;;;;;4095:41;;-1:-1:-1;4095:41:10;;-1:-1:-1;;;;;4155:14:10;;;;:24;;:51;;;;;;;;;;;;;;;:14;:51;;;5:2:-1;;;;30:1;27;20:12;5:2;4155:51:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4155:51:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4155:51:10;:60;;4147:152;;;;-1:-1:-1;;;4147:152:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4325:10;4346:42;4325:10;4374:6;4382:5;4346:21;:42::i;:::-;4399:12;:17;;4415:1;4399:17;;;:12;4427:188;4447:13;;;;:5;:13;;;;;:23;;;4443:27;;4427:188;;;4504:10;4490:25;;;;:13;:25;;;;;;;;4516:13;;;:5;:13;;;;;:26;;;:28;;4490:55;;;;;;;:62;;-1:-1:-1;;4490:62:10;4548:4;4490:62;;;;;;4566:30;;;:18;:30;;;;27:10:-1;;23:18;;;45:23;;4566:38:10;;;;;;;;;4472:3;4427:188;;;-1:-1:-1;4625:13:10;;;;:5;:13;;;;;;:19;;:26;;-1:-1:-1;;;;;;4625:26:10;;-1:-1:-1;;;;;4625:26:10;;;;;;;;;;;;4667:24;;4625:13;;4667:24;;;3854:844;;;:::o;1208:27::-;;;;;;:::o;796:28::-;;;;:::o;7862:162:17:-;-1:-1:-1;;;;;7982:25:17;;;7959:4;7982:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7862:162::o;1241:31:10:-;;;;:::o;7344:536::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;7440:13:10::1;::::0;;;:5:::1;:13;::::0;;;;:20;:30;::::1;7432:62;;;::::0;;-1:-1:-1;;;7432:62:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7432:62:10;;;;;;;;;;;;;::::1;;7504:16;;:::i;:::-;7523:13;::::0;;;:5:::1;:13;::::0;;;;;;;;7504:32;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;;;;;7523:13;;7504:32;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;7504:32:10::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;-1:-1:-1::0;;;7504:32:10;;;-1:-1:-1;;7504:32:10::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;;-1:-1:-1::0;;7504:32:10::1;;::::0;::::1;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;7504:32:10;;;-1:-1:-1;;7504:32:10::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;7504:32:10;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;7504:32:10;;;-1:-1:-1;;7504:32:10::1;::::0;::::1;::::0;;::::1;::::0;;::::1;;;::::0;::::1;;;;-1:-1:-1::0;;7504:32:10;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;7504:32:10;;;-1:-1:-1;;7504:32:10::1;::::0;;::::1;::::0;::::1;::::0;::::1;;;;::::0;;::::1;::::0;;;;::::1;::::0;;;::::1;-1:-1:-1::0;;;;;7504:32:10;;::::1;::::0;;;;;-1:-1:-1;7546:13:10;;;:5:::1;:13:::0;;;;;;:19;;::::1;:38:::0;;-1:-1:-1;;;;;;7546:38:10::1;::::0;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;7595:12:::1;:17:::0;;-1:-1:-1;7595:17:10::1;::::0;;7504:32;;-1:-1:-1;7623:200:10::1;7643:13;::::0;;;:5:::1;:13;::::0;;;;:23:::1;;::::0;7639:27;::::1;7623:200;;;-1:-1:-1::0;;;;;7686:31:10;::::1;;::::0;;;:13:::1;:31;::::0;;;;;;;7718:13;;;:5:::1;:13:::0;;;;;:26:::1;;::::0;:28;::::1;7686:61:::0;;;;;;;:68;;-1:-1:-1;;7686:68:10::1;7750:4;7686:68:::0;;::::1;::::0;;;7768:36;;;:18:::1;:36:::0;;;;27:10:-1;;23:18;;::::1;45:23:::0;;7768:44:10;;;;;::::1;::::0;;;7668:3:::1;7623:200;;;-1:-1:-1::0;7837:36:10::1;::::0;7866:6;;-1:-1:-1;;;;;7837:36:10;::::1;::::0;::::1;::::0;;;::::1;688:1:11;7344:536:10::0;;:::o;8343:211::-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;8436:13:10::1;::::0;;;:5:::1;:13;::::0;;;;:23:::1;;::::0;8418:15:::1;:41;8410:74;;;::::0;;-1:-1:-1;;;8410:74:10;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;8410:74:10;;;;;;;;;;;;;::::1;;8501:13;::::0;;;:5:::1;:13;::::0;;;;8494:20;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;8501:13;8494:20:::1;;::::0;::::1;8501:13:::0;8494:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;::::0;::::1;;;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;8494:20:10::1;;::::0;;-1:-1:-1;;;;;;8494:20:10;;;8529:18:::1;::::0;8540:6;;8529:18:::1;::::0;8494:20:::1;::::0;8529:18:::1;8343:211:::0;:::o;864:188:11:-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o;9288:64:10:-;672:5:11;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;9331:7:10::1;:14:::0;;-1:-1:-1;;9331:14:10::1;9341:4;9331:14;::::0;;9288:64::o;10383:125:17:-;10448:4;10471:30;:12;10493:7;10471:30;:21;:30;:::i;598:104:23:-;685:10;598:104;:::o;16225:189:17:-;16299:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16299:29:17;-1:-1:-1;;;;;16299:29:17;;;;;;;;:24;;16352:23;16299:24;16352:14;:23::i;:::-;-1:-1:-1;;;;;16343:46:17;;;;;;;;;;;16225:189;;:::o;14438:212::-;14537:16;14545:7;14537;:16::i;:::-;14529:73;;;;-1:-1:-1;;;14529:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:19;;;;:10;:19;;;;;;;;:31;;;;;;;;:::i;7820:121:24:-;7889:7;7915:19;7923:3;7915:7;:19::i;10666:351:17:-;10759:4;10783:16;10791:7;10783;:16::i;:::-;10775:73;;;;-1:-1:-1;;;10775:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10858:13;10874:23;10889:7;10874:14;:23::i;:::-;10858:39;;10926:5;-1:-1:-1;;;;;10915:16:17;:7;-1:-1:-1;;;;;10915:16:17;;:51;;;;10959:7;-1:-1:-1;;;;;10935:31:17;:20;10947:7;10935:11;:20::i;:::-;-1:-1:-1;;;;;10935:31:17;;10915:51;:94;;;;10970:39;10994:5;11001:7;10970:23;:39::i;:::-;10907:103;10666:351;-1:-1:-1;;;;10666:351:17:o;13707:584::-;13831:4;-1:-1:-1;;;;;13804:31:17;:23;13819:7;13804:14;:23::i;:::-;-1:-1:-1;;;;;13804:31:17;;13796:85;;;;-1:-1:-1;;;13796:85:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13917:16:17;;13909:65;;;;-1:-1:-1;;;13909:65:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13985:39;14006:4;14012:2;14016:7;13985:20;:39::i;:::-;14086:29;14103:1;14107:7;14086:8;:29::i;:::-;-1:-1:-1;;;;;14126:19:17;;;;;;:13;:19;;;;;:35;;14153:7;14126:35;:26;:35;:::i;:::-;-1:-1:-1;;;;;;14171:17:17;;;;;;:13;:17;;;;;:30;;14193:7;14171:30;:21;:30;:::i;:::-;-1:-1:-1;14212:29:17;:12;14229:7;14238:2;14212:29;:16;:29;:::i;:::-;;14276:7;14272:2;-1:-1:-1;;;;;14257:27:17;14266:4;-1:-1:-1;;;;;14257:27:17;;;;;;;;;;;13707:584;;;:::o;9250:135:25:-;9321:7;9355:22;9359:3;9371:5;9355:3;:22::i;8269:233:24:-;8349:7;;;;8408:22;8412:3;8424:5;8408:3;:22::i;:::-;8377:53;;;;-1:-1:-1;8269:233:24;-1:-1:-1;;;;;8269:233:24:o;14873:98:17:-;14945:19;;;;:8;;:19;;;;;:::i;9522:211:24:-;9629:7;9679:44;9684:3;9704;9710:12;9679:4;:44::i;:::-;9671:53;-1:-1:-1;9522:211:24;;;;;;:::o;3538:215:14:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:14:o;11348:108:17:-;11423:26;11433:2;11437:7;11423:26;;;;;;;;;;;;:9;:26::i;9811:269::-;9924:28;9934:4;9940:2;9944:7;9924:9;:28::i;:::-;9970:48;9993:4;9999:2;10003:7;10012:5;9970:22;:48::i;:::-;9962:111;;;;-1:-1:-1;;;9962:111:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;210:725:27;266:13;483:10;479:51;;-1:-1:-1;509:10:27;;;;;;;;;;;;-1:-1:-1;;;509:10:27;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;21:6:-1;;104:10;699:17:27;87:34:-1;135:17;;-1:-1;699:17:27;-1:-1:-1;769:5:27;;-1:-1:-1;677:39:27;-1:-1:-1;;;742:10:27;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:27;;;;;;;;-1:-1:-1;885:2:27;877:10;;;;784:114;;;-1:-1:-1;921:6:27;210:725;-1:-1:-1;;;;210:725:27:o;1993:483:10:-;2121:16;;:::i;:::-;2140:13;;;;:5;:13;;;;;;;;;2121:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2140:13;;2121:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2121:32:10;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:32:10;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:32:10;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:32:10;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:32:10;;;-1:-1:-1;;2121:32:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2121:32:10;;;;;;;-1:-1:-1;;2164:306:10;2184:4;:30;;;:37;2180:1;:41;2164:306;;;2279:14;;2346:30;;;;:33;;-1:-1:-1;;;;;2279:14:10;;;;:27;;2324:4;;2377:1;;2346:33;;;;;;;;;;;;2442:3;2432:6;2398:4;:28;;;2427:1;2398:31;;;;;;;;;;;;;;:40;2397:48;;;;;;2279:180;;;;;;;;;;;;;-1:-1:-1;;;;;2279:180:10;-1:-1:-1;;;;;2279:180:10;;;;;;-1:-1:-1;;;;;2279:180:10;-1:-1:-1;;;;;2279:180:10;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2279:180:10;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2279:180:10;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;2223:3:10;;2164:306;;;;1993:483;;;;:::o;7588:149:24:-;7672:4;7695:35;7705:3;7725;7695:9;:35::i;4491:108::-;4573:19;;4491:108::o;8365:135:25:-;8435:4;8458:35;8466:3;8486:5;8458:7;:35::i;8068:129::-;8135:4;8158:32;8163:3;8183:5;8158:4;:32::i;7027:183:24:-;7116:4;7139:64;7144:3;7164;-1:-1:-1;;;;;7178:23:24;;7139:4;:64::i;4452:201:25:-;4546:18;;4519:7;;4546:26;-1:-1:-1;4538:73:25;;;;-1:-1:-1;;;4538:73:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4628:3;:11;;4640:5;4628:18;;;;;;;;;;;;;;;;4621:25;;4452:201;;;;:::o;4942:274:24:-;5045:19;;5009:7;;;;5045:27;-1:-1:-1;5037:74:24;;;;-1:-1:-1;;;5037:74:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:22;5147:3;:12;;5160:5;5147:19;;;;;;;;;;;;;;;;;;5122:44;;5184:5;:10;;;5196:5;:12;;;5176:33;;;;;4942:274;;;;;:::o;6403:315::-;6497:7;6535:17;;;:12;;;:17;;;;;;6585:12;6570:13;6562:36;;;;-1:-1:-1;;;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;6562:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6651:3;:12;;6675:1;6664:8;:12;6651:26;;;;;;;;;;;;;;;;;;:33;;;6644:40;;;6403:315;;;;;:::o;11677:247:17:-;11772:18;11778:2;11782:7;11772:5;:18::i;:::-;11808:54;11839:1;11843:2;11847:7;11856:5;11808:22;:54::i;:::-;11800:117;;;;-1:-1:-1;;;11800:117:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15524:589;15644:4;15669:15;:2;-1:-1:-1;;;;;15669:13:17;;:15::i;:::-;15664:58;;-1:-1:-1;15707:4:17;15700:11;;15664:58;15731:23;15757:246;-1:-1:-1;;;15868:12:17;:10;:12::i;:::-;15894:4;15912:7;15933:5;15773:175;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;-1:-1:-1;;;;;15773:175:17;-1:-1:-1;;;;;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;15773:175:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;15773:175:17;;;;-1:-1:-1;;;;;15773:175:17;;38:4:-1;29:7;25:18;67:10;61:17;-1:-1;;;;;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;15773:175:17;15757:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15757:15:17;;;:246;;:15;:246;:::i;:::-;15731:272;;16013:13;16040:10;16029:32;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16029:32:17;-1:-1:-1;;;;;;16079:26:17;-1:-1:-1;;;16079:26:17;;-1:-1:-1;;;15524:589:17;;;;;;:::o;4278:123:24:-;4349:4;4372:17;;;:12;;;;;:17;;;;;;:22;;;4278:123::o;2212:1512:25:-;2278:4;2415:19;;;:12;;;:19;;;;;;2449:15;;2445:1273;;2878:18;;-1:-1:-1;;2830:14:25;;;;2878:22;;;;2806:21;;2878:3;;:22;;3160;;;;;;;;;;;;;;3140:42;;3303:9;3274:3;:11;;3286:13;3274:26;;;;;;;;;;;;;;;;;;;:38;;;;3378:23;;;3420:1;3378:12;;;:23;;;;;;3404:17;;;3378:43;;3527:17;;3378:3;;3527:17;;;;;;;;;;;;;;;;;;;;;;3619:3;:12;;:19;3632:5;3619:19;;;;;;;;;;;3612:26;;;3660:4;3653:11;;;;;;;;2445:1273;3702:5;3695:12;;;;;1640:404;1703:4;1724:21;1734:3;1739:5;1724:9;:21::i;:::-;1719:319;;-1:-1:-1;27:10;;39:1;23:18;;;45:23;;1761:11:25;:23;;;;;;;;;;;;;1941:18;;1919:19;;;:12;;;:19;;;;;;:40;;;;1973:11;;1719:319;-1:-1:-1;2022:5:25;2015:12;;1836:678:24;1912:4;2045:17;;;:12;;;:17;;;;;;2077:13;2073:435;;-1:-1:-1;;2161:38:24;;;;;;;;;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;2143:12:24;:57;;;;;;;;;;;;;;;;;;;;;;;;2355:19;;2335:17;;;:12;;;:17;;;;;;;:39;2388:11;;2073:435;2466:5;2430:3;:12;;2454:1;2443:8;:12;2430:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2492:5;2485:12;;;;;12246:393:17;-1:-1:-1;;;;;12325:16:17;;12317:61;;;;;-1:-1:-1;;;12317:61:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12397:16;12405:7;12397;:16::i;:::-;12396:17;12388:58;;;;;-1:-1:-1;;;12388:58:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;12457:45;12486:1;12490:2;12494:7;12457:20;:45::i;:::-;-1:-1:-1;;;;;12513:17:17;;;;;;:13;:17;;;;;:30;;12535:7;12513:30;:21;:30;:::i;:::-;-1:-1:-1;12554:29:17;:12;12571:7;12580:2;12554:29;:16;:29;:::i;:::-;-1:-1:-1;12599:33:17;;12624:7;;-1:-1:-1;;;;;12599:33:17;;;12616:1;;12599:33;;12616:1;;12599:33;12246:393;;:::o;726:413:22:-;1086:20;1124:8;;;726:413::o;3581:193::-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:22;5042:5;5050:4;5022:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5022:33:22;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;19;14:27;;;;67:4;61:11;56:16;;134:4;130:9;123:4;105:16;101:27;97:43;94:1;90:51;84:4;77:65;157:16;154:1;147:27;211:16;208:1;201:4;198:1;194:12;179:49;5:228;;14:27;32:4;27:9;;5:228;;4980:75:22;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:22:o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:22;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:22;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;205:9222:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;205:9222:10;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;205:9222:10;;;-1:-1:-1;205:9222:10;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;205:9222:10;-1:-1:-1;;;;;205:9222:10;;;;;;;;;;;-1:-1:-1;205:9222:10;;;;;;;-1:-1:-1;205:9222:10;;;-1:-1:-1;205:9222:10;:::i;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;205:9222:10;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC721/ERC721.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"../utils/Ownable.sol\";\n\ncontract OpenerRealFvr is Ownable, ERC721 {\n\n using SafeMath for uint256;\n\n ERC20 public _purchaseToken;\n // Mapping from address to bool, if egg was already claimed\n // The hash is about the userId and the nftIds array\n mapping(address => mapping(uint256 => bool)) public registeredIDs;\n mapping(address => uint256[]) public registeredIDsArray;\n mapping(uint256 => bool) public alreadyMinted;\n \n mapping(uint256 => Pack) public packs;\n mapping(uint256 => MarketplaceDistribution) private marketplaceDistributions;\n\n uint256 public packIncrementId = 1;\n uint256 public lastNFTID = 1;\n\n event PackCreated(uint256 packId, string indexed serie, string indexed packType, string indexed drop);\n event PackBought(address indexed by, uint256 indexed packId);\n event PackOpened(address indexed by, uint256 indexed packId);\n event PackDelete(uint256 indexed packId);\n event NftMinted(uint256 indexed nftId);\n\n uint256 public _realFvrTokenPriceUSD = 0;\n\n bool public _closed = false;\n uint256 public _openedPacks = 0;\n\n struct Pack {\n uint256 packId;\n uint256 nftAmount;\n uint256 initialNFTId;\n uint256 saleStart;\n uint256[] saleDistributionAmounts;\n address[] saleDistributionAddresses;\n // Marketplace\n // Catalog info\n uint256 price; // in usd (1 = $0.000001)\n string serie;\n string drop;\n string packType;\n bool opened;\n //external info\n address buyer;\n }\n\n struct MarketplaceDistribution {\n uint256[] marketplaceDistributionAmounts;\n address[] marketplaceDistributionAddresses;\n }\n \n constructor (string memory name, string memory symbol, ERC20 _purchaseToken) public ERC721(name, symbol) {}\n\n function _distributePackShares(address from, uint256 packId, uint256 amount) internal {\n //transfer of fee share\n Pack memory pack = packs[packId];\n\n for(uint i = 0; i < pack.saleDistributionAddresses.length; i++){\n //transfer of stake share\n _purchaseToken.transferFrom(\n from,\n pack.saleDistributionAddresses[i],\n (pack.saleDistributionAmounts[i] * amount) / 100\n );\n }\n }\n\n function setTokenURI(uint256 tokenId, string memory uri) public onlyOwner {\n _setTokenURI(tokenId, uri);\n }\n\n function setBaseURI(string memory baseURI) public onlyOwner {\n _setBaseURI(baseURI);\n }\n\n\n function exists(uint256 tokenId) public view returns (bool) {\n return _exists(tokenId);\n }\n \n function getRegisteredIDs(address _address) public view returns(uint256[] memory) {\n return registeredIDsArray[_address];\n }\n\n function getPackbyId(uint256 _packId) public returns (uint256, uint256, uint256, string memory, string memory, string memory, address, \n address[] memory, uint256[] memory, bool) {\n Pack memory pack = packs[_packId];\n return (\n pack.packId, pack.initialNFTId, pack.price, pack.serie, pack.drop, pack.packType, pack.buyer,\n pack.saleDistributionAddresses, pack.saleDistributionAmounts, pack.opened);\n }\n\n function getMarketplaceDistributionForERC721(uint256 _tokenId) public view returns(uint256[] memory, address[] memory) {\n return (marketplaceDistributions[_tokenId].marketplaceDistributionAmounts, marketplaceDistributions[_tokenId].marketplaceDistributionAddresses);\n }\n\n function getPackPriceInFVR(uint256 packId) public returns (uint256) {\n return packs[packId].price.mul(_realFvrTokenPriceUSD).div(10**3);\n }\n\n function buyPack(uint256 packId) public {\n require(!_closed, \"Opener is locked\");\n require(packs[packId].buyer == address(0), \"Pack was already bought\");\n require(packs[packId].price != 0, \"Pack has to exist\");\n\n uint256 price = getPackPriceInFVR(packId);\n\n require(_purchaseToken.allowance(msg.sender, address(this)) >= price, \"First you have to allow the use of the tokens by the Opener, use allow function\");\n\n address from = msg.sender;\n\n _distributePackShares(from, packId, price);\n\n _openedPacks += 1;\n\n for(uint i = 0; i < packs[packId].nftAmount; i++){\n registeredIDs[msg.sender][packs[packId].initialNFTId+i] = true;\n registeredIDsArray[msg.sender].push(i);\n }\n\n packs[packId].buyer = from;\n\n emit PackBought(from, packId);\n }\n\n function buyPacks(uint256[] memory packIds) public {\n for(uint i = 0; i < packIds.length; i++){\n buyPack(packIds[i]);\n } \n }\n\n function openPack(uint256 packId) public {\n require(!_closed, \"Opener is locked\");\n require(!packs[packId].opened, \"Opened Already\");\n require(packs[packId].buyer != address(0), \"Pack was not bought\");\n require(packs[packId].buyer == msg.sender, \"You were not the pack buyer\");\n\n packs[packId].opened = true;\n \n emit PackOpened(msg.sender, packId);\n }\n\n function openPacks(uint256[] memory packIds) public {\n for(uint i = 0; i < packIds.length; i++){\n openPack(packIds[i]);\n } \n }\n\n function createPack(uint256 nftAmount, uint256 price /* 1 = ($1) */, \n string memory serie, string memory packType, string memory drop, uint256 saleStart,\n address[] memory saleDistributionAddresses, uint256[] memory saleDistributionAmounts, /* [1;98;1]*/\n address[] memory marketplaceDistributionAddresses, uint256[] memory marketplaceDistributionAmounts /* [1;98;1]*/\n ) public onlyOwner {\n\n require(saleDistributionAmounts.length == saleDistributionAddresses.length, \"saleDistribution Lenghts are not the same\");\n uint256 totalFees = 0;\n for(uint i = 0; i < saleDistributionAddresses.length; i++){\n totalFees += saleDistributionAmounts[i];\n }\n require(totalFees == 100, \"Sum of all amounts has to equal 100\");\n\n\n require(marketplaceDistributionAddresses.length == marketplaceDistributionAmounts.length, \"marketplaceDistribution Lenghts are not the same\");\n\n Pack memory pack;\n pack.packId = packIncrementId;\n pack.nftAmount = nftAmount;\n pack.saleStart = saleStart;\n pack.initialNFTId = lastNFTID;\n pack.price = price;\n pack.serie = serie;\n pack.drop = drop;\n pack.saleDistributionAddresses = saleDistributionAddresses;\n pack.saleDistributionAmounts = saleDistributionAmounts;\n pack.packType = packType;\n packs[packIncrementId] = pack;\n\n \n for(uint j = 1; j <= nftAmount; j++){\n // Marketplace Distributions\n MarketplaceDistribution memory marketplaceDistribution = MarketplaceDistribution(marketplaceDistributionAmounts, marketplaceDistributionAddresses);\n marketplaceDistributions[lastNFTID+j] = marketplaceDistribution;\n }\n\n emit PackCreated(packIncrementId, serie, packType, drop);\n lastNFTID = lastNFTID + nftAmount;\n packIncrementId = packIncrementId+1;\n }\n\n function offerPack(uint256 packId, address receivingAddress) public onlyOwner {\n require(packs[packId].packId == packId, \"Pack does not exist\");\n Pack memory pack = packs[packId];\n packs[packId].buyer = receivingAddress;\n\n _openedPacks += 1;\n\n for(uint i = 0; i < packs[packId].nftAmount; i++){\n registeredIDs[receivingAddress][packs[packId].initialNFTId+i] = true;\n registeredIDsArray[receivingAddress].push(i);\n }\n emit PackBought(receivingAddress, packId);\n }\n\n function editPackInfo(uint256 _packId, uint256 _saleStart, string memory serie, string memory packType, string memory drop, uint256 price) public onlyOwner {\n require(block.timestamp < packs[_packId].saleStart, \"Sale is already live\");\n packs[_packId].saleStart = _saleStart;\n packs[_packId].serie = serie;\n packs[_packId].packType = packType;\n packs[_packId].drop = drop;\n packs[_packId].price = price;\n }\n\n function deletePackById(uint256 packId) public onlyOwner {\n require(block.timestamp < packs[packId].saleStart, \"Sale is already live\");\n delete packs[packId];\n emit PackDelete(packId);\n }\n\n function mint(uint256 tokenIdToMint) public {\n require(registeredIDs[msg.sender][tokenIdToMint], \"Token was not registered or not the rightful owner\");\n require(!alreadyMinted[tokenIdToMint], \"Already minted\");\n\n alreadyMinted[tokenIdToMint] = true;\n _safeMint(msg.sender, tokenIdToMint);\n emit NftMinted(tokenIdToMint);\n }\n\n function setPurchaseTokenAddress(ERC20 purchaseToken) public onlyOwner {\n _purchaseToken = purchaseToken;\n }\n\n function setTokenPriceInUSD(uint256 newPrice /* 1*10e18 -> 1 FVR = $1; 1*10e17 -> 0.1 FVR = $1 */) public onlyOwner {\n require(newPrice != 0, \"newPrice has to higher than 0\");\n _realFvrTokenPriceUSD = newPrice;\n }\n\n function lock() public onlyOwner {\n _closed = true;\n }\n\n function unlock() public onlyOwner {\n _closed = false;\n }\n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol", - "exportedSymbols": { - "OpenerRealFvr": [ - 8373 - ] - }, - "id": 8374, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7361, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:10" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 7362, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 10301, - "src": "59:57:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 7363, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 9319, - "src": "117:55:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 7364, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 8431, - "src": "173:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7365, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "232:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 7366, - "nodeType": "InheritanceSpecifier", - "src": "232:7:10" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7367, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "241:6:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 7368, - "nodeType": "InheritanceSpecifier", - "src": "241:6:10" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 8373, - "linearizedBaseContracts": [ - 8373, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 8430 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7371, - "libraryName": { - "contractScope": null, - "id": 7369, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "261:8:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "255:27:10", - "typeName": { - "id": 7370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 7373, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "288:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7372, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "288:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 7379, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "442:65:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 7378, - "keyType": { - "id": 7374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "442:44:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 7377, - "keyType": { - "id": 7375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "469:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "461:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 7376, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "480:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 7384, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "513:55:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 7383, - "keyType": { - "id": 7380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:29:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 7381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "532:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7382, - "length": null, - "nodeType": "ArrayTypeName", - "src": "532:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 7388, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "574:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 7387, - "keyType": { - "id": 7385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "574:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 7386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b84c1392", - "id": 7392, - "name": "packs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "630:37:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "typeName": { - "id": 7391, - "keyType": { - "id": 7389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "638:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "630:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "valueType": { - "contractScope": null, - "id": 7390, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "649:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 7396, - "name": "marketplaceDistributions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "673:76:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution)" - }, - "typeName": { - "id": 7395, - "keyType": { - "id": 7393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "673:43:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution)" - }, - "valueType": { - "contractScope": null, - "id": 7394, - "name": "MarketplaceDistribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7475, - "src": "692:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "6fcbc6ed", - "id": 7399, - "name": "packIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "756:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 7398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "789:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e6416503", - "id": 7402, - "name": "lastNFTID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "796:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 7401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "823:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7412, - "name": "PackCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 7411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7404, - "indexed": false, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "849:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7406, - "indexed": true, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "865:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7405, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "865:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7408, - "indexed": true, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "887:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7407, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "887:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7410, - "indexed": true, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "912:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7409, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "912:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "848:84:10" - }, - "src": "831:102:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7418, - "name": "PackBought", - "nodeType": "EventDefinition", - "parameters": { - "id": 7417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7414, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "955:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "955:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7416, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "975:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "954:44:10" - }, - "src": "938:61:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7424, - "name": "PackOpened", - "nodeType": "EventDefinition", - "parameters": { - "id": 7423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7420, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7424, - "src": "1021:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1021:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7422, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7424, - "src": "1041:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1041:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1020:44:10" - }, - "src": "1004:61:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7428, - "name": "PackDelete", - "nodeType": "EventDefinition", - "parameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7426, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7428, - "src": "1087:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1087:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:24:10" - }, - "src": "1070:41:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7432, - "name": "NftMinted", - "nodeType": "EventDefinition", - "parameters": { - "id": 7431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7430, - "indexed": true, - "name": "nftId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7432, - "src": "1132:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1132:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1131:23:10" - }, - "src": "1116:39:10" - }, - { - "constant": false, - "functionSelector": "1eae8636", - "id": 7435, - "name": "_realFvrTokenPriceUSD", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1161:40:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 7434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1200:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 7438, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1208:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7436, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1208:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1230:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 7441, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1241:31:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1241:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 7440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1271:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.Pack", - "id": 7468, - "members": [ - { - "constant": false, - "id": 7443, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1301:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1301:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7445, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1325:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7447, - "name": "initialNFTId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1352:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7449, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1382:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1382:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7452, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1409:33:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1409:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1409:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7455, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1452:35:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1452:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7454, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1452:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7457, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1544:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1544:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7459, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1593:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7458, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1593:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7461, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1615:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7460, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1615:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7463, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1636:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7462, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1636:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7465, - "name": "opened", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1661:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7464, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1661:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7467, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1706:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1706:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Pack", - "nodeType": "StructDefinition", - "scope": 8373, - "src": "1279:447:10", - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.MarketplaceDistribution", - "id": 7475, - "members": [ - { - "constant": false, - "id": 7471, - "name": "marketplaceDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7475, - "src": "1773:40:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1773:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7470, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1773:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7474, - "name": "marketplaceDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7475, - "src": "1823:42:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1823:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1823:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MarketplaceDistribution", - "nodeType": "StructDefinition", - "scope": 8373, - "src": "1732:140:10", - "visibility": "public" - }, - { - "body": { - "id": 7488, - "nodeType": "Block", - "src": "1985:2:10", - "statements": [] - }, - "documentation": null, - "id": 7489, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 7484, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "1971:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 7485, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7479, - "src": "1977:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 7486, - "modifierName": { - "argumentTypes": null, - "id": 7483, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "1964:6:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1964:20:10" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7477, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1893:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7476, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1893:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7479, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1913:20:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7478, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1913:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7481, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1935:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7480, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1892:64:10" - }, - "returnParameters": { - "id": 7487, - "nodeType": "ParameterList", - "parameters": [], - "src": "1985:0:10" - }, - "scope": 8373, - "src": "1880:107:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7537, - "nodeType": "Block", - "src": "2079:397:10", - "statements": [ - { - "assignments": [ - 7499 - ], - "declarations": [ - { - "constant": false, - "id": 7499, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7537, - "src": "2121:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7498, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "2121:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7503, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7500, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "2140:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7502, - "indexExpression": { - "argumentTypes": null, - "id": 7501, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7493, - "src": "2146:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2140:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2121:32:10" - }, - { - "body": { - "id": 7535, - "nodeType": "Block", - "src": "2227:243:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7519, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7491, - "src": "2324:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7520, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2346:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "2346:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 7523, - "indexExpression": { - "argumentTypes": null, - "id": 7522, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2377:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2346:33:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7524, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2398:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "2398:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 7527, - "indexExpression": { - "argumentTypes": null, - "id": 7526, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2427:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2398:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7528, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7495, - "src": "2432:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2398:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7530, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2397:42:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:3:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2397:48:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7516, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "2279:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2279:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 7533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2279:180:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7534, - "nodeType": "ExpressionStatement", - "src": "2279:180:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7508, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2180:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7509, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2184:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "2184:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2184:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2180:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7536, - "initializationExpression": { - "assignments": [ - 7505 - ], - "declarations": [ - { - "constant": false, - "id": 7505, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7536, - "src": "2168:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7504, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2168:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7507, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2177:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2168:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2223:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7513, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2223:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7515, - "nodeType": "ExpressionStatement", - "src": "2223:3:10" - }, - "nodeType": "ForStatement", - "src": "2164:306:10" - } - ] - }, - "documentation": null, - "id": 7538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7491, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2024:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7490, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2024:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7493, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2038:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2038:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7495, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2054:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2023:46:10" - }, - "returnParameters": { - "id": 7497, - "nodeType": "ParameterList", - "parameters": [], - "src": "2079:0:10" - }, - "scope": 8373, - "src": "1993:483:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7552, - "nodeType": "Block", - "src": "2556:43:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7548, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "2579:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7549, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "2588:3:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7547, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "2566:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 7550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2566:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7551, - "nodeType": "ExpressionStatement", - "src": "2566:26:10" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 7553, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7545, - "modifierName": { - "argumentTypes": null, - "id": 7544, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "2546:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2546:9:10" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7540, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7553, - "src": "2503:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2503:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7542, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7553, - "src": "2520:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7541, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2520:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2502:36:10" - }, - "returnParameters": { - "id": 7546, - "nodeType": "ParameterList", - "parameters": [], - "src": "2556:0:10" - }, - "scope": 8373, - "src": "2482:117:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7564, - "nodeType": "Block", - "src": "2665:37:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7561, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7555, - "src": "2687:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7560, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "2675:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2675:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7563, - "nodeType": "ExpressionStatement", - "src": "2675:20:10" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 7565, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7558, - "modifierName": { - "argumentTypes": null, - "id": 7557, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "2655:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2655:9:10" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7555, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7565, - "src": "2625:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7554, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2625:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2624:23:10" - }, - "returnParameters": { - "id": 7559, - "nodeType": "ParameterList", - "parameters": [], - "src": "2665:0:10" - }, - "scope": 8373, - "src": "2605:97:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7576, - "nodeType": "Block", - "src": "2769:40:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7573, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7567, - "src": "2794:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7572, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "2786:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 7574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2786:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7571, - "id": 7575, - "nodeType": "Return", - "src": "2779:23:10" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 7577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7567, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7577, - "src": "2725:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2724:17:10" - }, - "returnParameters": { - "id": 7571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7570, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7577, - "src": "2763:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7569, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2763:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2762:6:10" - }, - "scope": 8373, - "src": "2709:100:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7589, - "nodeType": "Block", - "src": "2901:52:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7585, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "2918:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 7587, - "indexExpression": { - "argumentTypes": null, - "id": 7586, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7579, - "src": "2937:8:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2918:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 7584, - "id": 7588, - "nodeType": "Return", - "src": "2911:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 7590, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7579, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7590, - "src": "2845:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2845:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2844:18:10" - }, - "returnParameters": { - "id": 7584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7583, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7590, - "src": "2883:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2883:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7582, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2883:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2882:18:10" - }, - "scope": 8373, - "src": "2819:134:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7645, - "nodeType": "Block", - "src": "3147:261:10", - "statements": [ - { - "assignments": [ - 7618 - ], - "declarations": [ - { - "constant": false, - "id": 7618, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7645, - "src": "3157:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7617, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "3157:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7622, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7619, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3176:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7621, - "indexExpression": { - "argumentTypes": null, - "id": 7620, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7592, - "src": "3182:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3176:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3157:33:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7623, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3221:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "3221:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7625, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3234:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "3234:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7627, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3253:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "3253:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7629, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3265:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "3265:10:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7631, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3277:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "3277:9:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7633, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3288:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "3288:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7635, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3303:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "3303:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7637, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3327:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "3327:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7639, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3359:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "3359:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7641, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3389:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "3389:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 7643, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3207:194:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_string_memory_$_t_address_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,string memory,string memory,string memory,address,address[] memory,uint256[] memory,bool)" - } - }, - "functionReturnParameters": 7616, - "id": 7644, - "nodeType": "Return", - "src": "3200:201:10" - } - ] - }, - "documentation": null, - "functionSelector": "15424e6e", - "id": 7646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackbyId", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7592, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "2980:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2980:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2979:17:10" - }, - "returnParameters": { - "id": 7616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7595, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3013:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7597, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3023:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7599, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3032:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7601, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3041:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7600, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3041:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7603, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3056:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7602, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3056:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7605, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3071:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7604, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3071:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7607, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3086:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3086:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7610, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3104:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7608, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3104:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7609, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3104:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7613, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3122:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3122:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7612, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3122:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7615, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3140:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7614, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3140:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3012:133:10" - }, - "scope": 8373, - "src": "2959:449:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7667, - "nodeType": "Block", - "src": "3533:160:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7657, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "3551:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 7659, - "indexExpression": { - "argumentTypes": null, - "id": 7658, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7648, - "src": "3576:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3551:34:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 7660, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketplaceDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7471, - "src": "3551:65:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7661, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "3618:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 7663, - "indexExpression": { - "argumentTypes": null, - "id": 7662, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7648, - "src": "3643:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3618:34:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 7664, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketplaceDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7474, - "src": "3618:67:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - } - ], - "id": 7665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3550:136:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_storage_$_t_array$_t_address_$dyn_storage_$", - "typeString": "tuple(uint256[] storage ref,address[] storage ref)" - } - }, - "functionReturnParameters": 7656, - "id": 7666, - "nodeType": "Return", - "src": "3543:143:10" - } - ] - }, - "documentation": null, - "functionSelector": "d5c2e3f6", - "id": 7668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMarketplaceDistributionForERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7648, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3459:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3458:18:10" - }, - "returnParameters": { - "id": 7656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3497:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3497:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7651, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3497:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7655, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3515:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7653, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3515:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7654, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3496:36:10" - }, - "scope": 8373, - "src": "3414:279:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7688, - "nodeType": "Block", - "src": "3767:81:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 7685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 7683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3835:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 7684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3839:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3835:5:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7680, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "3808:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7675, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3784:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7677, - "indexExpression": { - "argumentTypes": null, - "id": 7676, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7670, - "src": "3790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3784:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "3784:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "3784:23:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3784:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3784:50:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3784:57:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7674, - "id": 7687, - "nodeType": "Return", - "src": "3777:64:10" - } - ] - }, - "documentation": null, - "functionSelector": "84a50270", - "id": 7689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackPriceInFVR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7670, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7689, - "src": "3726:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3726:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3725:16:10" - }, - "returnParameters": { - "id": 7674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7673, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7689, - "src": "3758:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3758:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3757:9:10" - }, - "scope": 8373, - "src": "3699:149:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7808, - "nodeType": "Block", - "src": "3894:804:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3912:8:10", - "subExpression": { - "argumentTypes": null, - "id": 7695, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "3913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 7697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3922:18:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 7694, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3904:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3904:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7699, - "nodeType": "ExpressionStatement", - "src": "3904:37:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7701, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3959:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7703, - "indexExpression": { - "argumentTypes": null, - "id": 7702, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "3965:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3959:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "3959:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3990:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3982:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7705, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3982:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3982:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3959:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2077617320616c726561647920626f75676874", - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3994:25:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8264255b9e7aaa10a4a1d71aeb180195ead222d79991100b7ff24c869e5a09d8", - "typeString": "literal_string \"Pack was already bought\"" - }, - "value": "Pack was already bought" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8264255b9e7aaa10a4a1d71aeb180195ead222d79991100b7ff24c869e5a09d8", - "typeString": "literal_string \"Pack was already bought\"" - } - ], - "id": 7700, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3951:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3951:69:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7712, - "nodeType": "ExpressionStatement", - "src": "3951:69:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7714, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4038:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7716, - "indexExpression": { - "argumentTypes": null, - "id": 7715, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4044:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4038:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "4038:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4061:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4038:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2068617320746f206578697374", - "id": 7720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4064:19:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6c203bd1ad8ab267b5855b81d2f46de9503a2d903ab8fc59016128527be56b5", - "typeString": "literal_string \"Pack has to exist\"" - }, - "value": "Pack has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e6c203bd1ad8ab267b5855b81d2f46de9503a2d903ab8fc59016128527be56b5", - "typeString": "literal_string \"Pack has to exist\"" - } - ], - "id": 7713, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4030:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4030:54:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7722, - "nodeType": "ExpressionStatement", - "src": "4030:54:10" - }, - { - "assignments": [ - 7724 - ], - "declarations": [ - { - "constant": false, - "id": 7724, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7808, - "src": "4095:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4095:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7728, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7726, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4129:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7725, - "name": "getPackPriceInFVR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7689, - "src": "4111:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 7727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4111:25:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4095:41:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7732, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4180:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4180:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7736, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4200:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$8373", - "typeString": "contract OpenerRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OpenerRealFvr_$8373", - "typeString": "contract OpenerRealFvr" - } - ], - "id": 7735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4192:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4192:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7730, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "4155:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "4155:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4155:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7739, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "4210:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4155:60:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "466972737420796f75206861766520746f20616c6c6f772074686520757365206f662074686520746f6b656e7320627920746865204f70656e65722c2075736520616c6c6f772066756e6374696f6e", - "id": 7741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4217:81:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00406755db2121628b5af89947b97a74bf7682c74cbe0c7fac83e9fc01fe4727", - "typeString": "literal_string \"First you have to allow the use of the tokens by the Opener, use allow function\"" - }, - "value": "First you have to allow the use of the tokens by the Opener, use allow function" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_00406755db2121628b5af89947b97a74bf7682c74cbe0c7fac83e9fc01fe4727", - "typeString": "literal_string \"First you have to allow the use of the tokens by the Opener, use allow function\"" - } - ], - "id": 7729, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4147:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4147:152:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7743, - "nodeType": "ExpressionStatement", - "src": "4147:152:10" - }, - { - "assignments": [ - 7745 - ], - "declarations": [ - { - "constant": false, - "id": 7745, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7808, - "src": "4310:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7744, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4310:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7748, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7746, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4325:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4325:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4310:25:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7750, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4368:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7751, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4374:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7752, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "4382:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7749, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "4346:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 7753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:42:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7754, - "nodeType": "ExpressionStatement", - "src": "4346:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7755, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7441, - "src": "4399:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 7756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4399:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7758, - "nodeType": "ExpressionStatement", - "src": "4399:17:10" - }, - { - "body": { - "id": 7794, - "nodeType": "Block", - "src": "4476:139:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7772, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "4490:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 7781, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4504:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4504:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4490:25:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7782, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7775, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4516:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7777, - "indexExpression": { - "argumentTypes": null, - "id": 7776, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4522:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4516:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "4516:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7779, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4543:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4516:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4490:55:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4490:62:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7785, - "nodeType": "ExpressionStatement", - "src": "4490:62:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7791, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4602:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7786, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "4566:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 7789, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7787, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4585:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4585:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4566:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4566:35:10", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4566:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7793, - "nodeType": "ExpressionStatement", - "src": "4566:38:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4443:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7764, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4447:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7766, - "indexExpression": { - "argumentTypes": null, - "id": 7765, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4453:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4447:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "4447:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4443:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7795, - "initializationExpression": { - "assignments": [ - 7760 - ], - "declarations": [ - { - "constant": false, - "id": 7760, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4431:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7759, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4431:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7762, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4431:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4472:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7769, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4472:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7771, - "nodeType": "ExpressionStatement", - "src": "4472:3:10" - }, - "nodeType": "ForStatement", - "src": "4427:188:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7796, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4625:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7798, - "indexExpression": { - "argumentTypes": null, - "id": 7797, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4631:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4625:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "4625:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7800, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4647:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4625:26:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7802, - "nodeType": "ExpressionStatement", - "src": "4625:26:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7804, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4678:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7805, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4684:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7803, - "name": "PackBought", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7418, - "src": "4667:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4667:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7807, - "nodeType": "EmitStatement", - "src": "4662:29:10" - } - ] - }, - "documentation": null, - "functionSelector": "dc45bfb3", - "id": 7809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7691, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7809, - "src": "3871:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3871:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3870:16:10" - }, - "returnParameters": { - "id": 7693, - "nodeType": "ParameterList", - "parameters": [], - "src": "3894:0:10" - }, - "scope": 8373, - "src": "3854:844:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7834, - "nodeType": "Block", - "src": "4755:101:10", - "statements": [ - { - "body": { - "id": 7832, - "nodeType": "Block", - "src": "4805:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7827, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "4827:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7829, - "indexExpression": { - "argumentTypes": null, - "id": 7828, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4835:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4827:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7826, - "name": "buyPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7809, - "src": "4819:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4819:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7831, - "nodeType": "ExpressionStatement", - "src": "4819:19:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7819, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4781:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7820, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "4785:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4785:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4781:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7833, - "initializationExpression": { - "assignments": [ - 7816 - ], - "declarations": [ - { - "constant": false, - "id": 7816, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7833, - "src": "4769:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7815, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4769:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7818, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4778:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4769:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4801:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7823, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4801:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7825, - "nodeType": "ExpressionStatement", - "src": "4801:3:10" - }, - "nodeType": "ForStatement", - "src": "4765:84:10" - } - ] - }, - "documentation": null, - "functionSelector": "d3a4ff4f", - "id": 7835, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPacks", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7812, - "name": "packIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7835, - "src": "4722:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7811, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4722:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4721:26:10" - }, - "returnParameters": { - "id": 7814, - "nodeType": "ParameterList", - "parameters": [], - "src": "4755:0:10" - }, - "scope": 8373, - "src": "4704:152:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7892, - "nodeType": "Block", - "src": "4903:362:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4921:8:10", - "subExpression": { - "argumentTypes": null, - "id": 7841, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "4922:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4931:18:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 7840, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4913:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7845, - "nodeType": "ExpressionStatement", - "src": "4913:37:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4968:21:10", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7847, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4969:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7849, - "indexExpression": { - "argumentTypes": null, - "id": 7848, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "4975:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4969:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "4969:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e656420416c7265616479", - "id": 7852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4991:16:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef3f55829ab1396f636014469caf72b6389940993c8e2e315b6147c431640902", - "typeString": "literal_string \"Opened Already\"" - }, - "value": "Opened Already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef3f55829ab1396f636014469caf72b6389940993c8e2e315b6147c431640902", - "typeString": "literal_string \"Opened Already\"" - } - ], - "id": 7846, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4960:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4960:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7854, - "nodeType": "ExpressionStatement", - "src": "4960:48:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7856, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5026:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7858, - "indexExpression": { - "argumentTypes": null, - "id": 7857, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5032:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5026:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "5026:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5057:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5049:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5049:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5049:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5026:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20776173206e6f7420626f75676874", - "id": 7865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5061:21:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2bde46eaf87c96fdf636632ff8c35a5e1d3842a09fb5221ebd51e223c8ca0e2", - "typeString": "literal_string \"Pack was not bought\"" - }, - "value": "Pack was not bought" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2bde46eaf87c96fdf636632ff8c35a5e1d3842a09fb5221ebd51e223c8ca0e2", - "typeString": "literal_string \"Pack was not bought\"" - } - ], - "id": 7855, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5018:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5018:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7867, - "nodeType": "ExpressionStatement", - "src": "5018:65:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7869, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5101:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7871, - "indexExpression": { - "argumentTypes": null, - "id": 7870, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5107:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5101:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "5101:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5124:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5124:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5101:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "596f752077657265206e6f7420746865207061636b206275796572", - "id": 7876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5136:29:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b04f426cb57ce8889883d43b5d3f1ce780bee6a8cf4595b576ec1a0e7130728", - "typeString": "literal_string \"You were not the pack buyer\"" - }, - "value": "You were not the pack buyer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9b04f426cb57ce8889883d43b5d3f1ce780bee6a8cf4595b576ec1a0e7130728", - "typeString": "literal_string \"You were not the pack buyer\"" - } - ], - "id": 7868, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5093:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5093:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7878, - "nodeType": "ExpressionStatement", - "src": "5093:73:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7879, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5177:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7881, - "indexExpression": { - "argumentTypes": null, - "id": 7880, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5183:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5177:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "5177:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5200:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5177:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7885, - "nodeType": "ExpressionStatement", - "src": "5177:27:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5239:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5239:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7889, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5251:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7886, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7424, - "src": "5228:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5228:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7891, - "nodeType": "EmitStatement", - "src": "5223:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 7893, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7837, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7893, - "src": "4880:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4879:16:10" - }, - "returnParameters": { - "id": 7839, - "nodeType": "ParameterList", - "parameters": [], - "src": "4903:0:10" - }, - "scope": 8373, - "src": "4862:403:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7918, - "nodeType": "Block", - "src": "5323:102:10", - "statements": [ - { - "body": { - "id": 7916, - "nodeType": "Block", - "src": "5373:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7911, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7896, - "src": "5396:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7913, - "indexExpression": { - "argumentTypes": null, - "id": 7912, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5404:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5396:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7910, - "name": "openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7893, - "src": "5387:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5387:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7915, - "nodeType": "ExpressionStatement", - "src": "5387:20:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7903, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5349:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7904, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7896, - "src": "5353:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5353:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5349:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7917, - "initializationExpression": { - "assignments": [ - 7900 - ], - "declarations": [ - { - "constant": false, - "id": 7900, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7917, - "src": "5337:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7899, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5337:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7902, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5346:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5337:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5369:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7907, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5369:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7909, - "nodeType": "ExpressionStatement", - "src": "5369:3:10" - }, - "nodeType": "ForStatement", - "src": "5333:85:10" - } - ] - }, - "documentation": null, - "functionSelector": "078ab8be", - "id": 7919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPacks", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7896, - "name": "packIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7919, - "src": "5290:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5290:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7895, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5290:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5289:26:10" - }, - "returnParameters": { - "id": 7898, - "nodeType": "ParameterList", - "parameters": [], - "src": "5323:0:10" - }, - "scope": 8373, - "src": "5271:154:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8111, - "nodeType": "Block", - "src": "5847:1490:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7949, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "5866:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5866:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7951, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "5900:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5900:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5866:66:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "73616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 7954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5934:43:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fd38b9202535e756bcbf814eae7a39d8ded0b5e331fdd9dbd15b9126ac65cd4f", - "typeString": "literal_string \"saleDistribution Lenghts are not the same\"" - }, - "value": "saleDistribution Lenghts are not the same" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fd38b9202535e756bcbf814eae7a39d8ded0b5e331fdd9dbd15b9126ac65cd4f", - "typeString": "literal_string \"saleDistribution Lenghts are not the same\"" - } - ], - "id": 7948, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5858:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5858:120:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7956, - "nodeType": "ExpressionStatement", - "src": "5858:120:10" - }, - { - "assignments": [ - 7958 - ], - "declarations": [ - { - "constant": false, - "id": 7958, - "name": "totalFees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8111, - "src": "5988:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5988:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7960, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6008:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5988:21:10" - }, - { - "body": { - "id": 7978, - "nodeType": "Block", - "src": "6077:64:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7972, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7958, - "src": "6091:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7973, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "6104:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7975, - "indexExpression": { - "argumentTypes": null, - "id": 7974, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6128:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6104:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6091:39:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7977, - "nodeType": "ExpressionStatement", - "src": "6091:39:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7965, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6035:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7966, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "6039:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6039:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6035:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7979, - "initializationExpression": { - "assignments": [ - 7962 - ], - "declarations": [ - { - "constant": false, - "id": 7962, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7979, - "src": "6023:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7961, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6023:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7964, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6032:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6023:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6073:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7969, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6073:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7971, - "nodeType": "ExpressionStatement", - "src": "6073:3:10" - }, - "nodeType": "ForStatement", - "src": "6019:122:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7981, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7958, - "src": "6158:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:3:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "6158:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c20313030", - "id": 7984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6176:37:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_eca8a748afd3ab93f712fd8b8f3fd24de9a94b0ebfa33503728cf759ae354771", - "typeString": "literal_string \"Sum of all amounts has to equal 100\"" - }, - "value": "Sum of all amounts has to equal 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_eca8a748afd3ab93f712fd8b8f3fd24de9a94b0ebfa33503728cf759ae354771", - "typeString": "literal_string \"Sum of all amounts has to equal 100\"" - } - ], - "id": 7980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6150:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6150:64:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7986, - "nodeType": "ExpressionStatement", - "src": "6150:64:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7988, - "name": "marketplaceDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "6234:32:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6234:39:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7990, - "name": "marketplaceDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "6277:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6277:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6234:80:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6d61726b6574706c616365446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 7993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6316:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_550eafb76f59160bae2aa5e08b95b73fe5b8cf03db0a2d4f75d8173d83fdfd75", - "typeString": "literal_string \"marketplaceDistribution Lenghts are not the same\"" - }, - "value": "marketplaceDistribution Lenghts are not the same" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_550eafb76f59160bae2aa5e08b95b73fe5b8cf03db0a2d4f75d8173d83fdfd75", - "typeString": "literal_string \"marketplaceDistribution Lenghts are not the same\"" - } - ], - "id": 7987, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6226:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6226:141:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7995, - "nodeType": "ExpressionStatement", - "src": "6226:141:10" - }, - { - "assignments": [ - 7997 - ], - "declarations": [ - { - "constant": false, - "id": 7997, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8111, - "src": "6378:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7996, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "6378:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7998, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6378:16:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7999, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6404:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "6404:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8002, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "6418:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6404:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8004, - "nodeType": "ExpressionStatement", - "src": "6404:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8005, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6443:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "6443:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8008, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "6460:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6443:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8010, - "nodeType": "ExpressionStatement", - "src": "6443:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8011, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6479:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "6479:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8014, - "name": "saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7931, - "src": "6496:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6479:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8016, - "nodeType": "ExpressionStatement", - "src": "6479:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8017, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6515:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "6515:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8020, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "6535:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6515:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8022, - "nodeType": "ExpressionStatement", - "src": "6515:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8023, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6554:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "6554:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8026, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "6567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6554:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8028, - "nodeType": "ExpressionStatement", - "src": "6554:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8029, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6582:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "6582:10:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8032, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "6595:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6582:18:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8034, - "nodeType": "ExpressionStatement", - "src": "6582:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8035, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6610:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "6610:9:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8038, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "6622:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6610:16:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8040, - "nodeType": "ExpressionStatement", - "src": "6610:16:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8041, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6636:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "6636:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8044, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "6669:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "6636:58:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 8046, - "nodeType": "ExpressionStatement", - "src": "6636:58:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8047, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6704:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "6704:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8050, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "6735:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "6704:54:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 8052, - "nodeType": "ExpressionStatement", - "src": "6704:54:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8053, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6768:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "6768:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8056, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "6784:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6768:24:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8058, - "nodeType": "ExpressionStatement", - "src": "6768:24:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8059, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "6802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8061, - "indexExpression": { - "argumentTypes": null, - "id": 8060, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "6808:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6802:22:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8062, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6827:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "src": "6802:29:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8064, - "nodeType": "ExpressionStatement", - "src": "6802:29:10" - }, - { - "body": { - "id": 8090, - "nodeType": "Block", - "src": "6887:289:10", - "statements": [ - { - "assignments": [ - 8076 - ], - "declarations": [ - { - "constant": false, - "id": 8076, - "name": "marketplaceDistribution", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8090, - "src": "6942:54:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - }, - "typeName": { - "contractScope": null, - "id": 8075, - "name": "MarketplaceDistribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7475, - "src": "6942:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8078, - "name": "marketplaceDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "7023:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 8079, - "name": "marketplaceDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "7055:32:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 8077, - "name": "MarketplaceDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7475, - "src": "6999:23:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MarketplaceDistribution_$7475_storage_ptr_$", - "typeString": "type(struct OpenerRealFvr.MarketplaceDistribution storage pointer)" - } - }, - "id": 8080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6999:89:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:146:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8082, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "7102:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 8086, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8083, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7127:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8084, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "7137:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7127:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7102:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8087, - "name": "marketplaceDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8076, - "src": "7142:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution memory" - } - }, - "src": "7102:63:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 8089, - "nodeType": "ExpressionStatement", - "src": "7102:63:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8069, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "6867:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8070, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "6872:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6867:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8091, - "initializationExpression": { - "assignments": [ - 8066 - ], - "declarations": [ - { - "constant": false, - "id": 8066, - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8091, - "src": "6855:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8065, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6855:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8068, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 8067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6864:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6855:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 8073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6883:3:10", - "subExpression": { - "argumentTypes": null, - "id": 8072, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "6883:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8074, - "nodeType": "ExpressionStatement", - "src": "6883:3:10" - }, - "nodeType": "ForStatement", - "src": "6851:325:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8093, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7203:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8094, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "7220:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8095, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7227:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8096, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "7237:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8092, - "name": "PackCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7412, - "src": "7191:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory,string memory,string memory)" - } - }, - "id": 8097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7191:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8098, - "nodeType": "EmitStatement", - "src": "7186:56:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8099, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7252:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8100, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7264:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8101, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "7276:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7264:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7252:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8104, - "nodeType": "ExpressionStatement", - "src": "7252:33:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8105, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7295:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8106, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7313:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 8107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7329:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7313:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7295:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8110, - "nodeType": "ExpressionStatement", - "src": "7295:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "3c995e71", - "id": 8112, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7946, - "modifierName": { - "argumentTypes": null, - "id": 7945, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5837:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5837:9:10" - } - ], - "name": "createPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7921, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5451:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5451:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7923, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5470:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5470:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7925, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5509:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7924, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5509:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7927, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5530:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7926, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5530:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7929, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5554:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7928, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5554:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7931, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5574:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7934, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5601:42:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7932, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5601:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7933, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5601:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7937, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5646:40:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5646:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7936, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5646:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7940, - "name": "marketplaceDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5710:49:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7938, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5710:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7939, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5710:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7943, - "name": "marketplaceDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5762:47:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5762:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7942, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5762:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5450:379:10" - }, - "returnParameters": { - "id": 7947, - "nodeType": "ParameterList", - "parameters": [], - "src": "5847:0:10" - }, - "scope": 8373, - "src": "5431:1906:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8188, - "nodeType": "Block", - "src": "7422:458:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8122, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7440:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8124, - "indexExpression": { - "argumentTypes": null, - "id": 8123, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7446:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7440:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "7440:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8126, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7464:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7440:30:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20646f6573206e6f74206578697374", - "id": 8128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7472:21:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71b2cc658e6bcf05619cf3f5cb3eb1dbb572bb0035ad28f75e1c199d66b5bdbb", - "typeString": "literal_string \"Pack does not exist\"" - }, - "value": "Pack does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71b2cc658e6bcf05619cf3f5cb3eb1dbb572bb0035ad28f75e1c199d66b5bdbb", - "typeString": "literal_string \"Pack does not exist\"" - } - ], - "id": 8121, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7432:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7432:62:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8130, - "nodeType": "ExpressionStatement", - "src": "7432:62:10" - }, - { - "assignments": [ - 8132 - ], - "declarations": [ - { - "constant": false, - "id": 8132, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8188, - "src": "7504:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 8131, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "7504:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8136, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8133, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7523:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8135, - "indexExpression": { - "argumentTypes": null, - "id": 8134, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7529:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7523:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7504:32:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8137, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7546:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8139, - "indexExpression": { - "argumentTypes": null, - "id": 8138, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7552:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7546:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "7546:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8141, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7568:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7546:38:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8143, - "nodeType": "ExpressionStatement", - "src": "7546:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8144, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7441, - "src": "7595:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7611:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7595:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8147, - "nodeType": "ExpressionStatement", - "src": "7595:17:10" - }, - { - "body": { - "id": 8181, - "nodeType": "Block", - "src": "7672:151:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8161, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "7686:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 8169, - "indexExpression": { - "argumentTypes": null, - "id": 8162, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7700:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7686:31:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8170, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8163, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7718:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8165, - "indexExpression": { - "argumentTypes": null, - "id": 8164, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7724:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7718:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "7718:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8167, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7745:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7718:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7686:61:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7750:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7686:68:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8173, - "nodeType": "ExpressionStatement", - "src": "7686:68:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8178, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7810:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8174, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "7768:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 8176, - "indexExpression": { - "argumentTypes": null, - "id": 8175, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7787:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7768:36:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 8177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7768:41:10", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:44:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8180, - "nodeType": "ExpressionStatement", - "src": "7768:44:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8152, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7639:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8153, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7643:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8155, - "indexExpression": { - "argumentTypes": null, - "id": 8154, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7649:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7643:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "7643:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7639:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8182, - "initializationExpression": { - "assignments": [ - 8149 - ], - "declarations": [ - { - "constant": false, - "id": 8149, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8182, - "src": "7627:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8148, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7627:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8151, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 8150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7636:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7627:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 8159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7668:3:10", - "subExpression": { - "argumentTypes": null, - "id": 8158, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7668:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8160, - "nodeType": "ExpressionStatement", - "src": "7668:3:10" - }, - "nodeType": "ForStatement", - "src": "7623:200:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8184, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7848:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8185, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7866:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8183, - "name": "PackBought", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7418, - "src": "7837:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7837:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8187, - "nodeType": "EmitStatement", - "src": "7832:41:10" - } - ] - }, - "documentation": null, - "functionSelector": "ec6923a1", - "id": 8189, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8119, - "modifierName": { - "argumentTypes": null, - "id": 8118, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "7412:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7412:9:10" - } - ], - "name": "offerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8114, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8189, - "src": "7363:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7363:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8116, - "name": "receivingAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8189, - "src": "7379:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7379:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7362:42:10" - }, - "returnParameters": { - "id": 8120, - "nodeType": "ParameterList", - "parameters": [], - "src": "7422:0:10" - }, - "scope": 8373, - "src": "7344:536:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8252, - "nodeType": "Block", - "src": "8042:295:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8207, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8060:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8060:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8209, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8078:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8211, - "indexExpression": { - "argumentTypes": null, - "id": 8210, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8084:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8078:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8078:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8060:42:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8104:22:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - }, - "value": "Sale is already live" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - } - ], - "id": 8206, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8052:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8052:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8216, - "nodeType": "ExpressionStatement", - "src": "8052:75:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8217, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8137:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8219, - "indexExpression": { - "argumentTypes": null, - "id": 8218, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8143:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8137:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8137:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8221, - "name": "_saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8193, - "src": "8164:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8137:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8223, - "nodeType": "ExpressionStatement", - "src": "8137:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8224, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8184:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8226, - "indexExpression": { - "argumentTypes": null, - "id": 8225, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8190:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8184:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "8184:20:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8228, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "8207:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8184:28:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8230, - "nodeType": "ExpressionStatement", - "src": "8184:28:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8231, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8222:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8233, - "indexExpression": { - "argumentTypes": null, - "id": 8232, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8228:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8222:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8234, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "8222:23:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8235, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "8248:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8222:34:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8237, - "nodeType": "ExpressionStatement", - "src": "8222:34:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8238, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8266:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8240, - "indexExpression": { - "argumentTypes": null, - "id": 8239, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8272:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8266:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8241, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "8266:19:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8242, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "8288:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8266:26:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8244, - "nodeType": "ExpressionStatement", - "src": "8266:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8245, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8302:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8247, - "indexExpression": { - "argumentTypes": null, - "id": 8246, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8308:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8302:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "8302:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8249, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8201, - "src": "8325:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8302:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8251, - "nodeType": "ExpressionStatement", - "src": "8302:28:10" - } - ] - }, - "documentation": null, - "functionSelector": "3a307f61", - "id": 8253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8204, - "modifierName": { - "argumentTypes": null, - "id": 8203, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8032:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8032:9:10" - } - ], - "name": "editPackInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8191, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7908:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7908:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8193, - "name": "_saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7925:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7925:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8195, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7945:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8194, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7945:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8197, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7966:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8196, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7966:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8199, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7990:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7990:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8201, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "8010:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8010:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7907:117:10" - }, - "returnParameters": { - "id": 8205, - "nodeType": "ParameterList", - "parameters": [], - "src": "8042:0:10" - }, - "scope": 8373, - "src": "7886:451:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8280, - "nodeType": "Block", - "src": "8400:154:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8261, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8418:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8418:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8263, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8436:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8265, - "indexExpression": { - "argumentTypes": null, - "id": 8264, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8442:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8436:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8436:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8418:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 8268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8461:22:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - }, - "value": "Sale is already live" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - } - ], - "id": 8260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8410:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8410:74:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8270, - "nodeType": "ExpressionStatement", - "src": "8410:74:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8494:20:10", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8271, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8501:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8273, - "indexExpression": { - "argumentTypes": null, - "id": 8272, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8507:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8501:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8275, - "nodeType": "ExpressionStatement", - "src": "8494:20:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8277, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8540:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8276, - "name": "PackDelete", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7428, - "src": "8529:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8529:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8279, - "nodeType": "EmitStatement", - "src": "8524:23:10" - } - ] - }, - "documentation": null, - "functionSelector": "ec90a293", - "id": 8281, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8258, - "modifierName": { - "argumentTypes": null, - "id": 8257, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8390:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8390:9:10" - } - ], - "name": "deletePackById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8255, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8281, - "src": "8367:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8366:16:10" - }, - "returnParameters": { - "id": 8259, - "nodeType": "ParameterList", - "parameters": [], - "src": "8400:0:10" - }, - "scope": 8373, - "src": "8343:211:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8320, - "nodeType": "Block", - "src": "8604:317:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8287, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "8622:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 8290, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8288, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8636:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8636:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8622:25:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8292, - "indexExpression": { - "argumentTypes": null, - "id": 8291, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8648:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8622:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 8293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8664:52:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 8286, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8614:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8614:103:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8295, - "nodeType": "ExpressionStatement", - "src": "8614:103:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8735:29:10", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8297, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "8736:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8299, - "indexExpression": { - "argumentTypes": null, - "id": 8298, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8750:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8736:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 8301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8766:16:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 8296, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8727:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8727:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8303, - "nodeType": "ExpressionStatement", - "src": "8727:56:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8304, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "8794:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8306, - "indexExpression": { - "argumentTypes": null, - "id": 8305, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8808:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8794:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8825:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8794:35:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8309, - "nodeType": "ExpressionStatement", - "src": "8794:35:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8311, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8849:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8849:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8313, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8861:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8310, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "8839:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8839:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8315, - "nodeType": "ExpressionStatement", - "src": "8839:36:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8317, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8900:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8316, - "name": "NftMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7432, - "src": "8890:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8890:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8319, - "nodeType": "EmitStatement", - "src": "8885:29:10" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 8321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8283, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8321, - "src": "8574:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8573:23:10" - }, - "returnParameters": { - "id": 8285, - "nodeType": "ParameterList", - "parameters": [], - "src": "8604:0:10" - }, - "scope": 8373, - "src": "8560:361:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8332, - "nodeType": "Block", - "src": "8998:47:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8328, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "9008:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8329, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8323, - "src": "9025:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "9008:30:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 8331, - "nodeType": "ExpressionStatement", - "src": "9008:30:10" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 8333, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8326, - "modifierName": { - "argumentTypes": null, - "id": 8325, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8988:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8988:9:10" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8323, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8333, - "src": "8960:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 8322, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "8960:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8959:21:10" - }, - "returnParameters": { - "id": 8327, - "nodeType": "ParameterList", - "parameters": [], - "src": "8998:0:10" - }, - "scope": 8373, - "src": "8927:118:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8351, - "nodeType": "Block", - "src": "9168:114:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8341, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8335, - "src": "9186:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9198:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9186:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6e657750726963652068617320746f20686967686572207468616e2030", - "id": 8344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9201:31:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_728835c50e9e03e853c669cedde7ee90ec7bbc4ffa000e25c596c87cbd8c420c", - "typeString": "literal_string \"newPrice has to higher than 0\"" - }, - "value": "newPrice has to higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_728835c50e9e03e853c669cedde7ee90ec7bbc4ffa000e25c596c87cbd8c420c", - "typeString": "literal_string \"newPrice has to higher than 0\"" - } - ], - "id": 8340, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9178:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:55:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8346, - "nodeType": "ExpressionStatement", - "src": "9178:55:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8347, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "9243:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8348, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8335, - "src": "9267:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9243:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8350, - "nodeType": "ExpressionStatement", - "src": "9243:32:10" - } - ] - }, - "documentation": null, - "functionSelector": "5eeb57c0", - "id": 8352, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8338, - "modifierName": { - "argumentTypes": null, - "id": 8337, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9158:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9158:9:10" - } - ], - "name": "setTokenPriceInUSD", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8335, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8352, - "src": "9079:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9079:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9078:72:10" - }, - "returnParameters": { - "id": 8339, - "nodeType": "ParameterList", - "parameters": [], - "src": "9168:0:10" - }, - "scope": 8373, - "src": "9051:231:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8361, - "nodeType": "Block", - "src": "9321:31:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8357, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "9331:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9341:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9331:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8360, - "nodeType": "ExpressionStatement", - "src": "9331:14:10" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 8362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8355, - "modifierName": { - "argumentTypes": null, - "id": 8354, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9311:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9311:9:10" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8353, - "nodeType": "ParameterList", - "parameters": [], - "src": "9301:2:10" - }, - "returnParameters": { - "id": 8356, - "nodeType": "ParameterList", - "parameters": [], - "src": "9321:0:10" - }, - "scope": 8373, - "src": "9288:64:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8371, - "nodeType": "Block", - "src": "9393:32:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8367, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "9403:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9403:15:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8370, - "nodeType": "ExpressionStatement", - "src": "9403:15:10" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 8372, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8365, - "modifierName": { - "argumentTypes": null, - "id": 8364, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9383:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9383:9:10" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8363, - "nodeType": "ParameterList", - "parameters": [], - "src": "9373:2:10" - }, - "returnParameters": { - "id": 8366, - "nodeType": "ParameterList", - "parameters": [], - "src": "9393:0:10" - }, - "scope": 8373, - "src": "9358:67:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 8374, - "src": "205:9222:10" - } - ], - "src": "33:9395:10" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/custom/OpenerRealFvr.sol", - "exportedSymbols": { - "OpenerRealFvr": [ - 8373 - ] - }, - "id": 8374, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7361, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:10" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "file": "@openzeppelin/contracts/token/ERC721/ERC721.sol", - "id": 7362, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 10301, - "src": "59:57:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 7363, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 9319, - "src": "117:55:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 7364, - "nodeType": "ImportDirective", - "scope": 8374, - "sourceUnit": 8431, - "src": "173:30:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7365, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "232:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 7366, - "nodeType": "InheritanceSpecifier", - "src": "232:7:10" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7367, - "name": "ERC721", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10300, - "src": "241:6:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC721_$10300", - "typeString": "contract ERC721" - } - }, - "id": 7368, - "nodeType": "InheritanceSpecifier", - "src": "241:6:10" - } - ], - "contractDependencies": [ - 8430, - 8483, - 8493, - 10300, - 10403, - 10430, - 10453, - 10777 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 8373, - "linearizedBaseContracts": [ - 8373, - 10300, - 10430, - 10453, - 10403, - 8483, - 8493, - 10777, - 8430 - ], - "name": "OpenerRealFvr", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 7371, - "libraryName": { - "contractScope": null, - "id": 7369, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "261:8:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "255:27:10", - "typeName": { - "id": 7370, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "274:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "69c7d8a3", - "id": 7373, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "288:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7372, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "288:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1e14a533", - "id": 7379, - "name": "registeredIDs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "442:65:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "typeName": { - "id": 7378, - "keyType": { - "id": 7374, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "450:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "442:44:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - }, - "valueType": { - "id": 7377, - "keyType": { - "id": 7375, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "469:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "461:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 7376, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "480:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "01d243a6", - "id": 7384, - "name": "registeredIDsArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "513:55:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 7383, - "keyType": { - "id": 7380, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "521:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "513:29:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 7381, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "532:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7382, - "length": null, - "nodeType": "ArrayTypeName", - "src": "532:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b7365f1f", - "id": 7388, - "name": "alreadyMinted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "574:45:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "typeName": { - "id": 7387, - "keyType": { - "id": 7385, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "582:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "574:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - }, - "valueType": { - "id": 7386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "593:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b84c1392", - "id": 7392, - "name": "packs", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "630:37:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "typeName": { - "id": 7391, - "keyType": { - "id": 7389, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "638:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "630:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack)" - }, - "valueType": { - "contractScope": null, - "id": 7390, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "649:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 7396, - "name": "marketplaceDistributions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "673:76:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution)" - }, - "typeName": { - "id": 7395, - "keyType": { - "id": 7393, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "673:43:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution)" - }, - "valueType": { - "contractScope": null, - "id": 7394, - "name": "MarketplaceDistribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7475, - "src": "692:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "6fcbc6ed", - "id": 7399, - "name": "packIncrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "756:34:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7397, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 7398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "789:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e6416503", - "id": 7402, - "name": "lastNFTID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "796:28:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7400, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "796:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 7401, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "823:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7412, - "name": "PackCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 7411, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7404, - "indexed": false, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "849:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7403, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "849:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7406, - "indexed": true, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "865:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7405, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "865:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7408, - "indexed": true, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "887:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7407, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "887:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7410, - "indexed": true, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7412, - "src": "912:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7409, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "912:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "848:84:10" - }, - "src": "831:102:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7418, - "name": "PackBought", - "nodeType": "EventDefinition", - "parameters": { - "id": 7417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7414, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "955:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "955:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7416, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7418, - "src": "975:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7415, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "954:44:10" - }, - "src": "938:61:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7424, - "name": "PackOpened", - "nodeType": "EventDefinition", - "parameters": { - "id": 7423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7420, - "indexed": true, - "name": "by", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7424, - "src": "1021:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7419, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1021:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7422, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7424, - "src": "1041:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7421, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1041:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1020:44:10" - }, - "src": "1004:61:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7428, - "name": "PackDelete", - "nodeType": "EventDefinition", - "parameters": { - "id": 7427, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7426, - "indexed": true, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7428, - "src": "1087:22:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7425, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1087:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1086:24:10" - }, - "src": "1070:41:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 7432, - "name": "NftMinted", - "nodeType": "EventDefinition", - "parameters": { - "id": 7431, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7430, - "indexed": true, - "name": "nftId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7432, - "src": "1132:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7429, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1132:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1131:23:10" - }, - "src": "1116:39:10" - }, - { - "constant": false, - "functionSelector": "1eae8636", - "id": 7435, - "name": "_realFvrTokenPriceUSD", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1161:40:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7433, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1161:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 7434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1200:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "dd7c5e54", - "id": 7438, - "name": "_closed", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1208:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7436, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1208:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1230:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "eb8800d0", - "id": 7441, - "name": "_openedPacks", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8373, - "src": "1241:31:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1241:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 7440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1271:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.Pack", - "id": 7468, - "members": [ - { - "constant": false, - "id": 7443, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1301:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7442, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1301:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7445, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1325:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7447, - "name": "initialNFTId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1352:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7446, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1352:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7449, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1382:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1382:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7452, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1409:33:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1409:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7451, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1409:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7455, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1452:35:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7453, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1452:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7454, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1452:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7457, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1544:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7456, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1544:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7459, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1593:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7458, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1593:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7461, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1615:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7460, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1615:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7463, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1636:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7462, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1636:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7465, - "name": "opened", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1661:11:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7464, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1661:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7467, - "name": "buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7468, - "src": "1706:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7466, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1706:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Pack", - "nodeType": "StructDefinition", - "scope": 8373, - "src": "1279:447:10", - "visibility": "public" - }, - { - "canonicalName": "OpenerRealFvr.MarketplaceDistribution", - "id": 7475, - "members": [ - { - "constant": false, - "id": 7471, - "name": "marketplaceDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7475, - "src": "1773:40:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7469, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1773:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7470, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1773:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7474, - "name": "marketplaceDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7475, - "src": "1823:42:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7472, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1823:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7473, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1823:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MarketplaceDistribution", - "nodeType": "StructDefinition", - "scope": 8373, - "src": "1732:140:10", - "visibility": "public" - }, - { - "body": { - "id": 7488, - "nodeType": "Block", - "src": "1985:2:10", - "statements": [] - }, - "documentation": null, - "id": 7489, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 7484, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7477, - "src": "1971:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 7485, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7479, - "src": "1977:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 7486, - "modifierName": { - "argumentTypes": null, - "id": 7483, - "name": "ERC721", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10300, - "src": "1964:6:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC721_$10300_$", - "typeString": "type(contract ERC721)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1964:20:10" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7477, - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1893:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7476, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1893:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7479, - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1913:20:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7478, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1913:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7481, - "name": "_purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7489, - "src": "1935:20:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 7480, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "1935:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1892:64:10" - }, - "returnParameters": { - "id": 7487, - "nodeType": "ParameterList", - "parameters": [], - "src": "1985:0:10" - }, - "scope": 8373, - "src": "1880:107:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7537, - "nodeType": "Block", - "src": "2079:397:10", - "statements": [ - { - "assignments": [ - 7499 - ], - "declarations": [ - { - "constant": false, - "id": 7499, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7537, - "src": "2121:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7498, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "2121:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7503, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7500, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "2140:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7502, - "indexExpression": { - "argumentTypes": null, - "id": 7501, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7493, - "src": "2146:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2140:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2121:32:10" - }, - { - "body": { - "id": 7535, - "nodeType": "Block", - "src": "2227:243:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7519, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7491, - "src": "2324:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7520, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2346:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "2346:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 7523, - "indexExpression": { - "argumentTypes": null, - "id": 7522, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2377:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2346:33:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7524, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2398:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7525, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "2398:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 7527, - "indexExpression": { - "argumentTypes": null, - "id": 7526, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2427:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2398:31:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7528, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7495, - "src": "2432:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2398:40:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7530, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2397:42:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2442:3:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "2397:48:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7516, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "2279:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9024, - "src": "2279:27:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 7533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2279:180:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7534, - "nodeType": "ExpressionStatement", - "src": "2279:180:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7508, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2180:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7509, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7499, - "src": "2184:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7510, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "2184:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 7511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2184:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2180:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7536, - "initializationExpression": { - "assignments": [ - 7505 - ], - "declarations": [ - { - "constant": false, - "id": 7505, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7536, - "src": "2168:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7504, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2168:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7507, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2177:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2168:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2223:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7513, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7505, - "src": "2223:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7515, - "nodeType": "ExpressionStatement", - "src": "2223:3:10" - }, - "nodeType": "ForStatement", - "src": "2164:306:10" - } - ] - }, - "documentation": null, - "id": 7538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_distributePackShares", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7496, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7491, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2024:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7490, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2024:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7493, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2038:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7492, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2038:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7495, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7538, - "src": "2054:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7494, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2023:46:10" - }, - "returnParameters": { - "id": 7497, - "nodeType": "ParameterList", - "parameters": [], - "src": "2079:0:10" - }, - "scope": 8373, - "src": "1993:483:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7552, - "nodeType": "Block", - "src": "2556:43:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7548, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7540, - "src": "2579:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7549, - "name": "uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7542, - "src": "2588:3:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7547, - "name": "_setTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10199, - "src": "2566:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory)" - } - }, - "id": 7550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2566:26:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7551, - "nodeType": "ExpressionStatement", - "src": "2566:26:10" - } - ] - }, - "documentation": null, - "functionSelector": "162094c4", - "id": 7553, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7545, - "modifierName": { - "argumentTypes": null, - "id": 7544, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "2546:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2546:9:10" - } - ], - "name": "setTokenURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7540, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7553, - "src": "2503:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7539, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2503:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7542, - "name": "uri", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7553, - "src": "2520:17:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7541, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2520:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2502:36:10" - }, - "returnParameters": { - "id": 7546, - "nodeType": "ParameterList", - "parameters": [], - "src": "2556:0:10" - }, - "scope": 8373, - "src": "2482:117:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7564, - "nodeType": "Block", - "src": "2665:37:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7561, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7555, - "src": "2687:7:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7560, - "name": "_setBaseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10209, - "src": "2675:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory)" - } - }, - "id": 7562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2675:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7563, - "nodeType": "ExpressionStatement", - "src": "2675:20:10" - } - ] - }, - "documentation": null, - "functionSelector": "55f804b3", - "id": 7565, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7558, - "modifierName": { - "argumentTypes": null, - "id": 7557, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "2655:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2655:9:10" - } - ], - "name": "setBaseURI", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7556, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7555, - "name": "baseURI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7565, - "src": "2625:21:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7554, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2625:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2624:23:10" - }, - "returnParameters": { - "id": 7559, - "nodeType": "ParameterList", - "parameters": [], - "src": "2665:0:10" - }, - "scope": 8373, - "src": "2605:97:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7576, - "nodeType": "Block", - "src": "2769:40:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7573, - "name": "tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7567, - "src": "2794:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7572, - "name": "_exists", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9898, - "src": "2786:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) view returns (bool)" - } - }, - "id": 7574, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2786:16:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 7571, - "id": 7575, - "nodeType": "Return", - "src": "2779:23:10" - } - ] - }, - "documentation": null, - "functionSelector": "4f558e79", - "id": 7577, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "exists", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7568, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7567, - "name": "tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7577, - "src": "2725:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7566, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2724:17:10" - }, - "returnParameters": { - "id": 7571, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7570, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7577, - "src": "2763:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7569, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2763:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2762:6:10" - }, - "scope": 8373, - "src": "2709:100:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7589, - "nodeType": "Block", - "src": "2901:52:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7585, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "2918:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 7587, - "indexExpression": { - "argumentTypes": null, - "id": 7586, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7579, - "src": "2937:8:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2918:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 7584, - "id": 7588, - "nodeType": "Return", - "src": "2911:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "2c686030", - "id": 7590, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getRegisteredIDs", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7579, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7590, - "src": "2845:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7578, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2845:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2844:18:10" - }, - "returnParameters": { - "id": 7584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7583, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7590, - "src": "2883:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7581, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2883:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7582, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2883:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2882:18:10" - }, - "scope": 8373, - "src": "2819:134:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7645, - "nodeType": "Block", - "src": "3147:261:10", - "statements": [ - { - "assignments": [ - 7618 - ], - "declarations": [ - { - "constant": false, - "id": 7618, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7645, - "src": "3157:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7617, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "3157:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7622, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7619, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3176:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7621, - "indexExpression": { - "argumentTypes": null, - "id": 7620, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7592, - "src": "3182:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3176:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3157:33:10" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7623, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3221:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7624, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "3221:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7625, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3234:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7626, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "3234:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7627, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3253:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7628, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "3253:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7629, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3265:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7630, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "3265:10:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7631, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3277:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7632, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "3277:9:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7633, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3288:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7634, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "3288:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7635, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3303:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "3303:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7637, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3327:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7638, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "3327:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7639, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3359:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "3359:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7641, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7618, - "src": "3389:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 7642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "3389:11:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 7643, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3207:194:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_string_memory_$_t_string_memory_$_t_string_memory_$_t_address_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,string memory,string memory,string memory,address,address[] memory,uint256[] memory,bool)" - } - }, - "functionReturnParameters": 7616, - "id": 7644, - "nodeType": "Return", - "src": "3200:201:10" - } - ] - }, - "documentation": null, - "functionSelector": "15424e6e", - "id": 7646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackbyId", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7593, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7592, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "2980:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7591, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2980:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2979:17:10" - }, - "returnParameters": { - "id": 7616, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7595, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3013:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7594, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3013:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7597, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3023:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7596, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7599, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3032:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3032:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7601, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3041:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7600, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3041:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7603, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3056:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7602, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3056:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7605, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3071:13:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7604, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3071:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7607, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3086:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7606, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3086:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7610, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3104:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7608, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3104:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7609, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3104:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7613, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3122:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7611, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3122:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7612, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3122:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7615, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7646, - "src": "3140:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7614, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3140:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3012:133:10" - }, - "scope": 8373, - "src": "2959:449:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7667, - "nodeType": "Block", - "src": "3533:160:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7657, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "3551:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 7659, - "indexExpression": { - "argumentTypes": null, - "id": 7658, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7648, - "src": "3576:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3551:34:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 7660, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketplaceDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7471, - "src": "3551:65:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7661, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "3618:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 7663, - "indexExpression": { - "argumentTypes": null, - "id": 7662, - "name": "_tokenId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7648, - "src": "3643:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3618:34:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 7664, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "marketplaceDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7474, - "src": "3618:67:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - } - ], - "id": 7665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3550:136:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_uint256_$dyn_storage_$_t_array$_t_address_$dyn_storage_$", - "typeString": "tuple(uint256[] storage ref,address[] storage ref)" - } - }, - "functionReturnParameters": 7656, - "id": 7666, - "nodeType": "Return", - "src": "3543:143:10" - } - ] - }, - "documentation": null, - "functionSelector": "d5c2e3f6", - "id": 7668, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMarketplaceDistributionForERC721", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7649, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7648, - "name": "_tokenId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3459:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7647, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3459:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3458:18:10" - }, - "returnParameters": { - "id": 7656, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7652, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3497:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3497:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7651, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3497:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7655, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7668, - "src": "3515:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7653, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3515:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7654, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3515:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3496:36:10" - }, - "scope": 8373, - "src": "3414:279:10", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7688, - "nodeType": "Block", - "src": "3767:81:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - }, - "id": 7685, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 7683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3835:2:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "33", - "id": 7684, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3839:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "src": "3835:5:10", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1000_by_1", - "typeString": "int_const 1000" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7680, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "3808:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7675, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3784:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7677, - "indexExpression": { - "argumentTypes": null, - "id": 7676, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7670, - "src": "3790:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3784:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7678, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "3784:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "3784:23:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3784:46:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7682, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "3784:50:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 7686, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3784:57:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7674, - "id": 7687, - "nodeType": "Return", - "src": "3777:64:10" - } - ] - }, - "documentation": null, - "functionSelector": "84a50270", - "id": 7689, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPackPriceInFVR", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7671, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7670, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7689, - "src": "3726:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7669, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3726:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3725:16:10" - }, - "returnParameters": { - "id": 7674, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7673, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7689, - "src": "3758:7:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7672, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3758:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3757:9:10" - }, - "scope": 8373, - "src": "3699:149:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7808, - "nodeType": "Block", - "src": "3894:804:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "3912:8:10", - "subExpression": { - "argumentTypes": null, - "id": 7695, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "3913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 7697, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3922:18:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 7694, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3904:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3904:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7699, - "nodeType": "ExpressionStatement", - "src": "3904:37:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7701, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "3959:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7703, - "indexExpression": { - "argumentTypes": null, - "id": 7702, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "3965:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3959:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7704, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "3959:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7707, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3990:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7706, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3982:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7705, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3982:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3982:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "3959:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2077617320616c726561647920626f75676874", - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3994:25:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8264255b9e7aaa10a4a1d71aeb180195ead222d79991100b7ff24c869e5a09d8", - "typeString": "literal_string \"Pack was already bought\"" - }, - "value": "Pack was already bought" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8264255b9e7aaa10a4a1d71aeb180195ead222d79991100b7ff24c869e5a09d8", - "typeString": "literal_string \"Pack was already bought\"" - } - ], - "id": 7700, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3951:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3951:69:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7712, - "nodeType": "ExpressionStatement", - "src": "3951:69:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7719, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7714, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4038:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7716, - "indexExpression": { - "argumentTypes": null, - "id": 7715, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4044:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4038:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7717, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "4038:19:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7718, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4061:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4038:24:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b2068617320746f206578697374", - "id": 7720, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4064:19:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e6c203bd1ad8ab267b5855b81d2f46de9503a2d903ab8fc59016128527be56b5", - "typeString": "literal_string \"Pack has to exist\"" - }, - "value": "Pack has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_e6c203bd1ad8ab267b5855b81d2f46de9503a2d903ab8fc59016128527be56b5", - "typeString": "literal_string \"Pack has to exist\"" - } - ], - "id": 7713, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4030:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7721, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4030:54:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7722, - "nodeType": "ExpressionStatement", - "src": "4030:54:10" - }, - { - "assignments": [ - 7724 - ], - "declarations": [ - { - "constant": false, - "id": 7724, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7808, - "src": "4095:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7723, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4095:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7728, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7726, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4129:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7725, - "name": "getPackPriceInFVR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7689, - "src": "4111:17:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 7727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4111:25:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4095:41:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7732, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4180:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4180:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7736, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "4200:4:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_OpenerRealFvr_$8373", - "typeString": "contract OpenerRealFvr" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_OpenerRealFvr_$8373", - "typeString": "contract OpenerRealFvr" - } - ], - "id": 7735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4192:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7734, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4192:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7737, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4192:13:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 7730, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "4155:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 7731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "allowance", - "nodeType": "MemberAccess", - "referencedDeclaration": 8967, - "src": "4155:24:10", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$_t_address_$returns$_t_uint256_$", - "typeString": "function (address,address) view external returns (uint256)" - } - }, - "id": 7738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4155:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7739, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "4210:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4155:60:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "466972737420796f75206861766520746f20616c6c6f772074686520757365206f662074686520746f6b656e7320627920746865204f70656e65722c2075736520616c6c6f772066756e6374696f6e", - "id": 7741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4217:81:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_00406755db2121628b5af89947b97a74bf7682c74cbe0c7fac83e9fc01fe4727", - "typeString": "literal_string \"First you have to allow the use of the tokens by the Opener, use allow function\"" - }, - "value": "First you have to allow the use of the tokens by the Opener, use allow function" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_00406755db2121628b5af89947b97a74bf7682c74cbe0c7fac83e9fc01fe4727", - "typeString": "literal_string \"First you have to allow the use of the tokens by the Opener, use allow function\"" - } - ], - "id": 7729, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4147:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4147:152:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7743, - "nodeType": "ExpressionStatement", - "src": "4147:152:10" - }, - { - "assignments": [ - 7745 - ], - "declarations": [ - { - "constant": false, - "id": 7745, - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7808, - "src": "4310:12:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7744, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4310:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7748, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7746, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4325:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4325:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4310:25:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7750, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4368:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7751, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4374:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7752, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "4382:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7749, - "name": "_distributePackShares", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7538, - "src": "4346:21:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256)" - } - }, - "id": 7753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4346:42:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7754, - "nodeType": "ExpressionStatement", - "src": "4346:42:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7755, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7441, - "src": "4399:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 7756, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4415:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4399:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7758, - "nodeType": "ExpressionStatement", - "src": "4399:17:10" - }, - { - "body": { - "id": 7794, - "nodeType": "Block", - "src": "4476:139:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7772, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "4490:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 7781, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4504:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4504:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4490:25:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 7782, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7775, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4516:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7777, - "indexExpression": { - "argumentTypes": null, - "id": 7776, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4522:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4516:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7778, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "4516:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7779, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4543:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4516:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4490:55:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7783, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4548:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "4490:62:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7785, - "nodeType": "ExpressionStatement", - "src": "4490:62:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7791, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4602:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7786, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "4566:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 7789, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7787, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4585:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4585:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4566:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 7790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4566:35:10", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7792, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4566:38:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7793, - "nodeType": "ExpressionStatement", - "src": "4566:38:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7768, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7763, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4443:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7764, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4447:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7766, - "indexExpression": { - "argumentTypes": null, - "id": 7765, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4453:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4447:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7767, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "4447:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4443:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7795, - "initializationExpression": { - "assignments": [ - 7760 - ], - "declarations": [ - { - "constant": false, - "id": 7760, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7795, - "src": "4431:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7759, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4431:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7762, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4440:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4431:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7770, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4472:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7769, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7760, - "src": "4472:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7771, - "nodeType": "ExpressionStatement", - "src": "4472:3:10" - }, - "nodeType": "ForStatement", - "src": "4427:188:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7801, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7796, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4625:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7798, - "indexExpression": { - "argumentTypes": null, - "id": 7797, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4631:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4625:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7799, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "4625:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7800, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4647:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4625:26:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7802, - "nodeType": "ExpressionStatement", - "src": "4625:26:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7804, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "4678:4:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7805, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "4684:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7803, - "name": "PackBought", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7418, - "src": "4667:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4667:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7807, - "nodeType": "EmitStatement", - "src": "4662:29:10" - } - ] - }, - "documentation": null, - "functionSelector": "dc45bfb3", - "id": 7809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7691, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7809, - "src": "3871:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7690, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3871:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3870:16:10" - }, - "returnParameters": { - "id": 7693, - "nodeType": "ParameterList", - "parameters": [], - "src": "3894:0:10" - }, - "scope": 8373, - "src": "3854:844:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7834, - "nodeType": "Block", - "src": "4755:101:10", - "statements": [ - { - "body": { - "id": 7832, - "nodeType": "Block", - "src": "4805:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7827, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "4827:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7829, - "indexExpression": { - "argumentTypes": null, - "id": 7828, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4835:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4827:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7826, - "name": "buyPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7809, - "src": "4819:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4819:19:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7831, - "nodeType": "ExpressionStatement", - "src": "4819:19:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7822, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7819, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4781:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7820, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7812, - "src": "4785:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4785:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4781:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7833, - "initializationExpression": { - "assignments": [ - 7816 - ], - "declarations": [ - { - "constant": false, - "id": 7816, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7833, - "src": "4769:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7815, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4769:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7818, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4778:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4769:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4801:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7823, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7816, - "src": "4801:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7825, - "nodeType": "ExpressionStatement", - "src": "4801:3:10" - }, - "nodeType": "ForStatement", - "src": "4765:84:10" - } - ] - }, - "documentation": null, - "functionSelector": "d3a4ff4f", - "id": 7835, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buyPacks", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7812, - "name": "packIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7835, - "src": "4722:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4722:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7811, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4722:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4721:26:10" - }, - "returnParameters": { - "id": 7814, - "nodeType": "ParameterList", - "parameters": [], - "src": "4755:0:10" - }, - "scope": 8373, - "src": "4704:152:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7892, - "nodeType": "Block", - "src": "4903:362:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7842, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4921:8:10", - "subExpression": { - "argumentTypes": null, - "id": 7841, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "4922:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e6572206973206c6f636b6564", - "id": 7843, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4931:18:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - }, - "value": "Opener is locked" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30e91251fd43041056dbd55b8f13457460bb2c57d00739930ad58e59639ab88d", - "typeString": "literal_string \"Opener is locked\"" - } - ], - "id": 7840, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4913:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7844, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4913:37:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7845, - "nodeType": "ExpressionStatement", - "src": "4913:37:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "4968:21:10", - "subExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7847, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "4969:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7849, - "indexExpression": { - "argumentTypes": null, - "id": 7848, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "4975:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4969:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "4969:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f70656e656420416c7265616479", - "id": 7852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4991:16:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ef3f55829ab1396f636014469caf72b6389940993c8e2e315b6147c431640902", - "typeString": "literal_string \"Opened Already\"" - }, - "value": "Opened Already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ef3f55829ab1396f636014469caf72b6389940993c8e2e315b6147c431640902", - "typeString": "literal_string \"Opened Already\"" - } - ], - "id": 7846, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4960:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4960:48:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7854, - "nodeType": "ExpressionStatement", - "src": "4960:48:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7856, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5026:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7858, - "indexExpression": { - "argumentTypes": null, - "id": 7857, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5032:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5026:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "5026:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5057:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7861, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5049:7:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5049:7:10", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7863, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5049:10:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5026:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20776173206e6f7420626f75676874", - "id": 7865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5061:21:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a2bde46eaf87c96fdf636632ff8c35a5e1d3842a09fb5221ebd51e223c8ca0e2", - "typeString": "literal_string \"Pack was not bought\"" - }, - "value": "Pack was not bought" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a2bde46eaf87c96fdf636632ff8c35a5e1d3842a09fb5221ebd51e223c8ca0e2", - "typeString": "literal_string \"Pack was not bought\"" - } - ], - "id": 7855, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5018:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7866, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5018:65:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7867, - "nodeType": "ExpressionStatement", - "src": "5018:65:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7869, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5101:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7871, - "indexExpression": { - "argumentTypes": null, - "id": 7870, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5107:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5101:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7872, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "5101:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7873, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5124:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5124:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5101:33:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "596f752077657265206e6f7420746865207061636b206275796572", - "id": 7876, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5136:29:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9b04f426cb57ce8889883d43b5d3f1ce780bee6a8cf4595b576ec1a0e7130728", - "typeString": "literal_string \"You were not the pack buyer\"" - }, - "value": "You were not the pack buyer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9b04f426cb57ce8889883d43b5d3f1ce780bee6a8cf4595b576ec1a0e7130728", - "typeString": "literal_string \"You were not the pack buyer\"" - } - ], - "id": 7868, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5093:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7877, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5093:73:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7878, - "nodeType": "ExpressionStatement", - "src": "5093:73:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 7884, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7879, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "5177:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 7881, - "indexExpression": { - "argumentTypes": null, - "id": 7880, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5183:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5177:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 7882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "opened", - "nodeType": "MemberAccess", - "referencedDeclaration": 7465, - "src": "5177:20:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7883, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5200:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "5177:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7885, - "nodeType": "ExpressionStatement", - "src": "5177:27:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7887, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5239:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7888, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5239:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7889, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7837, - "src": "5251:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7886, - "name": "PackOpened", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7424, - "src": "5228:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7890, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5228:30:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7891, - "nodeType": "EmitStatement", - "src": "5223:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "50a88c7e", - "id": 7893, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7838, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7837, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7893, - "src": "4880:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4880:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4879:16:10" - }, - "returnParameters": { - "id": 7839, - "nodeType": "ParameterList", - "parameters": [], - "src": "4903:0:10" - }, - "scope": 8373, - "src": "4862:403:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7918, - "nodeType": "Block", - "src": "5323:102:10", - "statements": [ - { - "body": { - "id": 7916, - "nodeType": "Block", - "src": "5373:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7911, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7896, - "src": "5396:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7913, - "indexExpression": { - "argumentTypes": null, - "id": 7912, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5404:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5396:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7910, - "name": "openPack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7893, - "src": "5387:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 7914, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5387:20:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7915, - "nodeType": "ExpressionStatement", - "src": "5387:20:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7906, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7903, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5349:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7904, - "name": "packIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7896, - "src": "5353:7:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5353:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5349:18:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7917, - "initializationExpression": { - "assignments": [ - 7900 - ], - "declarations": [ - { - "constant": false, - "id": 7900, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7917, - "src": "5337:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7899, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5337:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7902, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5346:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5337:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "5369:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7907, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7900, - "src": "5369:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7909, - "nodeType": "ExpressionStatement", - "src": "5369:3:10" - }, - "nodeType": "ForStatement", - "src": "5333:85:10" - } - ] - }, - "documentation": null, - "functionSelector": "078ab8be", - "id": 7919, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "openPacks", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7897, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7896, - "name": "packIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7919, - "src": "5290:24:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7894, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5290:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7895, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5290:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5289:26:10" - }, - "returnParameters": { - "id": 7898, - "nodeType": "ParameterList", - "parameters": [], - "src": "5323:0:10" - }, - "scope": 8373, - "src": "5271:154:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8111, - "nodeType": "Block", - "src": "5847:1490:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7949, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "5866:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5866:30:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7951, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "5900:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7952, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5900:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5866:66:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "73616c65446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 7954, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5934:43:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fd38b9202535e756bcbf814eae7a39d8ded0b5e331fdd9dbd15b9126ac65cd4f", - "typeString": "literal_string \"saleDistribution Lenghts are not the same\"" - }, - "value": "saleDistribution Lenghts are not the same" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fd38b9202535e756bcbf814eae7a39d8ded0b5e331fdd9dbd15b9126ac65cd4f", - "typeString": "literal_string \"saleDistribution Lenghts are not the same\"" - } - ], - "id": 7948, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5858:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7955, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5858:120:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7956, - "nodeType": "ExpressionStatement", - "src": "5858:120:10" - }, - { - "assignments": [ - 7958 - ], - "declarations": [ - { - "constant": false, - "id": 7958, - "name": "totalFees", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8111, - "src": "5988:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7957, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5988:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7960, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7959, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6008:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "5988:21:10" - }, - { - "body": { - "id": 7978, - "nodeType": "Block", - "src": "6077:64:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7972, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7958, - "src": "6091:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7973, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "6104:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7975, - "indexExpression": { - "argumentTypes": null, - "id": 7974, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6128:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6104:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6091:39:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7977, - "nodeType": "ExpressionStatement", - "src": "6091:39:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7968, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7965, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6035:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7966, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "6039:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6039:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6035:36:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7979, - "initializationExpression": { - "assignments": [ - 7962 - ], - "declarations": [ - { - "constant": false, - "id": 7962, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7979, - "src": "6023:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7961, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6023:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7964, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 7963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6032:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6023:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6073:3:10", - "subExpression": { - "argumentTypes": null, - "id": 7969, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7962, - "src": "6073:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7971, - "nodeType": "ExpressionStatement", - "src": "6073:3:10" - }, - "nodeType": "ForStatement", - "src": "6019:122:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7981, - "name": "totalFees", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7958, - "src": "6158:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 7982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6171:3:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "6158:16:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53756d206f6620616c6c20616d6f756e74732068617320746f20657175616c20313030", - "id": 7984, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6176:37:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_eca8a748afd3ab93f712fd8b8f3fd24de9a94b0ebfa33503728cf759ae354771", - "typeString": "literal_string \"Sum of all amounts has to equal 100\"" - }, - "value": "Sum of all amounts has to equal 100" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_eca8a748afd3ab93f712fd8b8f3fd24de9a94b0ebfa33503728cf759ae354771", - "typeString": "literal_string \"Sum of all amounts has to equal 100\"" - } - ], - "id": 7980, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6150:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6150:64:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7986, - "nodeType": "ExpressionStatement", - "src": "6150:64:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7992, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7988, - "name": "marketplaceDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "6234:32:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6234:39:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7990, - "name": "marketplaceDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "6277:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 7991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6277:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6234:80:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6d61726b6574706c616365446973747269627574696f6e204c656e6768747320617265206e6f74207468652073616d65", - "id": 7993, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6316:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_550eafb76f59160bae2aa5e08b95b73fe5b8cf03db0a2d4f75d8173d83fdfd75", - "typeString": "literal_string \"marketplaceDistribution Lenghts are not the same\"" - }, - "value": "marketplaceDistribution Lenghts are not the same" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_550eafb76f59160bae2aa5e08b95b73fe5b8cf03db0a2d4f75d8173d83fdfd75", - "typeString": "literal_string \"marketplaceDistribution Lenghts are not the same\"" - } - ], - "id": 7987, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6226:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7994, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6226:141:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7995, - "nodeType": "ExpressionStatement", - "src": "6226:141:10" - }, - { - "assignments": [ - 7997 - ], - "declarations": [ - { - "constant": false, - "id": 7997, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8111, - "src": "6378:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 7996, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "6378:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7998, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "6378:16:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8003, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7999, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6404:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8001, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "6404:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8002, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "6418:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6404:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8004, - "nodeType": "ExpressionStatement", - "src": "6404:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8005, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6443:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8007, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "6443:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8008, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "6460:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6443:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8010, - "nodeType": "ExpressionStatement", - "src": "6443:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8011, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6479:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "6479:14:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8014, - "name": "saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7931, - "src": "6496:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6479:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8016, - "nodeType": "ExpressionStatement", - "src": "6479:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8021, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8017, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6515:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8019, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "6515:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8020, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "6535:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6515:29:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8022, - "nodeType": "ExpressionStatement", - "src": "6515:29:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8023, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6554:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8025, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "6554:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8026, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7923, - "src": "6567:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6554:18:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8028, - "nodeType": "ExpressionStatement", - "src": "6554:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8029, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6582:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "6582:10:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8032, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "6595:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6582:18:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8034, - "nodeType": "ExpressionStatement", - "src": "6582:18:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8035, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6610:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8037, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "6610:9:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8038, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "6622:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6610:16:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8040, - "nodeType": "ExpressionStatement", - "src": "6610:16:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8041, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6636:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8043, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 7455, - "src": "6636:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8044, - "name": "saleDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7934, - "src": "6669:25:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "6636:58:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 8046, - "nodeType": "ExpressionStatement", - "src": "6636:58:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8047, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6704:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8049, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleDistributionAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 7452, - "src": "6704:28:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8050, - "name": "saleDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7937, - "src": "6735:23:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "6704:54:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 8052, - "nodeType": "ExpressionStatement", - "src": "6704:54:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8057, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8053, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6768:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "id": 8055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "6768:13:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8056, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "6784:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "6768:24:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - "id": 8058, - "nodeType": "ExpressionStatement", - "src": "6768:24:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8059, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "6802:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8061, - "indexExpression": { - "argumentTypes": null, - "id": 8060, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "6808:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6802:22:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8062, - "name": "pack", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7997, - "src": "6827:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack memory" - } - }, - "src": "6802:29:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8064, - "nodeType": "ExpressionStatement", - "src": "6802:29:10" - }, - { - "body": { - "id": 8090, - "nodeType": "Block", - "src": "6887:289:10", - "statements": [ - { - "assignments": [ - 8076 - ], - "declarations": [ - { - "constant": false, - "id": 8076, - "name": "marketplaceDistribution", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8090, - "src": "6942:54:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - }, - "typeName": { - "contractScope": null, - "id": 8075, - "name": "MarketplaceDistribution", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7475, - "src": "6942:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8081, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8078, - "name": "marketplaceDistributionAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7943, - "src": "7023:30:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 8079, - "name": "marketplaceDistributionAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7940, - "src": "7055:32:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 8077, - "name": "MarketplaceDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7475, - "src": "6999:23:10", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_MarketplaceDistribution_$7475_storage_ptr_$", - "typeString": "type(struct OpenerRealFvr.MarketplaceDistribution storage pointer)" - } - }, - "id": 8080, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6999:89:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6942:146:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8088, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8082, - "name": "marketplaceDistributions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7396, - "src": "7102:24:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MarketplaceDistribution_$7475_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.MarketplaceDistribution storage ref)" - } - }, - "id": 8086, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8085, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8083, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7127:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8084, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "7137:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7127:11:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7102:37:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8087, - "name": "marketplaceDistribution", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8076, - "src": "7142:23:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_memory_ptr", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution memory" - } - }, - "src": "7102:63:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MarketplaceDistribution_$7475_storage", - "typeString": "struct OpenerRealFvr.MarketplaceDistribution storage ref" - } - }, - "id": 8089, - "nodeType": "ExpressionStatement", - "src": "7102:63:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8069, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "6867:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 8070, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "6872:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6867:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8091, - "initializationExpression": { - "assignments": [ - 8066 - ], - "declarations": [ - { - "constant": false, - "id": 8066, - "name": "j", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8091, - "src": "6855:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8065, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6855:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8068, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 8067, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6864:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6855:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 8073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6883:3:10", - "subExpression": { - "argumentTypes": null, - "id": 8072, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8066, - "src": "6883:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8074, - "nodeType": "ExpressionStatement", - "src": "6883:3:10" - }, - "nodeType": "ForStatement", - "src": "6851:325:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8093, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7203:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 8094, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7925, - "src": "7220:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8095, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7927, - "src": "7227:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 8096, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7929, - "src": "7237:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 8092, - "name": "PackCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7412, - "src": "7191:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory,string memory,string memory)" - } - }, - "id": 8097, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7191:51:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8098, - "nodeType": "EmitStatement", - "src": "7186:56:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8103, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8099, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7252:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8100, - "name": "lastNFTID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7402, - "src": "7264:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8101, - "name": "nftAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7921, - "src": "7276:9:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7264:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7252:33:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8104, - "nodeType": "ExpressionStatement", - "src": "7252:33:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8105, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7295:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8108, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8106, - "name": "packIncrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7399, - "src": "7313:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 8107, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7329:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7313:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7295:35:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8110, - "nodeType": "ExpressionStatement", - "src": "7295:35:10" - } - ] - }, - "documentation": null, - "functionSelector": "3c995e71", - "id": 8112, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7946, - "modifierName": { - "argumentTypes": null, - "id": 7945, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "5837:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5837:9:10" - } - ], - "name": "createPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7944, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7921, - "name": "nftAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5451:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7920, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5451:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7923, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5470:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7922, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5470:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7925, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5509:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7924, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5509:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7927, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5530:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7926, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5530:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7929, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5554:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7928, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5554:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7931, - "name": "saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5574:17:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7934, - "name": "saleDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5601:42:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7932, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5601:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7933, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5601:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7937, - "name": "saleDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5646:40:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7935, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5646:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7936, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5646:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7940, - "name": "marketplaceDistributionAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5710:49:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7938, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5710:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7939, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5710:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7943, - "name": "marketplaceDistributionAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8112, - "src": "5762:47:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7941, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5762:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7942, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5762:9:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5450:379:10" - }, - "returnParameters": { - "id": 7947, - "nodeType": "ParameterList", - "parameters": [], - "src": "5847:0:10" - }, - "scope": 8373, - "src": "5431:1906:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8188, - "nodeType": "Block", - "src": "7422:458:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8122, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7440:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8124, - "indexExpression": { - "argumentTypes": null, - "id": 8123, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7446:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7440:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8125, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "packId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7443, - "src": "7440:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 8126, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7464:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7440:30:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061636b20646f6573206e6f74206578697374", - "id": 8128, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7472:21:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_71b2cc658e6bcf05619cf3f5cb3eb1dbb572bb0035ad28f75e1c199d66b5bdbb", - "typeString": "literal_string \"Pack does not exist\"" - }, - "value": "Pack does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_71b2cc658e6bcf05619cf3f5cb3eb1dbb572bb0035ad28f75e1c199d66b5bdbb", - "typeString": "literal_string \"Pack does not exist\"" - } - ], - "id": 8121, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7432:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8129, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7432:62:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8130, - "nodeType": "ExpressionStatement", - "src": "7432:62:10" - }, - { - "assignments": [ - 8132 - ], - "declarations": [ - { - "constant": false, - "id": 8132, - "name": "pack", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8188, - "src": "7504:16:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_memory_ptr", - "typeString": "struct OpenerRealFvr.Pack" - }, - "typeName": { - "contractScope": null, - "id": 8131, - "name": "Pack", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7468, - "src": "7504:4:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage_ptr", - "typeString": "struct OpenerRealFvr.Pack" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8136, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8133, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7523:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8135, - "indexExpression": { - "argumentTypes": null, - "id": 8134, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7529:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7523:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7504:32:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8142, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8137, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7546:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8139, - "indexExpression": { - "argumentTypes": null, - "id": 8138, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7552:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7546:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8140, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "buyer", - "nodeType": "MemberAccess", - "referencedDeclaration": 7467, - "src": "7546:19:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8141, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7568:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "7546:38:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 8143, - "nodeType": "ExpressionStatement", - "src": "7546:38:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8144, - "name": "_openedPacks", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7441, - "src": "7595:12:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "31", - "id": 8145, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7611:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "7595:17:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8147, - "nodeType": "ExpressionStatement", - "src": "7595:17:10" - }, - { - "body": { - "id": 8181, - "nodeType": "Block", - "src": "7672:151:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8161, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "7686:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 8169, - "indexExpression": { - "argumentTypes": null, - "id": 8162, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7700:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7686:31:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8170, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8163, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7718:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8165, - "indexExpression": { - "argumentTypes": null, - "id": 8164, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7724:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7718:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8166, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "initialNFTId", - "nodeType": "MemberAccess", - "referencedDeclaration": 7447, - "src": "7718:26:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 8167, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7745:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7718:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7686:61:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8171, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7750:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7686:68:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8173, - "nodeType": "ExpressionStatement", - "src": "7686:68:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8178, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7810:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8174, - "name": "registeredIDsArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7384, - "src": "7768:18:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 8176, - "indexExpression": { - "argumentTypes": null, - "id": 8175, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7787:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7768:36:10", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 8177, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7768:41:10", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8179, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7768:44:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8180, - "nodeType": "ExpressionStatement", - "src": "7768:44:10" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8157, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8152, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7639:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8153, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "7643:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8155, - "indexExpression": { - "argumentTypes": null, - "id": 8154, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7649:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7643:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8156, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "nftAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 7445, - "src": "7643:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7639:27:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8182, - "initializationExpression": { - "assignments": [ - 8149 - ], - "declarations": [ - { - "constant": false, - "id": 8149, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8182, - "src": "7627:6:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8148, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7627:4:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 8151, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 8150, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7636:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7627:10:10" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 8159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7668:3:10", - "subExpression": { - "argumentTypes": null, - "id": 8158, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8149, - "src": "7668:1:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8160, - "nodeType": "ExpressionStatement", - "src": "7668:3:10" - }, - "nodeType": "ForStatement", - "src": "7623:200:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8184, - "name": "receivingAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8116, - "src": "7848:16:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 8185, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8114, - "src": "7866:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8183, - "name": "PackBought", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7418, - "src": "7837:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7837:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8187, - "nodeType": "EmitStatement", - "src": "7832:41:10" - } - ] - }, - "documentation": null, - "functionSelector": "ec6923a1", - "id": 8189, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8119, - "modifierName": { - "argumentTypes": null, - "id": 8118, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "7412:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "7412:9:10" - } - ], - "name": "offerPack", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8117, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8114, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8189, - "src": "7363:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8113, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7363:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8116, - "name": "receivingAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8189, - "src": "7379:24:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8115, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7379:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7362:42:10" - }, - "returnParameters": { - "id": 8120, - "nodeType": "ParameterList", - "parameters": [], - "src": "7422:0:10" - }, - "scope": 8373, - "src": "7344:536:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8252, - "nodeType": "Block", - "src": "8042:295:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8207, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8060:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8060:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8209, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8078:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8211, - "indexExpression": { - "argumentTypes": null, - "id": 8210, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8084:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8078:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8212, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8078:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8060:42:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 8214, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8104:22:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - }, - "value": "Sale is already live" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - } - ], - "id": 8206, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8052:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8215, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8052:75:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8216, - "nodeType": "ExpressionStatement", - "src": "8052:75:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8222, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8217, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8137:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8219, - "indexExpression": { - "argumentTypes": null, - "id": 8218, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8143:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8137:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8220, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8137:24:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8221, - "name": "_saleStart", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8193, - "src": "8164:10:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8137:37:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8223, - "nodeType": "ExpressionStatement", - "src": "8137:37:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8224, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8184:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8226, - "indexExpression": { - "argumentTypes": null, - "id": 8225, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8190:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8184:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8227, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "serie", - "nodeType": "MemberAccess", - "referencedDeclaration": 7459, - "src": "8184:20:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8228, - "name": "serie", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8195, - "src": "8207:5:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8184:28:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8230, - "nodeType": "ExpressionStatement", - "src": "8184:28:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8231, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8222:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8233, - "indexExpression": { - "argumentTypes": null, - "id": 8232, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8228:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8222:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8234, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "packType", - "nodeType": "MemberAccess", - "referencedDeclaration": 7463, - "src": "8222:23:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8235, - "name": "packType", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8197, - "src": "8248:8:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8222:34:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8237, - "nodeType": "ExpressionStatement", - "src": "8222:34:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8238, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8266:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8240, - "indexExpression": { - "argumentTypes": null, - "id": 8239, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8272:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8266:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8241, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "drop", - "nodeType": "MemberAccess", - "referencedDeclaration": 7461, - "src": "8266:19:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8242, - "name": "drop", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8199, - "src": "8288:4:10", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "8266:26:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 8244, - "nodeType": "ExpressionStatement", - "src": "8266:26:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8245, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8302:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8247, - "indexExpression": { - "argumentTypes": null, - "id": 8246, - "name": "_packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8191, - "src": "8308:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8302:14:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "price", - "nodeType": "MemberAccess", - "referencedDeclaration": 7457, - "src": "8302:20:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8249, - "name": "price", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8201, - "src": "8325:5:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8302:28:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8251, - "nodeType": "ExpressionStatement", - "src": "8302:28:10" - } - ] - }, - "documentation": null, - "functionSelector": "3a307f61", - "id": 8253, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8204, - "modifierName": { - "argumentTypes": null, - "id": 8203, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8032:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8032:9:10" - } - ], - "name": "editPackInfo", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8202, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8191, - "name": "_packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7908:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7908:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8193, - "name": "_saleStart", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7925:18:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8192, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7925:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8195, - "name": "serie", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7945:19:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8194, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7945:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8197, - "name": "packType", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7966:22:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8196, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7966:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8199, - "name": "drop", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "7990:18:10", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 8198, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7990:6:10", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8201, - "name": "price", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8253, - "src": "8010:13:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8200, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8010:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7907:117:10" - }, - "returnParameters": { - "id": 8205, - "nodeType": "ParameterList", - "parameters": [], - "src": "8042:0:10" - }, - "scope": 8373, - "src": "7886:451:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8280, - "nodeType": "Block", - "src": "8400:154:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8267, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8261, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8418:5:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 8262, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8418:15:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8263, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8436:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8265, - "indexExpression": { - "argumentTypes": null, - "id": 8264, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8442:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8436:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "id": 8266, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "saleStart", - "nodeType": "MemberAccess", - "referencedDeclaration": 7449, - "src": "8436:23:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8418:41:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "53616c6520697320616c7265616479206c697665", - "id": 8268, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8461:22:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - }, - "value": "Sale is already live" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dc9e73875d73cb197487ce3ab22c729094a237e386c472de8373bb507267d4c7", - "typeString": "literal_string \"Sale is already live\"" - } - ], - "id": 8260, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8410:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8410:74:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8270, - "nodeType": "ExpressionStatement", - "src": "8410:74:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "delete", - "prefix": true, - "src": "8494:20:10", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8271, - "name": "packs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7392, - "src": "8501:5:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Pack_$7468_storage_$", - "typeString": "mapping(uint256 => struct OpenerRealFvr.Pack storage ref)" - } - }, - "id": 8273, - "indexExpression": { - "argumentTypes": null, - "id": 8272, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8507:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8501:13:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Pack_$7468_storage", - "typeString": "struct OpenerRealFvr.Pack storage ref" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8275, - "nodeType": "ExpressionStatement", - "src": "8494:20:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8277, - "name": "packId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8255, - "src": "8540:6:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8276, - "name": "PackDelete", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7428, - "src": "8529:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8278, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8529:18:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8279, - "nodeType": "EmitStatement", - "src": "8524:23:10" - } - ] - }, - "documentation": null, - "functionSelector": "ec90a293", - "id": 8281, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8258, - "modifierName": { - "argumentTypes": null, - "id": 8257, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8390:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8390:9:10" - } - ], - "name": "deletePackById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8256, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8255, - "name": "packId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8281, - "src": "8367:14:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8367:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8366:16:10" - }, - "returnParameters": { - "id": 8259, - "nodeType": "ParameterList", - "parameters": [], - "src": "8400:0:10" - }, - "scope": 8373, - "src": "8343:211:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8320, - "nodeType": "Block", - "src": "8604:317:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8287, - "name": "registeredIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7379, - "src": "8622:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_bool_$_$", - "typeString": "mapping(address => mapping(uint256 => bool))" - } - }, - "id": 8290, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8288, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8636:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8289, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8636:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8622:25:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8292, - "indexExpression": { - "argumentTypes": null, - "id": 8291, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8648:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8622:40:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f6b656e20776173206e6f742072656769737465726564206f72206e6f742074686520726967687466756c206f776e6572", - "id": 8293, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8664:52:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - }, - "value": "Token was not registered or not the rightful owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_963a2ac5c0b7cd2b8f23394a672ad9ae2d820be04c8f81b5094719d87000c39d", - "typeString": "literal_string \"Token was not registered or not the rightful owner\"" - } - ], - "id": 8286, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8614:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8614:103:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8295, - "nodeType": "ExpressionStatement", - "src": "8614:103:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8300, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "8735:29:10", - "subExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8297, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "8736:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8299, - "indexExpression": { - "argumentTypes": null, - "id": 8298, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8750:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8736:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416c7265616479206d696e746564", - "id": 8301, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8766:16:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - }, - "value": "Already minted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_07a393aaecec82831fb8eedd24a09ceedd55f6988f2ff034d4b7c484567c4a59", - "typeString": "literal_string \"Already minted\"" - } - ], - "id": 8296, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8727:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8302, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8727:56:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8303, - "nodeType": "ExpressionStatement", - "src": "8727:56:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 8304, - "name": "alreadyMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7388, - "src": "8794:13:10", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", - "typeString": "mapping(uint256 => bool)" - } - }, - "id": 8306, - "indexExpression": { - "argumentTypes": null, - "id": 8305, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8808:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8794:28:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8307, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8825:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "8794:35:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8309, - "nodeType": "ExpressionStatement", - "src": "8794:35:10" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 8311, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8849:3:10", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 8312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8849:10:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 8313, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8861:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8310, - "name": "_safeMint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 9953, - 9981 - ], - "referencedDeclaration": 9953, - "src": "8839:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 8314, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8839:36:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8315, - "nodeType": "ExpressionStatement", - "src": "8839:36:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 8317, - "name": "tokenIdToMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8283, - "src": "8900:13:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 8316, - "name": "NftMinted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7432, - "src": "8890:9:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 8318, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8890:24:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8319, - "nodeType": "EmitStatement", - "src": "8885:29:10" - } - ] - }, - "documentation": null, - "functionSelector": "a0712d68", - "id": 8321, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8284, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8283, - "name": "tokenIdToMint", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8321, - "src": "8574:21:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8282, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8574:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8573:23:10" - }, - "returnParameters": { - "id": 8285, - "nodeType": "ParameterList", - "parameters": [], - "src": "8604:0:10" - }, - "scope": 8373, - "src": "8560:361:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8332, - "nodeType": "Block", - "src": "8998:47:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8328, - "name": "_purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7373, - "src": "9008:14:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8329, - "name": "purchaseToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8323, - "src": "9025:13:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "src": "9008:30:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "id": 8331, - "nodeType": "ExpressionStatement", - "src": "9008:30:10" - } - ] - }, - "documentation": null, - "functionSelector": "298489d2", - "id": 8333, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8326, - "modifierName": { - "argumentTypes": null, - "id": 8325, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "8988:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "8988:9:10" - } - ], - "name": "setPurchaseTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8323, - "name": "purchaseToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8333, - "src": "8960:19:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 8322, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9318, - "src": "8960:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9318", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8959:21:10" - }, - "returnParameters": { - "id": 8327, - "nodeType": "ParameterList", - "parameters": [], - "src": "8998:0:10" - }, - "scope": 8373, - "src": "8927:118:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8351, - "nodeType": "Block", - "src": "9168:114:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 8343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 8341, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8335, - "src": "9186:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 8342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9198:1:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "9186:13:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "6e657750726963652068617320746f20686967686572207468616e2030", - "id": 8344, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9201:31:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_728835c50e9e03e853c669cedde7ee90ec7bbc4ffa000e25c596c87cbd8c420c", - "typeString": "literal_string \"newPrice has to higher than 0\"" - }, - "value": "newPrice has to higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_728835c50e9e03e853c669cedde7ee90ec7bbc4ffa000e25c596c87cbd8c420c", - "typeString": "literal_string \"newPrice has to higher than 0\"" - } - ], - "id": 8340, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9178:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 8345, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9178:55:10", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 8346, - "nodeType": "ExpressionStatement", - "src": "9178:55:10" - }, - { - "expression": { - "argumentTypes": null, - "id": 8349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8347, - "name": "_realFvrTokenPriceUSD", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7435, - "src": "9243:21:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 8348, - "name": "newPrice", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8335, - "src": "9267:8:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9243:32:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 8350, - "nodeType": "ExpressionStatement", - "src": "9243:32:10" - } - ] - }, - "documentation": null, - "functionSelector": "5eeb57c0", - "id": 8352, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8338, - "modifierName": { - "argumentTypes": null, - "id": 8337, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9158:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9158:9:10" - } - ], - "name": "setTokenPriceInUSD", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8336, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 8335, - "name": "newPrice", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 8352, - "src": "9079:16:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 8334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9079:7:10", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9078:72:10" - }, - "returnParameters": { - "id": 8339, - "nodeType": "ParameterList", - "parameters": [], - "src": "9168:0:10" - }, - "scope": 8373, - "src": "9051:231:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8361, - "nodeType": "Block", - "src": "9321:31:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8359, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8357, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "9331:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 8358, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9341:4:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "9331:14:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8360, - "nodeType": "ExpressionStatement", - "src": "9331:14:10" - } - ] - }, - "documentation": null, - "functionSelector": "f83d08ba", - "id": 8362, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8355, - "modifierName": { - "argumentTypes": null, - "id": 8354, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9311:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9311:9:10" - } - ], - "name": "lock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8353, - "nodeType": "ParameterList", - "parameters": [], - "src": "9301:2:10" - }, - "returnParameters": { - "id": 8356, - "nodeType": "ParameterList", - "parameters": [], - "src": "9321:0:10" - }, - "scope": 8373, - "src": "9288:64:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 8371, - "nodeType": "Block", - "src": "9393:32:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 8369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 8367, - "name": "_closed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7438, - "src": "9403:7:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 8368, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9413:5:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "9403:15:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 8370, - "nodeType": "ExpressionStatement", - "src": "9403:15:10" - } - ] - }, - "documentation": null, - "functionSelector": "a69df4b5", - "id": 8372, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 8365, - "modifierName": { - "argumentTypes": null, - "id": 8364, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "9383:9:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9383:9:10" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 8363, - "nodeType": "ParameterList", - "parameters": [], - "src": "9373:2:10" - }, - "returnParameters": { - "id": 8366, - "nodeType": "ParameterList", - "parameters": [], - "src": "9393:0:10" - }, - "scope": 8373, - "src": "9358:67:10", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 8374, - "src": "205:9222:10" - } - ], - "src": "33:9395:10" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.488Z", - "devdoc": { - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. * Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Ownable.json b/build/contracts/Ownable.json deleted file mode 100644 index cf2f05ff..00000000 --- a/build/contracts/Ownable.json +++ /dev/null @@ -1,1525 +0,0 @@ -{ - "contractName": "Ownable", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of \\\"user permissions\\\".\",\"methods\":{\"constructor\":{\"details\":\"The Ownable constructor sets the original `owner` of the contract to the sender account.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}},\"title\":\"Ownable\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610151806100326000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461005f575b600080fd5b610043610087565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b0316610096565b005b6000546001600160a01b031681565b6000546001600160a01b031633146100ad57600080fd5b6001600160a01b0381166100c057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220a235372c6482e352106ce35b704c36727dd212938a8a72efa5cbb9f915d225c964736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80638da5cb5b1461003b578063f2fde38b1461005f575b600080fd5b610043610087565b604080516001600160a01b039092168252519081900360200190f35b6100856004803603602081101561007557600080fd5b50356001600160a01b0316610096565b005b6000546001600160a01b031681565b6000546001600160a01b031633146100ad57600080fd5b6001600160a01b0381166100c057600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fea2646970667358221220a235372c6482e352106ce35b704c36727dd212938a8a72efa5cbb9f915d225c964736f6c63430006020033", - "sourceMap": "216:838:11:-:0;;;477:56;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;508:5:11;:18;;-1:-1:-1;;;;;;508:18:11;516:10;508:18;;;216:838;;;;;;", - "deployedSourceMap": "216:838:11:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;216:838:11;;;;;;;;;;;;;;;;;;;;;;;;239:20;;;:::i;:::-;;;;-1:-1:-1;;;;;239:20:11;;;;;;;;;;;;;;864:188;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;:::-;;239:20;;;-1:-1:-1;;;;;239:20:11;;:::o;864:188::-;672:5;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5;::::1;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;;1029:16:11::1;-1:-1:-1::0;;;;;1029:16:11;;;::::1;::::0;;;::::1;::::0;;864:188::o", - "source": "pragma solidity >=0.6.0;\n\n/**\n * @title Ownable\n * @dev The Ownable contract has an owner address, and provides basic authorization control\n * functions, this simplifies the implementation of \"user permissions\".\n */\ncontract Ownable {\n address public owner;\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n constructor() public {\n owner = msg.sender;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n /**\n * @dev Allows the current owner to transfer control of the contract to a newOwner.\n * @param newOwner The address to transfer ownership to.\n */\n function transferOwnership(address newOwner) public onlyOwner {\n require(newOwner != address(0));\n emit OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 7816 - ] - }, - "id": 7817, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7761, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", - "fullyImplemented": true, - "id": 7816, - "linearizedBaseContracts": [ - 7816 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 7763, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7816, - "src": "239:20:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7769, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 7768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7765, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "292:29:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7767, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "323:24:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "291:57:11" - }, - "src": "265:84:11" - }, - { - "body": { - "id": 7777, - "nodeType": "Block", - "src": "498:35:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7772, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "508:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "516:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "516:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "508:18:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7776, - "nodeType": "ExpressionStatement", - "src": "508:18:11" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 7778, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7770, - "nodeType": "ParameterList", - "parameters": [], - "src": "488:2:11" - }, - "returnParameters": { - "id": 7771, - "nodeType": "ParameterList", - "parameters": [], - "src": "498:0:11" - }, - "scope": 7816, - "src": "477:56:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7788, - "nodeType": "Block", - "src": "640:56:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7781, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "658:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "658:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7783, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "672:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "658:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7780, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "650:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "650:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7786, - "nodeType": "ExpressionStatement", - "src": "650:28:11" - }, - { - "id": 7787, - "nodeType": "PlaceholderStatement", - "src": "688:1:11" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 7789, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7779, - "nodeType": "ParameterList", - "parameters": [], - "src": "637:2:11" - }, - "src": "619:77:11", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7814, - "nodeType": "Block", - "src": "926:126:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7797, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "944:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "964:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "956:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "956:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "956:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "944:22:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7796, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "936:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "936:31:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7804, - "nodeType": "ExpressionStatement", - "src": "936:31:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7806, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1003:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7807, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "1010:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7805, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "982:20:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 7808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:37:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7809, - "nodeType": "EmitStatement", - "src": "977:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 7812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7810, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1029:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7811, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "1037:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1029:16:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7813, - "nodeType": "ExpressionStatement", - "src": "1029:16:11" - } - ] - }, - "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", - "functionSelector": "f2fde38b", - "id": 7815, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7794, - "modifierName": { - "argumentTypes": null, - "id": 7793, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "916:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "916:9:11" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7791, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7815, - "src": "891:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "890:18:11" - }, - "returnParameters": { - "id": 7795, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:11" - }, - "scope": 7816, - "src": "864:188:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7817, - "src": "216:838:11" - } - ], - "src": "0:1055:11" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "exportedSymbols": { - "Ownable": [ - 7816 - ] - }, - "id": 7817, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7761, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@title Ownable\n@dev The Ownable contract has an owner address, and provides basic authorization control\nfunctions, this simplifies the implementation of \"user permissions\".", - "fullyImplemented": true, - "id": 7816, - "linearizedBaseContracts": [ - 7816 - ], - "name": "Ownable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "8da5cb5b", - "id": 7763, - "name": "owner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7816, - "src": "239:20:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "239:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 7769, - "name": "OwnershipTransferred", - "nodeType": "EventDefinition", - "parameters": { - "id": 7768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7765, - "indexed": true, - "name": "previousOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "292:29:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7764, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7767, - "indexed": true, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "323:24:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7766, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "323:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "291:57:11" - }, - "src": "265:84:11" - }, - { - "body": { - "id": 7777, - "nodeType": "Block", - "src": "498:35:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7772, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "508:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7773, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "516:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "516:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "508:18:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7776, - "nodeType": "ExpressionStatement", - "src": "508:18:11" - } - ] - }, - "documentation": "@dev The Ownable constructor sets the original `owner` of the contract to the sender\naccount.", - "id": 7778, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7770, - "nodeType": "ParameterList", - "parameters": [], - "src": "488:2:11" - }, - "returnParameters": { - "id": 7771, - "nodeType": "ParameterList", - "parameters": [], - "src": "498:0:11" - }, - "scope": 7816, - "src": "477:56:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 7788, - "nodeType": "Block", - "src": "640:56:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7781, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "658:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7782, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "658:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7783, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "672:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "658:19:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7780, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "650:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "650:28:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7786, - "nodeType": "ExpressionStatement", - "src": "650:28:11" - }, - { - "id": 7787, - "nodeType": "PlaceholderStatement", - "src": "688:1:11" - } - ] - }, - "documentation": "@dev Throws if called by any account other than the owner.", - "id": 7789, - "name": "onlyOwner", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 7779, - "nodeType": "ParameterList", - "parameters": [], - "src": "637:2:11" - }, - "src": "619:77:11", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7814, - "nodeType": "Block", - "src": "926:126:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7797, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "944:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7800, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "964:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 7799, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "956:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7798, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "956:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "956:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "944:22:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 7796, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "936:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 7803, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "936:31:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7804, - "nodeType": "ExpressionStatement", - "src": "936:31:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7806, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1003:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7807, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "1010:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7805, - "name": "OwnershipTransferred", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7769, - "src": "982:20:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", - "typeString": "function (address,address)" - } - }, - "id": 7808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "982:37:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7809, - "nodeType": "EmitStatement", - "src": "977:42:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 7812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7810, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7763, - "src": "1029:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7811, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7791, - "src": "1037:8:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1029:16:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7813, - "nodeType": "ExpressionStatement", - "src": "1029:16:11" - } - ] - }, - "documentation": "@dev Allows the current owner to transfer control of the contract to a newOwner.\n@param newOwner The address to transfer ownership to.", - "functionSelector": "f2fde38b", - "id": 7815, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7794, - "modifierName": { - "argumentTypes": null, - "id": 7793, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "916:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "916:9:11" - } - ], - "name": "transferOwnership", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7791, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7815, - "src": "891:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "891:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "890:18:11" - }, - "returnParameters": { - "id": 7795, - "nodeType": "ParameterList", - "parameters": [], - "src": "926:0:11" - }, - "scope": 7816, - "src": "864:188:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 7817, - "src": "216:838:11" - } - ], - "src": "0:1055:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-05T14:53:35.449Z", - "devdoc": { - "details": "The Ownable contract has an owner address, and provides basic authorization control functions, this simplifies the implementation of \"user permissions\".", - "methods": { - "constructor": { - "details": "The Ownable constructor sets the original `owner` of the contract to the sender account." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - }, - "title": "Ownable" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Pausable.json b/build/contracts/Pausable.json deleted file mode 100644 index 6683700c..00000000 --- a/build/contracts/Pausable.json +++ /dev/null @@ -1,2045 +0,0 @@ -{ - "contractName": "Pausable", - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. * This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract in unpaused state.\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Pausable.sol\":\"Pausable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\nimport \"./Context.sol\";\n\n/**\n * @dev Contract module which allows children to implement an emergency stop\n * mechanism that can be triggered by an authorized account.\n *\n * This module is used through inheritance. It will make available the\n * modifiers `whenNotPaused` and `whenPaused`, which can be applied to\n * the functions of your contract. Note that they will not be pausable by\n * simply including this module, only once the modifiers are put in place.\n */\nabstract contract Pausable is Context {\n /**\n * @dev Emitted when the pause is triggered by `account`.\n */\n event Paused(address account);\n\n /**\n * @dev Emitted when the pause is lifted by `account`.\n */\n event Unpaused(address account);\n\n bool private _paused;\n\n /**\n * @dev Initializes the contract in unpaused state.\n */\n constructor () internal {\n _paused = false;\n }\n\n /**\n * @dev Returns true if the contract is paused, and false otherwise.\n */\n function paused() public view virtual returns (bool) {\n return _paused;\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is not paused.\n *\n * Requirements:\n *\n * - The contract must not be paused.\n */\n modifier whenNotPaused() {\n require(!paused(), \"Pausable: paused\");\n _;\n }\n\n /**\n * @dev Modifier to make a function callable only when the contract is paused.\n *\n * Requirements:\n *\n * - The contract must be paused.\n */\n modifier whenPaused() {\n require(paused(), \"Pausable: not paused\");\n _;\n }\n\n /**\n * @dev Triggers stopped state.\n *\n * Requirements:\n *\n * - The contract must not be paused.\n */\n function _pause() internal virtual whenNotPaused {\n _paused = true;\n emit Paused(_msgSender());\n }\n\n /**\n * @dev Returns to normal state.\n *\n * Requirements:\n *\n * - The contract must be paused.\n */\n function _unpause() internal virtual whenPaused {\n _paused = false;\n emit Unpaused(_msgSender());\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Pausable.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "exportedSymbols": { - "Pausable": [ - 10828 - ] - }, - "id": 10829, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10747, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:25" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "./Context.sol", - "id": 10748, - "nodeType": "ImportDirective", - "scope": 10829, - "sourceUnit": 9732, - "src": "66:23:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10749, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "561:7:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 10750, - "nodeType": "InheritanceSpecifier", - "src": "561:7:25" - } - ], - "contractDependencies": [ - 9731 - ], - "contractKind": "contract", - "documentation": "@dev Contract module which allows children to implement an emergency stop\nmechanism that can be triggered by an authorized account.\n * This module is used through inheritance. It will make available the\nmodifiers `whenNotPaused` and `whenPaused`, which can be applied to\nthe functions of your contract. Note that they will not be pausable by\nsimply including this module, only once the modifiers are put in place.", - "fullyImplemented": true, - "id": 10828, - "linearizedBaseContracts": [ - 10828, - 9731 - ], - "name": "Pausable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is triggered by `account`.", - "id": 10754, - "name": "Paused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10752, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10754, - "src": "666:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:17:25" - }, - "src": "653:30:25" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is lifted by `account`.", - "id": 10758, - "name": "Unpaused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10756, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10758, - "src": "779:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "778:17:25" - }, - "src": "764:32:25" - }, - { - "constant": false, - "id": 10760, - "name": "_paused", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10828, - "src": "802:20:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10759, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "802:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 10767, - "nodeType": "Block", - "src": "925:32:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10763, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "935:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "945:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "935:15:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10766, - "nodeType": "ExpressionStatement", - "src": "935:15:25" - } - ] - }, - "documentation": "@dev Initializes the contract in unpaused state.", - "id": 10768, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10761, - "nodeType": "ParameterList", - "parameters": [], - "src": "913:2:25" - }, - "returnParameters": { - "id": 10762, - "nodeType": "ParameterList", - "parameters": [], - "src": "925:0:25" - }, - "scope": 10828, - "src": "901:56:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10775, - "nodeType": "Block", - "src": "1105:31:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10773, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "1122:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10772, - "id": 10774, - "nodeType": "Return", - "src": "1115:14:25" - } - ] - }, - "documentation": "@dev Returns true if the contract is paused, and false otherwise.", - "functionSelector": "5c975abb", - "id": 10776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "paused", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10769, - "nodeType": "ParameterList", - "parameters": [], - "src": "1067:2:25" - }, - "returnParameters": { - "id": 10772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10771, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10776, - "src": "1099:4:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10770, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1099:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1098:6:25" - }, - "scope": 10828, - "src": "1052:84:25", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10786, - "nodeType": "Block", - "src": "1347:66:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1365:9:25", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10779, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "1366:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1366:8:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a20706175736564", - "id": 10782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1376:18:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", - "typeString": "literal_string \"Pausable: paused\"" - }, - "value": "Pausable: paused" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", - "typeString": "literal_string \"Pausable: paused\"" - } - ], - "id": 10778, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1357:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1357:38:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10784, - "nodeType": "ExpressionStatement", - "src": "1357:38:25" - }, - { - "id": 10785, - "nodeType": "PlaceholderStatement", - "src": "1405:1:25" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is not paused.\n * Requirements:\n * - The contract must not be paused.", - "id": 10787, - "name": "whenNotPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10777, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:2:25" - }, - "src": "1322:91:25", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10796, - "nodeType": "Block", - "src": "1613:69:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10790, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "1631:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1631:8:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a206e6f7420706175736564", - "id": 10792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1641:22:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", - "typeString": "literal_string \"Pausable: not paused\"" - }, - "value": "Pausable: not paused" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", - "typeString": "literal_string \"Pausable: not paused\"" - } - ], - "id": 10789, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1623:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1623:41:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10794, - "nodeType": "ExpressionStatement", - "src": "1623:41:25" - }, - { - "id": 10795, - "nodeType": "PlaceholderStatement", - "src": "1674:1:25" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is paused.\n * Requirements:\n * - The contract must be paused.", - "id": 10797, - "name": "whenPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10788, - "nodeType": "ParameterList", - "parameters": [], - "src": "1610:2:25" - }, - "src": "1591:91:25", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10811, - "nodeType": "Block", - "src": "1866:66:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10802, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "1876:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:4:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1876:14:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10805, - "nodeType": "ExpressionStatement", - "src": "1876:14:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10807, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "1912:10:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:12:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10806, - "name": "Paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10754, - "src": "1905:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1905:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10810, - "nodeType": "EmitStatement", - "src": "1900:25:25" - } - ] - }, - "documentation": "@dev Triggers stopped state.\n * Requirements:\n * - The contract must not be paused.", - "id": 10812, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10800, - "modifierName": { - "argumentTypes": null, - "id": 10799, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10787, - "src": "1852:13:25", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1852:13:25" - } - ], - "name": "_pause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10798, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:2:25" - }, - "returnParameters": { - "id": 10801, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:0:25" - }, - "scope": 10828, - "src": "1817:115:25", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10826, - "nodeType": "Block", - "src": "2112:69:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10817, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "2122:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2132:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2122:15:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10820, - "nodeType": "ExpressionStatement", - "src": "2122:15:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10822, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "2161:10:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2161:12:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10821, - "name": "Unpaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10758, - "src": "2152:8:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2152:22:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10825, - "nodeType": "EmitStatement", - "src": "2147:27:25" - } - ] - }, - "documentation": "@dev Returns to normal state.\n * Requirements:\n * - The contract must be paused.", - "id": 10827, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10815, - "modifierName": { - "argumentTypes": null, - "id": 10814, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10797, - "src": "2101:10:25", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2101:10:25" - } - ], - "name": "_unpause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10813, - "nodeType": "ParameterList", - "parameters": [], - "src": "2081:2:25" - }, - "returnParameters": { - "id": 10816, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:0:25" - }, - "scope": 10828, - "src": "2064:117:25", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 10829, - "src": "531:1652:25" - } - ], - "src": "33:2151:25" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "exportedSymbols": { - "Pausable": [ - 10828 - ] - }, - "id": 10829, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10747, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:25" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Context.sol", - "file": "./Context.sol", - "id": 10748, - "nodeType": "ImportDirective", - "scope": 10829, - "sourceUnit": 9732, - "src": "66:23:25", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": true, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 10749, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9731, - "src": "561:7:25", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$9731", - "typeString": "contract Context" - } - }, - "id": 10750, - "nodeType": "InheritanceSpecifier", - "src": "561:7:25" - } - ], - "contractDependencies": [ - 9731 - ], - "contractKind": "contract", - "documentation": "@dev Contract module which allows children to implement an emergency stop\nmechanism that can be triggered by an authorized account.\n * This module is used through inheritance. It will make available the\nmodifiers `whenNotPaused` and `whenPaused`, which can be applied to\nthe functions of your contract. Note that they will not be pausable by\nsimply including this module, only once the modifiers are put in place.", - "fullyImplemented": true, - "id": 10828, - "linearizedBaseContracts": [ - 10828, - 9731 - ], - "name": "Pausable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is triggered by `account`.", - "id": 10754, - "name": "Paused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10753, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10752, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10754, - "src": "666:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10751, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "666:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "665:17:25" - }, - "src": "653:30:25" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the pause is lifted by `account`.", - "id": 10758, - "name": "Unpaused", - "nodeType": "EventDefinition", - "parameters": { - "id": 10757, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10756, - "indexed": false, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10758, - "src": "779:15:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 10755, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "779:7:25", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "778:17:25" - }, - "src": "764:32:25" - }, - { - "constant": false, - "id": 10760, - "name": "_paused", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10828, - "src": "802:20:25", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10759, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "802:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 10767, - "nodeType": "Block", - "src": "925:32:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10763, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "935:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10764, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "945:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "935:15:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10766, - "nodeType": "ExpressionStatement", - "src": "935:15:25" - } - ] - }, - "documentation": "@dev Initializes the contract in unpaused state.", - "id": 10768, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10761, - "nodeType": "ParameterList", - "parameters": [], - "src": "913:2:25" - }, - "returnParameters": { - "id": 10762, - "nodeType": "ParameterList", - "parameters": [], - "src": "925:0:25" - }, - "scope": 10828, - "src": "901:56:25", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10775, - "nodeType": "Block", - "src": "1105:31:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10773, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "1122:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 10772, - "id": 10774, - "nodeType": "Return", - "src": "1115:14:25" - } - ] - }, - "documentation": "@dev Returns true if the contract is paused, and false otherwise.", - "functionSelector": "5c975abb", - "id": 10776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "paused", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10769, - "nodeType": "ParameterList", - "parameters": [], - "src": "1067:2:25" - }, - "returnParameters": { - "id": 10772, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10771, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10776, - "src": "1099:4:25", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10770, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1099:4:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1098:6:25" - }, - "scope": 10828, - "src": "1052:84:25", - "stateMutability": "view", - "virtual": true, - "visibility": "public" - }, - { - "body": { - "id": 10786, - "nodeType": "Block", - "src": "1347:66:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10781, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "1365:9:25", - "subExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10779, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "1366:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1366:8:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a20706175736564", - "id": 10782, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1376:18:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", - "typeString": "literal_string \"Pausable: paused\"" - }, - "value": "Pausable: paused" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_68571e1369f7a6dcdcd736cb0343b35a58ed0f64d245c2ed839c98d412744f8a", - "typeString": "literal_string \"Pausable: paused\"" - } - ], - "id": 10778, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1357:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10783, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1357:38:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10784, - "nodeType": "ExpressionStatement", - "src": "1357:38:25" - }, - { - "id": 10785, - "nodeType": "PlaceholderStatement", - "src": "1405:1:25" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is not paused.\n * Requirements:\n * - The contract must not be paused.", - "id": 10787, - "name": "whenNotPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10777, - "nodeType": "ParameterList", - "parameters": [], - "src": "1344:2:25" - }, - "src": "1322:91:25", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10796, - "nodeType": "Block", - "src": "1613:69:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10790, - "name": "paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10776, - "src": "1631:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", - "typeString": "function () view returns (bool)" - } - }, - "id": 10791, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1631:8:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5061757361626c653a206e6f7420706175736564", - "id": 10792, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1641:22:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", - "typeString": "literal_string \"Pausable: not paused\"" - }, - "value": "Pausable: not paused" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0d1d997348c4b502650619e51f7d09f80514d98b6993be5051d07f703984619a", - "typeString": "literal_string \"Pausable: not paused\"" - } - ], - "id": 10789, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1623:7:25", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 10793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1623:41:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10794, - "nodeType": "ExpressionStatement", - "src": "1623:41:25" - }, - { - "id": 10795, - "nodeType": "PlaceholderStatement", - "src": "1674:1:25" - } - ] - }, - "documentation": "@dev Modifier to make a function callable only when the contract is paused.\n * Requirements:\n * - The contract must be paused.", - "id": 10797, - "name": "whenPaused", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 10788, - "nodeType": "ParameterList", - "parameters": [], - "src": "1610:2:25" - }, - "src": "1591:91:25", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 10811, - "nodeType": "Block", - "src": "1866:66:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10802, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "1876:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 10803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1886:4:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1876:14:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10805, - "nodeType": "ExpressionStatement", - "src": "1876:14:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10807, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "1912:10:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1912:12:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10806, - "name": "Paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10754, - "src": "1905:6:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1905:20:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10810, - "nodeType": "EmitStatement", - "src": "1900:25:25" - } - ] - }, - "documentation": "@dev Triggers stopped state.\n * Requirements:\n * - The contract must not be paused.", - "id": 10812, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10800, - "modifierName": { - "argumentTypes": null, - "id": 10799, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10787, - "src": "1852:13:25", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1852:13:25" - } - ], - "name": "_pause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10798, - "nodeType": "ParameterList", - "parameters": [], - "src": "1832:2:25" - }, - "returnParameters": { - "id": 10801, - "nodeType": "ParameterList", - "parameters": [], - "src": "1866:0:25" - }, - "scope": 10828, - "src": "1817:115:25", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 10826, - "nodeType": "Block", - "src": "2112:69:25", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10817, - "name": "_paused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10760, - "src": "2122:7:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 10818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2132:5:25", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2122:15:25", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10820, - "nodeType": "ExpressionStatement", - "src": "2122:15:25" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 10822, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9719, - "src": "2161:10:25", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 10823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2161:12:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 10821, - "name": "Unpaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10758, - "src": "2152:8:25", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 10824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2152:22:25", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 10825, - "nodeType": "EmitStatement", - "src": "2147:27:25" - } - ] - }, - "documentation": "@dev Returns to normal state.\n * Requirements:\n * - The contract must be paused.", - "id": 10827, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 10815, - "modifierName": { - "argumentTypes": null, - "id": 10814, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10797, - "src": "2101:10:25", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2101:10:25" - } - ], - "name": "_unpause", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10813, - "nodeType": "ParameterList", - "parameters": [], - "src": "2081:2:25" - }, - "returnParameters": { - "id": 10816, - "nodeType": "ParameterList", - "parameters": [], - "src": "2112:0:25" - }, - "scope": 10828, - "src": "2064:117:25", - "stateMutability": "nonpayable", - "virtual": true, - "visibility": "internal" - } - ], - "scope": 10829, - "src": "531:1652:25" - } - ], - "src": "33:2151:25" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.656Z", - "devdoc": { - "details": "Contract module which allows children to implement an emergency stop mechanism that can be triggered by an authorized account. * This module is used through inheritance. It will make available the modifiers `whenNotPaused` and `whenPaused`, which can be applied to the functions of your contract. Note that they will not be pausable by simply including this module, only once the modifiers are put in place.", - "methods": { - "constructor": { - "details": "Initializes the contract in unpaused state." - }, - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/SafeMath.json b/build/contracts/SafeMath.json deleted file mode 100644 index 8588feee..00000000 --- a/build/contracts/SafeMath.json +++ /dev/null @@ -1,9105 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220853191281bc1eb9609361d2b8d9463b4c242530137ce1f7accc1c7585595bd0664736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220853191281bc1eb9609361d2b8d9463b4c242530137ce1f7accc1c7585595bd0664736f6c63430006020033", - "sourceMap": "630:6594:13:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "630:6594:13:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n uint256 c = a + b;\n if (c < a) return (false, 0);\n return (true, c);\n }\n\n /**\n * @dev Returns the substraction of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b > a) return (false, 0);\n return (true, a - b);\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, with an overflow flag.\n *\n * _Available since v3.4._\n */\n function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) return (true, 0);\n uint256 c = a * b;\n if (c / a != b) return (false, 0);\n return (true, c);\n }\n\n /**\n * @dev Returns the division of two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b == 0) return (false, 0);\n return (true, a / b);\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n *\n * _Available since v3.4._\n */\n function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {\n if (b == 0) return (false, 0);\n return (true, a % b);\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n *\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on\n * overflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath: subtraction overflow\");\n return a - b;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on\n * overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n *\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) return 0;\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting on\n * division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"SafeMath: division by zero\");\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b > 0, \"SafeMath: modulo by zero\");\n return a % b;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on\n * overflow (when the result is negative).\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {trySub}.\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n *\n * - Subtraction cannot overflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n return a - b;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers, reverting with custom message on\n * division by zero. The result is rounded towards zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryDiv}.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n return a / b;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * reverting with custom message when dividing by zero.\n *\n * CAUTION: This function is deprecated because it requires allocating memory for the error\n * message unnecessarily. For custom revert reasons use {tryMod}.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n *\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b > 0, errorMessage);\n return a % b;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/math/SafeMath.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 7788 - ] - }, - "id": 7789, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7449, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", - "fullyImplemented": true, - "id": 7788, - "linearizedBaseContracts": [ - 7788 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 7478, - "nodeType": "Block", - "src": "865:98:13", - "statements": [ - { - "assignments": [ - 7461 - ], - "declarations": [ - { - "constant": false, - "id": 7461, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "875:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7465, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7462, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "887:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7453, - "src": "891:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "887:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "875:17:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7466, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7461, - "src": "906:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7467, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "910:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "906:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7473, - "nodeType": "IfStatement", - "src": "902:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "921:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "928:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "920:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7459, - "id": 7472, - "nodeType": "Return", - "src": "913:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7475, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7461, - "src": "954:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7476, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "947:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7459, - "id": 7477, - "nodeType": "Return", - "src": "940:16:13" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7479, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7451, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "805:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7453, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "816:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:22:13" - }, - "returnParameters": { - "id": 7459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7456, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "850:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7455, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "850:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7458, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "856:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "849:15:13" - }, - "scope": 7788, - "src": "789:174:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7504, - "nodeType": "Block", - "src": "1185:75:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7490, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7483, - "src": "1199:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 7491, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7481, - "src": "1203:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1199:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7497, - "nodeType": "IfStatement", - "src": "1195:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1214:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7495, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1213:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7489, - "id": 7496, - "nodeType": "Return", - "src": "1206:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1241:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7499, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7481, - "src": "1247:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7500, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7483, - "src": "1251:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1247:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7502, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1240:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7489, - "id": 7503, - "nodeType": "Return", - "src": "1233:20:13" - } - ] - }, - "documentation": "@dev Returns the substraction of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7505, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7481, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1125:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7480, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7483, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1136:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1136:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:22:13" - }, - "returnParameters": { - "id": 7489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7486, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1170:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1170:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7488, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1176:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7487, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1176:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1169:15:13" - }, - "scope": 7788, - "src": "1109:151:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7544, - "nodeType": "Block", - "src": "1484:359:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7516, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1716:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1721:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1716:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7523, - "nodeType": "IfStatement", - "src": "1712:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7521, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1731:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7515, - "id": 7522, - "nodeType": "Return", - "src": "1724:16:13" - } - }, - { - "assignments": [ - 7525 - ], - "declarations": [ - { - "constant": false, - "id": 7525, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7544, - "src": "1750:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1750:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7529, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7526, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1762:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7527, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7509, - "src": "1766:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1762:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1750:17:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7530, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7525, - "src": "1781:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7531, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1785:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 7533, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7509, - "src": "1790:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7539, - "nodeType": "IfStatement", - "src": "1777:33:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1801:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1800:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7515, - "id": 7538, - "nodeType": "Return", - "src": "1793:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1828:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7541, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7525, - "src": "1834:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7542, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1827:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7515, - "id": 7543, - "nodeType": "Return", - "src": "1820:16:13" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7507, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1424:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1424:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7509, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1435:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1423:22:13" - }, - "returnParameters": { - "id": 7515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1469:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1469:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1475:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1475:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1468:15:13" - }, - "scope": 7788, - "src": "1408:435:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7570, - "nodeType": "Block", - "src": "2068:76:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7556, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "2082:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2087:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2082:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7563, - "nodeType": "IfStatement", - "src": "2078:29:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2098:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7561, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2097:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7555, - "id": 7562, - "nodeType": "Return", - "src": "2090:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2125:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7565, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "2131:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7566, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "2135:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2131:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7568, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2124:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7555, - "id": 7569, - "nodeType": "Return", - "src": "2117:20:13" - } - ] - }, - "documentation": "@dev Returns the division of two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7571, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7547, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2008:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2008:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7549, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2019:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2019:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2007:22:13" - }, - "returnParameters": { - "id": 7555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2053:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2053:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7554, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2059:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2059:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2052:15:13" - }, - "scope": 7788, - "src": "1992:152:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7596, - "nodeType": "Block", - "src": "2379:76:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7582, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7575, - "src": "2393:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2398:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2393:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7589, - "nodeType": "IfStatement", - "src": "2389:29:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2416:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7587, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2408:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7581, - "id": 7588, - "nodeType": "Return", - "src": "2401:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2436:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7591, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7573, - "src": "2442:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7592, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7575, - "src": "2446:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2442:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7594, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2435:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7581, - "id": 7595, - "nodeType": "Return", - "src": "2428:20:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7573, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2319:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2319:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7575, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2330:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2318:22:13" - }, - "returnParameters": { - "id": 7581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7578, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2364:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7577, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2364:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2370:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:15:13" - }, - "scope": 7788, - "src": "2303:152:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7621, - "nodeType": "Block", - "src": "2757:108:13", - "statements": [ - { - "assignments": [ - 7607 - ], - "declarations": [ - { - "constant": false, - "id": 7607, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7621, - "src": "2767:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2767:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7611, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7608, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "2779:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7609, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "2783:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2779:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2767:17:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7613, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "2802:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7614, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "2807:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2802:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 7616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2810:29:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", - "typeString": "literal_string \"SafeMath: addition overflow\"" - }, - "value": "SafeMath: addition overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", - "typeString": "literal_string \"SafeMath: addition overflow\"" - } - ], - "id": 7612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2794:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:46:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7618, - "nodeType": "ExpressionStatement", - "src": "2794:46:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7619, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "2857:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7605, - "id": 7620, - "nodeType": "Return", - "src": "2850:8:13" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n * - Addition cannot overflow.", - "id": 7622, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7599, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2703:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2703:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7601, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2714:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2714:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2702:22:13" - }, - "returnParameters": { - "id": 7605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7604, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2748:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2748:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:9:13" - }, - "scope": 7788, - "src": "2690:175:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7642, - "nodeType": "Block", - "src": "3203:88:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7632, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7626, - "src": "3221:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7633, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7624, - "src": "3226:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3221:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 7635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:32:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", - "typeString": "literal_string \"SafeMath: subtraction overflow\"" - }, - "value": "SafeMath: subtraction overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", - "typeString": "literal_string \"SafeMath: subtraction overflow\"" - } - ], - "id": 7631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3213:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3213:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7637, - "nodeType": "ExpressionStatement", - "src": "3213:49:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7638, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7624, - "src": "3279:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7639, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7626, - "src": "3283:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3279:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7630, - "id": 7641, - "nodeType": "Return", - "src": "3272:12:13" - } - ] - }, - "documentation": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow.", - "id": 7643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7624, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3149:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7626, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3160:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3160:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3148:22:13" - }, - "returnParameters": { - "id": 7630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7629, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3194:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3194:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3193:9:13" - }, - "scope": 7788, - "src": "3136:155:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7675, - "nodeType": "Block", - "src": "3605:148:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7652, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3619:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3624:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3619:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7657, - "nodeType": "IfStatement", - "src": "3615:20:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 7651, - "id": 7656, - "nodeType": "Return", - "src": "3627:8:13" - } - }, - { - "assignments": [ - 7659 - ], - "declarations": [ - { - "constant": false, - "id": 7659, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7675, - "src": "3645:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3645:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7663, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7660, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3657:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7661, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7647, - "src": "3661:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3657:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3645:17:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7665, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7659, - "src": "3680:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7666, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3684:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7668, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7647, - "src": "3689:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 7670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3692:35:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", - "typeString": "literal_string \"SafeMath: multiplication overflow\"" - }, - "value": "SafeMath: multiplication overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", - "typeString": "literal_string \"SafeMath: multiplication overflow\"" - } - ], - "id": 7664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3672:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3672:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7672, - "nodeType": "ExpressionStatement", - "src": "3672:56:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7673, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7659, - "src": "3745:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7651, - "id": 7674, - "nodeType": "Return", - "src": "3738:8:13" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n * - Multiplication cannot overflow.", - "id": 7676, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7645, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3551:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7647, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3562:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3562:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3550:22:13" - }, - "returnParameters": { - "id": 7651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3596:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3596:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3595:9:13" - }, - "scope": 7788, - "src": "3538:215:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7696, - "nodeType": "Block", - "src": "4284:83:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7686, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7680, - "src": "4302:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4306:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4302:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 7689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:28:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", - "typeString": "literal_string \"SafeMath: division by zero\"" - }, - "value": "SafeMath: division by zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", - "typeString": "literal_string \"SafeMath: division by zero\"" - } - ], - "id": 7685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4294:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4294:44:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7691, - "nodeType": "ExpressionStatement", - "src": "4294:44:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7692, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7678, - "src": "4355:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7693, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7680, - "src": "4359:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4355:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7684, - "id": 7695, - "nodeType": "Return", - "src": "4348:12:13" - } - ] - }, - "documentation": "@dev Returns the integer division of two unsigned integers, reverting on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7678, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4230:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7680, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4241:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4229:22:13" - }, - "returnParameters": { - "id": 7684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7683, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4275:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4274:9:13" - }, - "scope": 7788, - "src": "4217:150:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7717, - "nodeType": "Block", - "src": "4887:81:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7707, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4905:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4905:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4912:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", - "typeString": "literal_string \"SafeMath: modulo by zero\"" - }, - "value": "SafeMath: modulo by zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", - "typeString": "literal_string \"SafeMath: modulo by zero\"" - } - ], - "id": 7706, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4897:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4897:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7712, - "nodeType": "ExpressionStatement", - "src": "4897:42:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7713, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7699, - "src": "4956:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7714, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4960:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7705, - "id": 7716, - "nodeType": "Return", - "src": "4949:12:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7718, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7699, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4833:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7701, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4844:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4844:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:13" - }, - "returnParameters": { - "id": 7705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7704, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4878:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4878:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4877:9:13" - }, - "scope": 7788, - "src": "4820:148:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7740, - "nodeType": "Block", - "src": "5527:68:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7730, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "5545:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7731, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "5550:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5545:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7733, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "5553:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7729, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5537:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5537:29:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7735, - "nodeType": "ExpressionStatement", - "src": "5537:29:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7736, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "5583:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7737, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "5587:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5583:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7728, - "id": 7739, - "nodeType": "Return", - "src": "5576:12:13" - } - ] - }, - "documentation": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {trySub}.\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow.", - "id": 7741, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7720, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5445:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5445:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7722, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5456:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5456:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7724, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5467:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7723, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5467:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5444:50:13" - }, - "returnParameters": { - "id": 7728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7727, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5518:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5518:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5517:9:13" - }, - "scope": 7788, - "src": "5432:163:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7763, - "nodeType": "Block", - "src": "6347:67:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "6365:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6369:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7756, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7747, - "src": "6372:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7752, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:28:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7758, - "nodeType": "ExpressionStatement", - "src": "6357:28:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7759, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7743, - "src": "6402:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7760, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "6406:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6402:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7751, - "id": 7762, - "nodeType": "Return", - "src": "6395:12:13" - } - ] - }, - "documentation": "@dev Returns the integer division of two unsigned integers, reverting with custom message on\ndivision by zero. The result is rounded towards zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryDiv}.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7748, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7743, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6265:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6265:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7745, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6276:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7747, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6287:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7746, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6287:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6264:50:13" - }, - "returnParameters": { - "id": 7751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7750, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6338:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6338:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6337:9:13" - }, - "scope": 7788, - "src": "6252:162:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7786, - "nodeType": "Block", - "src": "7155:67:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7776, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7768, - "src": "7173:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7177:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7173:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7779, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7770, - "src": "7180:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7775, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7165:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:28:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "ExpressionStatement", - "src": "7165:28:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7782, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7766, - "src": "7210:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7783, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7768, - "src": "7214:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7210:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7774, - "id": 7785, - "nodeType": "Return", - "src": "7203:12:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting with custom message when dividing by zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryMod}.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7787, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7766, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7073:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7073:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7768, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7084:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7084:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7770, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7095:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7769, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7095:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7072:50:13" - }, - "returnParameters": { - "id": 7774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7773, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7146:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7145:9:13" - }, - "scope": 7788, - "src": "7060:162:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7789, - "src": "630:6594:13" - } - ], - "src": "33:7192:13" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 7788 - ] - }, - "id": 7789, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 7449, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:13" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev Wrappers over Solidity's arithmetic operations with added overflow\nchecks.\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\nin bugs, because programmers usually assume that an overflow raises an\nerror, which is the standard behavior in high level programming languages.\n`SafeMath` restores this intuition by reverting the transaction when an\noperation overflows.\n * Using this library instead of the unchecked operations eliminates an entire\nclass of bugs, so it's recommended to use it always.", - "fullyImplemented": true, - "id": 7788, - "linearizedBaseContracts": [ - 7788 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 7478, - "nodeType": "Block", - "src": "865:98:13", - "statements": [ - { - "assignments": [ - 7461 - ], - "declarations": [ - { - "constant": false, - "id": 7461, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7478, - "src": "875:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7460, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "875:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7465, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7462, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "887:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7463, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7453, - "src": "891:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "887:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "875:17:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7466, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7461, - "src": "906:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 7467, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7451, - "src": "910:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "906:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7473, - "nodeType": "IfStatement", - "src": "902:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7469, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "921:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "928:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7471, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "920:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7459, - "id": 7472, - "nodeType": "Return", - "src": "913:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7474, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "948:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7475, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7461, - "src": "954:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7476, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "947:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7459, - "id": 7477, - "nodeType": "Return", - "src": "940:16:13" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7479, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryAdd", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7454, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7451, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "805:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "805:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7453, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "816:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7452, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "816:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "804:22:13" - }, - "returnParameters": { - "id": 7459, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7456, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "850:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7455, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "850:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7458, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7479, - "src": "856:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7457, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "856:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "849:15:13" - }, - "scope": 7788, - "src": "789:174:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7504, - "nodeType": "Block", - "src": "1185:75:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7490, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7483, - "src": "1199:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 7491, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7481, - "src": "1203:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1199:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7497, - "nodeType": "IfStatement", - "src": "1195:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7493, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1214:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1221:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7495, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1213:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7489, - "id": 7496, - "nodeType": "Return", - "src": "1206:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1241:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7499, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7481, - "src": "1247:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7500, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7483, - "src": "1251:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1247:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7502, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1240:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7489, - "id": 7503, - "nodeType": "Return", - "src": "1233:20:13" - } - ] - }, - "documentation": "@dev Returns the substraction of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7505, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "trySub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7484, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7481, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1125:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7480, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1125:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7483, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1136:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7482, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1136:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1124:22:13" - }, - "returnParameters": { - "id": 7489, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7486, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1170:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7485, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1170:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7488, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7505, - "src": "1176:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7487, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1176:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1169:15:13" - }, - "scope": 7788, - "src": "1109:151:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7544, - "nodeType": "Block", - "src": "1484:359:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7516, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1716:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1721:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1716:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7523, - "nodeType": "IfStatement", - "src": "1712:28:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1732:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1738:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7521, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1731:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7515, - "id": 7522, - "nodeType": "Return", - "src": "1724:16:13" - } - }, - { - "assignments": [ - 7525 - ], - "declarations": [ - { - "constant": false, - "id": 7525, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7544, - "src": "1750:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7524, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1750:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7529, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7526, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1762:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7527, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7509, - "src": "1766:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1762:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1750:17:13" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7534, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7532, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7530, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7525, - "src": "1781:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7531, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7507, - "src": "1785:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 7533, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7509, - "src": "1790:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1781:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7539, - "nodeType": "IfStatement", - "src": "1777:33:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7535, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1801:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1808:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7537, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1800:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7515, - "id": 7538, - "nodeType": "Return", - "src": "1793:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7540, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1828:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 7541, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7525, - "src": "1834:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7542, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1827:9:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7515, - "id": 7543, - "nodeType": "Return", - "src": "1820:16:13" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, with an overflow flag.\n * _Available since v3.4._", - "id": 7545, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7510, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7507, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1424:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1424:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7509, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1435:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7508, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1435:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1423:22:13" - }, - "returnParameters": { - "id": 7515, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7512, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1469:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7511, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1469:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7514, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7545, - "src": "1475:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7513, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1475:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1468:15:13" - }, - "scope": 7788, - "src": "1408:435:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7570, - "nodeType": "Block", - "src": "2068:76:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7556, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "2082:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2087:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2082:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7563, - "nodeType": "IfStatement", - "src": "2078:29:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2098:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7560, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2105:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7561, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2097:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7555, - "id": 7562, - "nodeType": "Return", - "src": "2090:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7564, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2125:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7565, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7547, - "src": "2131:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7566, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "2135:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2131:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7568, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2124:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7555, - "id": 7569, - "nodeType": "Return", - "src": "2117:20:13" - } - ] - }, - "documentation": "@dev Returns the division of two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7571, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryDiv", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7547, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2008:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2008:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7549, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2019:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2019:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2007:22:13" - }, - "returnParameters": { - "id": 7555, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7552, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2053:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7551, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2053:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7554, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7571, - "src": "2059:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7553, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2059:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2052:15:13" - }, - "scope": 7788, - "src": "1992:152:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7596, - "nodeType": "Block", - "src": "2379:76:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7582, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7575, - "src": "2393:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7583, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2398:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2393:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7589, - "nodeType": "IfStatement", - "src": "2389:29:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 7585, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2409:5:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2416:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7587, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2408:10:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_rational_0_by_1_$", - "typeString": "tuple(bool,int_const 0)" - } - }, - "functionReturnParameters": 7581, - "id": 7588, - "nodeType": "Return", - "src": "2401:17:13" - } - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 7590, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2436:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7591, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7573, - "src": "2442:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7592, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7575, - "src": "2446:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2442:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 7594, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2435:13:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_uint256_$", - "typeString": "tuple(bool,uint256)" - } - }, - "functionReturnParameters": 7581, - "id": 7595, - "nodeType": "Return", - "src": "2428:20:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.\n * _Available since v3.4._", - "id": 7597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tryMod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7576, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7573, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2319:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7572, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2319:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7575, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2330:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7574, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2330:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2318:22:13" - }, - "returnParameters": { - "id": 7581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7578, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2364:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7577, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2364:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7597, - "src": "2370:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2370:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2363:15:13" - }, - "scope": 7788, - "src": "2303:152:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7621, - "nodeType": "Block", - "src": "2757:108:13", - "statements": [ - { - "assignments": [ - 7607 - ], - "declarations": [ - { - "constant": false, - "id": 7607, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7621, - "src": "2767:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7606, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2767:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7611, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7608, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "2779:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 7609, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7601, - "src": "2783:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2779:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2767:17:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7613, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "2802:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 7614, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7599, - "src": "2807:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2802:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206164646974696f6e206f766572666c6f77", - "id": 7616, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2810:29:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", - "typeString": "literal_string \"SafeMath: addition overflow\"" - }, - "value": "SafeMath: addition overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_30cc447bcc13b3e22b45cef0dd9b0b514842d836dd9b6eb384e20dedfb47723a", - "typeString": "literal_string \"SafeMath: addition overflow\"" - } - ], - "id": 7612, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2794:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2794:46:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7618, - "nodeType": "ExpressionStatement", - "src": "2794:46:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7619, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7607, - "src": "2857:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7605, - "id": 7620, - "nodeType": "Return", - "src": "2850:8:13" - } - ] - }, - "documentation": "@dev Returns the addition of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `+` operator.\n * Requirements:\n * - Addition cannot overflow.", - "id": 7622, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7602, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7599, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2703:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7598, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2703:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7601, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2714:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7600, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2714:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2702:22:13" - }, - "returnParameters": { - "id": 7605, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7604, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "2748:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7603, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2748:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2747:9:13" - }, - "scope": 7788, - "src": "2690:175:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7642, - "nodeType": "Block", - "src": "3203:88:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7632, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7626, - "src": "3221:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7633, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7624, - "src": "3226:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3221:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a207375627472616374696f6e206f766572666c6f77", - "id": 7635, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3229:32:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", - "typeString": "literal_string \"SafeMath: subtraction overflow\"" - }, - "value": "SafeMath: subtraction overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_50b058e9b5320e58880d88223c9801cd9eecdcf90323d5c2318bc1b6b916e862", - "typeString": "literal_string \"SafeMath: subtraction overflow\"" - } - ], - "id": 7631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3213:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7636, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3213:49:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7637, - "nodeType": "ExpressionStatement", - "src": "3213:49:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7640, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7638, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7624, - "src": "3279:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7639, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7626, - "src": "3283:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3279:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7630, - "id": 7641, - "nodeType": "Return", - "src": "3272:12:13" - } - ] - }, - "documentation": "@dev Returns the subtraction of two unsigned integers, reverting on\noverflow (when the result is negative).\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow.", - "id": 7643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7627, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7624, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3149:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3149:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7626, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3160:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7625, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3160:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3148:22:13" - }, - "returnParameters": { - "id": 7630, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7629, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7643, - "src": "3194:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7628, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3194:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3193:9:13" - }, - "scope": 7788, - "src": "3136:155:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7675, - "nodeType": "Block", - "src": "3605:148:13", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7652, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3619:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7653, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3624:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3619:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 7657, - "nodeType": "IfStatement", - "src": "3615:20:13", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7655, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 7651, - "id": 7656, - "nodeType": "Return", - "src": "3627:8:13" - } - }, - { - "assignments": [ - 7659 - ], - "declarations": [ - { - "constant": false, - "id": 7659, - "name": "c", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7675, - "src": "3645:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7658, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3645:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7663, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7660, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3657:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 7661, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7647, - "src": "3661:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3657:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3645:17:13" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7665, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7659, - "src": "3680:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7666, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7645, - "src": "3684:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7668, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7647, - "src": "3689:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3680:10:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "id": 7670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3692:35:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", - "typeString": "literal_string \"SafeMath: multiplication overflow\"" - }, - "value": "SafeMath: multiplication overflow" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9113bb53c2876a3805b2c9242029423fc540a728243ce887ab24c82cf119fba3", - "typeString": "literal_string \"SafeMath: multiplication overflow\"" - } - ], - "id": 7664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3672:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3672:56:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7672, - "nodeType": "ExpressionStatement", - "src": "3672:56:13" - }, - { - "expression": { - "argumentTypes": null, - "id": 7673, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7659, - "src": "3745:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7651, - "id": 7674, - "nodeType": "Return", - "src": "3738:8:13" - } - ] - }, - "documentation": "@dev Returns the multiplication of two unsigned integers, reverting on\noverflow.\n * Counterpart to Solidity's `*` operator.\n * Requirements:\n * - Multiplication cannot overflow.", - "id": 7676, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7648, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7645, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3551:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7644, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3551:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7647, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3562:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7646, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3562:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3550:22:13" - }, - "returnParameters": { - "id": 7651, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7650, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7676, - "src": "3596:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7649, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3596:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3595:9:13" - }, - "scope": 7788, - "src": "3538:215:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7696, - "nodeType": "Block", - "src": "4284:83:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7688, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7686, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7680, - "src": "4302:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7687, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4306:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4302:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206469766973696f6e206279207a65726f", - "id": 7689, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4309:28:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", - "typeString": "literal_string \"SafeMath: division by zero\"" - }, - "value": "SafeMath: division by zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5b7cc70dda4dc2143e5adb63bd5d1f349504f461dbdfd9bc76fac1f8ca6d019f", - "typeString": "literal_string \"SafeMath: division by zero\"" - } - ], - "id": 7685, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4294:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4294:44:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7691, - "nodeType": "ExpressionStatement", - "src": "4294:44:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7694, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7692, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7678, - "src": "4355:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7693, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7680, - "src": "4359:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4355:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7684, - "id": 7695, - "nodeType": "Return", - "src": "4348:12:13" - } - ] - }, - "documentation": "@dev Returns the integer division of two unsigned integers, reverting on\ndivision by zero. The result is rounded towards zero.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7681, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7678, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4230:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7677, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4230:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7680, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4241:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7679, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4229:22:13" - }, - "returnParameters": { - "id": 7684, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7683, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7697, - "src": "4275:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7682, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4275:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4274:9:13" - }, - "scope": 7788, - "src": "4217:150:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7717, - "nodeType": "Block", - "src": "4887:81:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7707, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4905:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7708, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4909:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4905:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d6174683a206d6f64756c6f206279207a65726f", - "id": 7710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4912:26:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", - "typeString": "literal_string \"SafeMath: modulo by zero\"" - }, - "value": "SafeMath: modulo by zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_726e51f7b81fce0a68f5f214f445e275313b20b1633f08ce954ee39abf8d7832", - "typeString": "literal_string \"SafeMath: modulo by zero\"" - } - ], - "id": 7706, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4897:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4897:42:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7712, - "nodeType": "ExpressionStatement", - "src": "4897:42:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7713, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7699, - "src": "4956:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7714, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7701, - "src": "4960:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4956:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7705, - "id": 7716, - "nodeType": "Return", - "src": "4949:12:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting when dividing by zero.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7718, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7702, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7699, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4833:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7698, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4833:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7701, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4844:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7700, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4844:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4832:22:13" - }, - "returnParameters": { - "id": 7705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7704, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7718, - "src": "4878:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4878:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4877:9:13" - }, - "scope": 7788, - "src": "4820:148:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7740, - "nodeType": "Block", - "src": "5527:68:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7730, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "5545:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 7731, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "5550:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5545:6:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7733, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7724, - "src": "5553:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7729, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5537:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5537:29:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7735, - "nodeType": "ExpressionStatement", - "src": "5537:29:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7738, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7736, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7720, - "src": "5583:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 7737, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7722, - "src": "5587:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5583:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7728, - "id": 7739, - "nodeType": "Return", - "src": "5576:12:13" - } - ] - }, - "documentation": "@dev Returns the subtraction of two unsigned integers, reverting with custom message on\noverflow (when the result is negative).\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {trySub}.\n * Counterpart to Solidity's `-` operator.\n * Requirements:\n * - Subtraction cannot overflow.", - "id": 7741, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7720, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5445:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7719, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5445:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7722, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5456:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5456:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7724, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5467:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7723, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "5467:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5444:50:13" - }, - "returnParameters": { - "id": 7728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7727, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7741, - "src": "5518:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7726, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5518:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5517:9:13" - }, - "scope": 7788, - "src": "5432:163:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7763, - "nodeType": "Block", - "src": "6347:67:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "6365:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7754, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6369:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6365:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7756, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7747, - "src": "6372:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7752, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6357:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6357:28:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7758, - "nodeType": "ExpressionStatement", - "src": "6357:28:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7761, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7759, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7743, - "src": "6402:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 7760, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7745, - "src": "6406:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6402:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7751, - "id": 7762, - "nodeType": "Return", - "src": "6395:12:13" - } - ] - }, - "documentation": "@dev Returns the integer division of two unsigned integers, reverting with custom message on\ndivision by zero. The result is rounded towards zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryDiv}.\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n`revert` opcode (which leaves remaining gas untouched) while Solidity\nuses an invalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7748, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7743, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6265:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7742, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6265:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7745, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6276:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7744, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6276:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7747, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6287:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7746, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "6287:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6264:50:13" - }, - "returnParameters": { - "id": 7751, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7750, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7764, - "src": "6338:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7749, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6338:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6337:9:13" - }, - "scope": 7788, - "src": "6252:162:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 7786, - "nodeType": "Block", - "src": "7155:67:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7776, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7768, - "src": "7173:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 7777, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7177:1:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7173:5:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 7779, - "name": "errorMessage", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7770, - "src": "7180:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7775, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7165:7:13", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7165:28:13", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7781, - "nodeType": "ExpressionStatement", - "src": "7165:28:13" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7784, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7782, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7766, - "src": "7210:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 7783, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7768, - "src": "7214:1:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7210:5:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7774, - "id": 7785, - "nodeType": "Return", - "src": "7203:12:13" - } - ] - }, - "documentation": "@dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\nreverting with custom message when dividing by zero.\n * CAUTION: This function is deprecated because it requires allocating memory for the error\nmessage unnecessarily. For custom revert reasons use {tryMod}.\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\nopcode (which leaves remaining gas untouched) while Solidity uses an\ninvalid opcode to revert (consuming all remaining gas).\n * Requirements:\n * - The divisor cannot be zero.", - "id": 7787, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 7771, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7766, - "name": "a", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7073:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7073:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7768, - "name": "b", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7084:9:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7767, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7084:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7770, - "name": "errorMessage", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7095:26:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7769, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "7095:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7072:50:13" - }, - "returnParameters": { - "id": 7774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7773, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7787, - "src": "7146:7:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7772, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7146:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7145:9:13" - }, - "scope": 7788, - "src": "7060:162:13", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 7789, - "src": "630:6594:13" - } - ], - "src": "33:7192:13" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.622Z", - "devdoc": { - "details": "Wrappers over Solidity's arithmetic operations with added overflow checks. * Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. * Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/StakingContract.json b/build/contracts/StakingContract.json deleted file mode 100644 index 172f7365..00000000 --- a/build/contracts/StakingContract.json +++ /dev/null @@ -1,24137 +0,0 @@ -{ - "contractName": "StakingContract", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Paused", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "Unpaused", - "type": "event" - }, - { - "inputs": [], - "name": "erc20", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mySubscriptions", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "paused", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "productIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "products", - "outputs": [ - { - "internalType": "uint256", - "name": "createdAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "startDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "endDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalMaxAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "individualMinimumAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "APR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "currentAmount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "lockedUntilFinalization", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "heldTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "futureLockedTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "availableTokens", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_product_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "subscribeProduct", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_startDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_endDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalMaxAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_individualMinimumAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_APR", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_lockedUntilFinalization", - "type": "bool" - } - ], - "name": "createProduct", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_APR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_startDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_endDate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "getAPRAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getProductIds", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "getMySubscriptions", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_product_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_subscription_id", - "type": "uint256" - } - ], - "name": "withdrawSubscription", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_subscription_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_product_id", - "type": "uint256" - } - ], - "name": "getSubscription", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_product_id", - "type": "uint256" - } - ], - "name": "getProduct", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_address", - "type": "address" - } - ], - "name": "safeGuardAllTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_tokenAddress", - "type": "address" - } - ], - "name": "changeTokenAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"availableTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_tokenAddress\",\"type\":\"address\"}],\"name\":\"changeTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalMaxAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_individualMinimumAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_APR\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_lockedUntilFinalization\",\"type\":\"bool\"}],\"name\":\"createProduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"erc20\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"futureLockedTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_APR\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_startDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"getAPRAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"getMySubscriptions\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_product_id\",\"type\":\"uint256\"}],\"name\":\"getProduct\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProductIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_subscription_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_product_id\",\"type\":\"uint256\"}],\"name\":\"getSubscription\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"heldTokens\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mySubscriptions\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"productIds\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"products\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"createdAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endDate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalMaxAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"individualMinimumAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"APR\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"lockedUntilFinalization\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"safeGuardAllTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_product_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"subscribeProduct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_product_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_subscription_id\",\"type\":\"uint256\"}],\"name\":\"withdrawSubscription\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol\":\"StakingContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol\":{\"keccak256\":\"0x655daab90693ce758a5ab15abf8aa2a8a6f88c47cae5db2a75b510d524b37f49\",\"urls\":[\"bzz-raw://b895e991d45a7c65ba42a04166d26b63aa52e42b100b6c71ef345403560e147a\",\"dweb:/ipfs/QmeLCZ64Z6YLGdXBNWw39ECjxD9LBZsuerrss2i7EnjAoe\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x60806040526000600455600060055534801561001a57600080fd5b50604051611ceb380380611ceb8339818101604052602081101561003d57600080fd5b5051600080546001600160a81b0319166101003302178155600680546001600160a01b0319166001600160a01b0390931692909217909155611c6690819061008590396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80637acc0b20116100ad578063b90c72ae11610071578063b90c72ae146103d6578063b9db15b4146103fc578063c9cda91f146104ee578063cb51bba914610514578063f2fde38b146105315761012c565b80637acc0b201461029e5780637e6288f1146102fe5780638da5cb5b1461032d578063a461efb914610335578063b6ee04fa146103aa5761012c565b80635c975abb116100f45780635c975abb1461023457806369bb4dc2146102505780636ede83321461026a57806376f7ca6e14610272578063785e9e861461027a5761012c565b80630ea52b6c14610131578063130d89451461015657806321090380146101cc5780632c6131cb146101ef57806347428e7b1461022c575b600080fd5b6101546004803603604081101561014757600080fd5b5080359060200135610557565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b0316610ac8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101b85781810151838201526020016101a0565b505050509050019250505060405180910390f35b610154600480360360408110156101e257600080fd5b5080359060200135610b34565b610154600480360360c081101561020557600080fd5b5080359060208101359060408101359060608101359060808101359060a001351515610f7a565b61017c611163565b61023c6111bc565b604080519115158252519081900360200190f35b6102586111c5565b60408051918252519081900360200190f35b6102586111eb565b610258611267565b61028261126d565b604080516001600160a01b039092168252519081900360200190f35b6102bb600480360360208110156102b457600080fd5b503561127c565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c0840152151560e083015251908190036101000190f35b6102586004803603608081101561031457600080fd5b50803590602081013590604081013590606001356112c3565b610282611314565b6103586004803603604081101561034b57600080fd5b5080359060200135611328565b60408051998a5260208a019890985288880196909652606088019490945260808701929092526001600160a01b031660a086015260c0850152151560e084015261010083015251908190036101200190f35b610258600480360360408110156103c057600080fd5b506001600160a01b0381351690602001356113f4565b610154600480360360208110156103ec57600080fd5b50356001600160a01b0316611422565b6104196004803603602081101561041257600080fd5b5035611595565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001841515151581526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156104d05781810151838201526020016104b8565b505050509050019c5050505050505050505050505060405180910390f35b6101546004803603602081101561050457600080fd5b50356001600160a01b031661172a565b6102586004803603602081101561052a57600080fd5b50356117b8565b6101546004803603602081101561054757600080fd5b50356001600160a01b03166117d6565b61055f6111bc565b156105a4576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600160205260409020600201546105fd576040805162461bcd60e51b8152602060048201526013602482015272141c9bd91d58dd081a185cc8195e1c1a5c9959606a1b604482015290519081900360640190fd5b6000828152600160209081526040808320848452600a01909152902060030154610667576040805162461bcd60e51b8152602060048201526016602482015275141c9bd91d58dd08191bd95cc81b9bdd08195e1a5cdd60521b604482015290519081900360640190fd5b6000828152600160209081526040808320848452600a0190915290206007015460ff16156106c65760405162461bcd60e51b8152600401808060200182810382526022815260200180611ba86022913960400191505060405180910390fd5b6000828152600160209081526040808320848452600a019091529020600501546001600160a01b03163314610742576040805162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520737562736372697074696f6e206f776e6572000000000000604482015290519081900360640190fd5b61074a6119eb565b506000828152600160208181526040808420858552600a018252928390208351610120810185528154815292810154918301919091526002810154928201839052600381015460608301526004810154608083015260058101546001600160a01b031660a0830152600681015460c0830152600781015460ff16151560e083015260080154610100820152904211610829576040805162461bcd60e51b815260206004820152601b60248201527f4e6f772069732062656c6f772074686520737461727420646174650000000000604482015290519081900360640190fd5b6000838152600160205260409020600201544290811061085b57506000838152600160205260409020600201546108ac565b60008481526001602052604090206007015460ff16156108ac5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b826026913960400191505060405180910390fd5b60006108c68360c0015184604001518486608001516112c3565b9050600081116109075760405162461bcd60e51b8152600401808060200182810382526022815260200180611c0f6022913960400191505060405180910390fd5b608083015160009061091f908363ffffffff61186b16565b905060006109656109548660c001518760400151600160008c81526020019081526020016000206002015489608001516112c3565b60808701519063ffffffff61186b16565b9050600082116109a65760405162461bcd60e51b8152600401808060200182810382526024815260200180611beb6024913960400191505060405180910390fd5b60008781526001602081815260408084208a8552600a01825280842060078101805460ff191690941790935560038301889055600890920185905560065460a0890151835163a9059cbb60e01b81526001600160a01b03918216600482015260248101889052935191169363a9059cbb936044808201949392918390030190829087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b505050506040513d6020811015610a6057600080fd5b5051610aa9576040805162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c881a185cc819985a5b1959606a1b604482015290519081900360640190fd5b600554610abc908263ffffffff6118ce16565b60055550505050505050565b6001600160a01b038116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610b2857602002820191906000526020600020905b815481526020019060010190808311610b14575b50505050509050919050565b610b3c6111bc565b15610b81576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b4281610b8c57600080fd5b6000838152600160205260409020600201544210610ba957600080fd5b60008381526001602081905260409091200154421015610bd85750600082815260016020819052604090912001545b6000838152600160205260409020600681015460039091015490830110610bfe57600080fd5b600083815260016020526040902060040154821015610c1c57600080fd5b60008381526001602052604081206005810154600290910154610c4291908490866112c3565b905080610c4d6111c5565b1015610c5857600080fd5b600654604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610cb257600080fd5b505af1158015610cc6573d6000803e3d6000fd5b505050506040513d6020811015610cdc57600080fd5b5051610ce757600080fd5b610d09610cfa848363ffffffff61186b16565b6005549063ffffffff61186b16565b6005556004805460018101909155610d1f6119eb565b60405180610120016040528083815260200187815260200185815260200160016000898152602001908152602001600020600201548152602001868152602001336001600160a01b03168152602001600160008981526020019081526020016000206005015481526020016000151581526020016000815250905060036000336001600160a01b03166001600160a01b03168152602001908152602001600020829080600181540180825580915050600190039060005260206000200160009091909190915055600160008781526020019081526020016000206009018290806001815401808255809150506001900390600052602060002001600090919091909150558060016000888152602001908152602001600020600a016000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff021916908315150217905550610100820151816008015590505084600160008881526020019081526020016000206006015401600160008881526020019081526020016000206006018190555060016000878152602001908152602001600020600801339080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050505050565b610f826111bc565b15610fc7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60005461010090046001600160a01b03163314610fe357600080fd5b844210610fef57600080fd5b85421115610ffc57600080fd5b84861061100857600080fd5b6000841161101557600080fd5b6000831161102257600080fd5b82841161102e57600080fd5b6000821161103b57600080fd5b606080611046611a42565b50604080516101408101825242815260208082018b81528284018b8152606084018b8152608085018b815260a086018b8152600060c088018181528c151560e08a019081526101008a018d81526101208b018d90526002805460018082018084557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909201829055818752808d529d9095208c51815599519c8a019c909c5596519a88019a909a55935160038701559151600486015551600585015590516006840155945160078301805460ff19169115159190911790555180519394938593611137926008850192910190611a97565b506101208201518051611154916009840191602090910190611afc565b50505050505050505050505050565b606060028054806020026020016040519081016040528092919081815260200182805480156111b157602002820191906000526020600020905b81548152602001906001019080831161119d575b505050505090505b90565b60005460ff1690565b60006111e66111d2611267565b6111da6111eb565b9063ffffffff6118ce16565b905090565b600654604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561123657600080fd5b505afa15801561124a573d6000803e3d6000fd5b505050506040513d602081101561126057600080fd5b5051905090565b60055490565b6006546001600160a01b031681565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600790960154949593949293919290919060ff1688565b600061130b6112dd6301e13380606463ffffffff61192b16565b6112ff846112f38981898b63ffffffff6118ce16565b9063ffffffff61192b16565b9063ffffffff61198416565b95945050505050565b60005461010090046001600160a01b031681565b600080600080600080600080600061133e6119eb565b50505060009788525050600160208181526040808920998952600a909901815296889020885161012081018a5281548082529282015498810189905260028201549981018a905260038201546060820181905260048301546080830181905260058401546001600160a01b031660a08401819052600685015460c08501819052600786015460ff16151560e08601819052600890960154610100909501859052959d9b9c9b929a50909850965092945090925090565b6003602052816000526040600020818154811061140d57fe5b90600052602060002001600091509150505481565b60005461010090046001600160a01b0316331461143e57600080fd5b6114466111bc565b61148e576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600654604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156114e257600080fd5b505afa1580156114f6573d6000803e3d6000fd5b505050506040513d602081101561150c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561155d57600080fd5b505af1158015611571573d6000803e3d6000fd5b505050506040513d602081101561158757600080fd5b505161159257600080fd5b50565b6000806000806000806000806060806115ac611a42565b60008c8152600160208181526040928390208351610140810185528154815292810154838301526002810154838501526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460ff16151560e08401526008810180548551818502810185019096528086529394919361010086019383018282801561166b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161164d575b50505050508152602001600982018054806020026020016040519081016040528092919081815260200182805480156116c357602002820191906000526020600020905b8154815260200190600101908083116116af575b5050505050815250509050806000015181602001518260400151836060015184608001518560a001518660c001518760e001518861010001518961012001518191508090509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b60005461010090046001600160a01b0316331461174657600080fd5b61174e6111bc565b611796576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600281815481106117c557fe5b600091825260209091200154905081565b60005461010090046001600160a01b031633146117f257600080fd5b6001600160a01b03811661180557600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000828201838110156118c5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082821115611925576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261193a575060006118c8565b8282028284828161194757fe5b04146118c55760405162461bcd60e51b8152600401808060200182810382526021815260200180611bca6021913960400191505060405180910390fd5b60008082116119da576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816119e357fe5b049392505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600015158152602001600081525090565b6040518061014001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160608152602001606081525090565b828054828255906000526020600020908101928215611aec579160200282015b82811115611aec57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611ab7565b50611af8929150611b43565b5090565b828054828255906000526020600020908101928215611b37579160200282015b82811115611b37578251825591602001919060010190611b1c565b50611af8929150611b67565b6111b991905b80821115611af85780546001600160a01b0319168155600101611b49565b6111b991905b80821115611af85760008155600101611b6d56fe50726f647563742068617320746f20636c6f736520746f2062652077697468647261776e6564537562736372697074696f6e207761732066696e616c697a656420616c7265616479536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20416d6f756e742068617320746f20626520626967676572207468616e203041505220616d6f756e742068617320746f20626520626967676572207468616e2030a26469706673582212209490e186a131d7731f51ed69c0a66c5d0867a1a1c43bb47409c544cfa4a2553e64736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80637acc0b20116100ad578063b90c72ae11610071578063b90c72ae146103d6578063b9db15b4146103fc578063c9cda91f146104ee578063cb51bba914610514578063f2fde38b146105315761012c565b80637acc0b201461029e5780637e6288f1146102fe5780638da5cb5b1461032d578063a461efb914610335578063b6ee04fa146103aa5761012c565b80635c975abb116100f45780635c975abb1461023457806369bb4dc2146102505780636ede83321461026a57806376f7ca6e14610272578063785e9e861461027a5761012c565b80630ea52b6c14610131578063130d89451461015657806321090380146101cc5780632c6131cb146101ef57806347428e7b1461022c575b600080fd5b6101546004803603604081101561014757600080fd5b5080359060200135610557565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b0316610ac8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101b85781810151838201526020016101a0565b505050509050019250505060405180910390f35b610154600480360360408110156101e257600080fd5b5080359060200135610b34565b610154600480360360c081101561020557600080fd5b5080359060208101359060408101359060608101359060808101359060a001351515610f7a565b61017c611163565b61023c6111bc565b604080519115158252519081900360200190f35b6102586111c5565b60408051918252519081900360200190f35b6102586111eb565b610258611267565b61028261126d565b604080516001600160a01b039092168252519081900360200190f35b6102bb600480360360208110156102b457600080fd5b503561127c565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c0840152151560e083015251908190036101000190f35b6102586004803603608081101561031457600080fd5b50803590602081013590604081013590606001356112c3565b610282611314565b6103586004803603604081101561034b57600080fd5b5080359060200135611328565b60408051998a5260208a019890985288880196909652606088019490945260808701929092526001600160a01b031660a086015260c0850152151560e084015261010083015251908190036101200190f35b610258600480360360408110156103c057600080fd5b506001600160a01b0381351690602001356113f4565b610154600480360360208110156103ec57600080fd5b50356001600160a01b0316611422565b6104196004803603602081101561041257600080fd5b5035611595565b604051808b81526020018a8152602001898152602001888152602001878152602001868152602001858152602001841515151581526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156104d05781810151838201526020016104b8565b505050509050019c5050505050505050505050505060405180910390f35b6101546004803603602081101561050457600080fd5b50356001600160a01b031661172a565b6102586004803603602081101561052a57600080fd5b50356117b8565b6101546004803603602081101561054757600080fd5b50356001600160a01b03166117d6565b61055f6111bc565b156105a4576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6000828152600160205260409020600201546105fd576040805162461bcd60e51b8152602060048201526013602482015272141c9bd91d58dd081a185cc8195e1c1a5c9959606a1b604482015290519081900360640190fd5b6000828152600160209081526040808320848452600a01909152902060030154610667576040805162461bcd60e51b8152602060048201526016602482015275141c9bd91d58dd08191bd95cc81b9bdd08195e1a5cdd60521b604482015290519081900360640190fd5b6000828152600160209081526040808320848452600a0190915290206007015460ff16156106c65760405162461bcd60e51b8152600401808060200182810382526022815260200180611ba86022913960400191505060405180910390fd5b6000828152600160209081526040808320848452600a019091529020600501546001600160a01b03163314610742576040805162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520737562736372697074696f6e206f776e6572000000000000604482015290519081900360640190fd5b61074a6119eb565b506000828152600160208181526040808420858552600a018252928390208351610120810185528154815292810154918301919091526002810154928201839052600381015460608301526004810154608083015260058101546001600160a01b031660a0830152600681015460c0830152600781015460ff16151560e083015260080154610100820152904211610829576040805162461bcd60e51b815260206004820152601b60248201527f4e6f772069732062656c6f772074686520737461727420646174650000000000604482015290519081900360640190fd5b6000838152600160205260409020600201544290811061085b57506000838152600160205260409020600201546108ac565b60008481526001602052604090206007015460ff16156108ac5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b826026913960400191505060405180910390fd5b60006108c68360c0015184604001518486608001516112c3565b9050600081116109075760405162461bcd60e51b8152600401808060200182810382526022815260200180611c0f6022913960400191505060405180910390fd5b608083015160009061091f908363ffffffff61186b16565b905060006109656109548660c001518760400151600160008c81526020019081526020016000206002015489608001516112c3565b60808701519063ffffffff61186b16565b9050600082116109a65760405162461bcd60e51b8152600401808060200182810382526024815260200180611beb6024913960400191505060405180910390fd5b60008781526001602081815260408084208a8552600a01825280842060078101805460ff191690941790935560038301889055600890920185905560065460a0890151835163a9059cbb60e01b81526001600160a01b03918216600482015260248101889052935191169363a9059cbb936044808201949392918390030190829087803b158015610a3657600080fd5b505af1158015610a4a573d6000803e3d6000fd5b505050506040513d6020811015610a6057600080fd5b5051610aa9576040805162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c881a185cc819985a5b1959606a1b604482015290519081900360640190fd5b600554610abc908263ffffffff6118ce16565b60055550505050505050565b6001600160a01b038116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610b2857602002820191906000526020600020905b815481526020019060010190808311610b14575b50505050509050919050565b610b3c6111bc565b15610b81576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b4281610b8c57600080fd5b6000838152600160205260409020600201544210610ba957600080fd5b60008381526001602081905260409091200154421015610bd85750600082815260016020819052604090912001545b6000838152600160205260409020600681015460039091015490830110610bfe57600080fd5b600083815260016020526040902060040154821015610c1c57600080fd5b60008381526001602052604081206005810154600290910154610c4291908490866112c3565b905080610c4d6111c5565b1015610c5857600080fd5b600654604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610cb257600080fd5b505af1158015610cc6573d6000803e3d6000fd5b505050506040513d6020811015610cdc57600080fd5b5051610ce757600080fd5b610d09610cfa848363ffffffff61186b16565b6005549063ffffffff61186b16565b6005556004805460018101909155610d1f6119eb565b60405180610120016040528083815260200187815260200185815260200160016000898152602001908152602001600020600201548152602001868152602001336001600160a01b03168152602001600160008981526020019081526020016000206005015481526020016000151581526020016000815250905060036000336001600160a01b03166001600160a01b03168152602001908152602001600020829080600181540180825580915050600190039060005260206000200160009091909190915055600160008781526020019081526020016000206009018290806001815401808255809150506001900390600052602060002001600090919091909150558060016000888152602001908152602001600020600a016000848152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060c0820151816006015560e08201518160070160006101000a81548160ff021916908315150217905550610100820151816008015590505084600160008881526020019081526020016000206006015401600160008881526020019081526020016000206006018190555060016000878152602001908152602001600020600801339080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b03160217905550505050505050565b610f826111bc565b15610fc7576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b60005461010090046001600160a01b03163314610fe357600080fd5b844210610fef57600080fd5b85421115610ffc57600080fd5b84861061100857600080fd5b6000841161101557600080fd5b6000831161102257600080fd5b82841161102e57600080fd5b6000821161103b57600080fd5b606080611046611a42565b50604080516101408101825242815260208082018b81528284018b8152606084018b8152608085018b815260a086018b8152600060c088018181528c151560e08a019081526101008a018d81526101208b018d90526002805460018082018084557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace909201829055818752808d529d9095208c51815599519c8a019c909c5596519a88019a909a55935160038701559151600486015551600585015590516006840155945160078301805460ff19169115159190911790555180519394938593611137926008850192910190611a97565b506101208201518051611154916009840191602090910190611afc565b50505050505050505050505050565b606060028054806020026020016040519081016040528092919081815260200182805480156111b157602002820191906000526020600020905b81548152602001906001019080831161119d575b505050505090505b90565b60005460ff1690565b60006111e66111d2611267565b6111da6111eb565b9063ffffffff6118ce16565b905090565b600654604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561123657600080fd5b505afa15801561124a573d6000803e3d6000fd5b505050506040513d602081101561126057600080fd5b5051905090565b60055490565b6006546001600160a01b031681565b600160208190526000918252604090912080549181015460028201546003830154600484015460058501546006860154600790960154949593949293919290919060ff1688565b600061130b6112dd6301e13380606463ffffffff61192b16565b6112ff846112f38981898b63ffffffff6118ce16565b9063ffffffff61192b16565b9063ffffffff61198416565b95945050505050565b60005461010090046001600160a01b031681565b600080600080600080600080600061133e6119eb565b50505060009788525050600160208181526040808920998952600a909901815296889020885161012081018a5281548082529282015498810189905260028201549981018a905260038201546060820181905260048301546080830181905260058401546001600160a01b031660a08401819052600685015460c08501819052600786015460ff16151560e08601819052600890960154610100909501859052959d9b9c9b929a50909850965092945090925090565b6003602052816000526040600020818154811061140d57fe5b90600052602060002001600091509150505481565b60005461010090046001600160a01b0316331461143e57600080fd5b6114466111bc565b61148e576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600654604080516370a0823160e01b815230600482015290516001600160a01b039092169163a9059cbb91849184916370a08231916024808301926020929190829003018186803b1580156114e257600080fd5b505afa1580156114f6573d6000803e3d6000fd5b505050506040513d602081101561150c57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561155d57600080fd5b505af1158015611571573d6000803e3d6000fd5b505050506040513d602081101561158757600080fd5b505161159257600080fd5b50565b6000806000806000806000806060806115ac611a42565b60008c8152600160208181526040928390208351610140810185528154815292810154838301526002810154838501526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460ff16151560e08401526008810180548551818502810185019096528086529394919361010086019383018282801561166b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161164d575b50505050508152602001600982018054806020026020016040519081016040528092919081815260200182805480156116c357602002820191906000526020600020905b8154815260200190600101908083116116af575b5050505050815250509050806000015181602001518260400151836060015184608001518560a001518660c001518760e001518861010001518961012001518191508090509a509a509a509a509a509a509a509a509a509a50509193959799509193959799565b60005461010090046001600160a01b0316331461174657600080fd5b61174e6111bc565b611796576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600281815481106117c557fe5b600091825260209091200154905081565b60005461010090046001600160a01b031633146117f257600080fd5b6001600160a01b03811661180557600080fd5b600080546040516001600160a01b038085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000828201838110156118c5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600082821115611925576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261193a575060006118c8565b8282028284828161194757fe5b04146118c55760405162461bcd60e51b8152600401808060200182810382526021815260200180611bca6021913960400191505060405180910390fd5b60008082116119da576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816119e357fe5b049392505050565b604051806101200160405280600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600015158152602001600081525090565b6040518061014001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160608152602001606081525090565b828054828255906000526020600020908101928215611aec579160200282015b82811115611aec57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611ab7565b50611af8929150611b43565b5090565b828054828255906000526020600020908101928215611b37579160200282015b82811115611b37578251825591602001919060010190611b1c565b50611af8929150611b67565b6111b991905b80821115611af85780546001600160a01b0319168155600101611b49565b6111b991905b80821115611af85760008155600101611b6d56fe50726f647563742068617320746f20636c6f736520746f2062652077697468647261776e6564537562736372697074696f6e207761732066696e616c697a656420616c7265616479536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77546f74616c20416d6f756e742068617320746f20626520626967676572207468616e203041505220616d6f756e742068617320746f20626520626967676572207468616e2030a26469706673582212209490e186a131d7731f51ed69c0a66c5d0867a1a1c43bb47409c544cfa4a2553e64736f6c63430006020033", - "sourceMap": "199:9372:7:-:0;;;534:1;512:23;;564:1;541:24;;1453:87;8:9:-1;5:2;;;30:1;27;20:12;5:2;1453:87:7;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1453:87:7;945:5:26;935:15;;-1:-1:-1;;;;;;508:18:11;935:15:26;516:10:11;508:18;;;;1505:5:7;:28;;-1:-1:-1;;;;;;1505:28:7;-1:-1:-1;;;;;1505:28:7;;;;;;;;;;199:9372;;;;;;;;", - "deployedSourceMap": "199:9372:7:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;199:9372:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5570:2509;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5570:2509:7;;;;;;;:::i;:::-;;5431:133;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5431:133:7;-1:-1:-1;;;;;5431:133:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5431:133:7;;;;;;;;;;;;;;;;;2016:2034;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2016:2034:7;;;;;;;:::i;4056:1045::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;4056:1045:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5328:97::-;;;:::i;1052:84:26:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1891:119:7;;;:::i;:::-;;;;;;;;;;;;;;;;1580:106;;;:::i;1728:96::-;;;:::i;623:18::-;;;:::i;:::-;;;;-1:-1:-1;;;;;623:18:7;;;;;;;;;;;;;;284:46;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;284:46:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5108:214;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;5108:214:7;;;;;;;;;;;;;;;;;:::i;239:20:11:-;;;:::i;8088:524:7:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8088:524:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8088:524:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;421:52;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;421:52:7;;;;;;;;:::i;9146:220::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9146:220:7;-1:-1:-1;;;;;9146:220:7;;:::i;8622:514::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8622:514:7;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8622:514:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8622:514:7;;;;;;;;;;;;;;;;;;;;;;;;;;;9372:197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9372:197:7;-1:-1:-1;;;;;9372:197:7;;:::i;361:27::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;361:27:7;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;5570:2509:7:-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;5726:21:7::1;::::0;;;:8:::1;:21;::::0;;;;:29:::1;;::::0;5718:66:::1;;;::::0;;-1:-1:-1;;;5718:66:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5718:66:7;;;;;;;;;;;;;::::1;;5845:21;::::0;;;:8:::1;:21;::::0;;;;;;;:53;;;:35:::1;;:53:::0;;;;;:61:::1;;::::0;5837:101:::1;;;::::0;;-1:-1:-1;;;5837:101:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;5837:101:7;;;;;;;;;;;;;::::1;;6009:21;::::0;;;:8:::1;:21;::::0;;;;;;;:53;;;:35:::1;;:53:::0;;;;;:63:::1;;::::0;::::1;;:72;6001:119;;;;-1:-1:-1::0;;;6001:119:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6187:21;::::0;;;:8:::1;:21;::::0;;;;;;;:53;;;:35:::1;;:53:::0;;;;;:71:::1;;::::0;-1:-1:-1;;;;;6187:71:7::1;6262:10;6187:85;6179:124;;;::::0;;-1:-1:-1;;;6179:124:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6314:35;;:::i;:::-;-1:-1:-1::0;6352:21:7::1;::::0;;;:8:::1;:21;::::0;;;;;;;:53;;;:35:::1;;:53:::0;;;;;;6314:91;;::::1;::::0;::::1;::::0;;;;;;;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;-1:-1:-1;;;;;6314:91:7::1;::::0;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;::::1;::::0;::::1;;;;::::0;;;;::::1;;::::0;::::1;::::0;;;;6476:15:::1;:40;6468:80;;;::::0;;-1:-1:-1;;;6468:80:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;6598:18;6719:21:::0;;;:8:::1;:21;::::0;;;;:29:::1;;::::0;6619:15:::1;::::0;6700:48;::::1;6697:320;;-1:-1:-1::0;6776:21:7::1;::::0;;;:8:::1;:21;::::0;;;;:29:::1;;::::0;6697:320:::1;;;6909:21;::::0;;;:8:::1;:21;::::0;;;;:45:::1;;::::0;::::1;;:54;6901:105;;;;-1:-1:-1::0;;;6901:105:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7027:19;7049:87;7062:12;:16;;;7080:12;:22;;;7104:10;7116:12;:19;;;7049:12;:87::i;:::-;7027:109;;7168:1;7154:11;:15;7146:62;;;;-1:-1:-1::0;;;7146:62:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7240:19;::::0;::::1;::::0;7218::::1;::::0;7240:36:::1;::::0;7264:11;7240:36:::1;:23;:36;:::i;:::-;7218:58;;7286:30;7319:131;7343:106;7356:12;:16;;;7374:12;:22;;;7398:8;:21;7407:11;7398:21;;;;;;;;;;;:29;;;7429:12;:19;;;7343:12;:106::i;:::-;7319:19;::::0;::::1;::::0;;:131:::1;:23;:131;:::i;:::-;7286:164;;7482:1;7468:11;:15;7460:64;;;;-1:-1:-1::0;;;7460:64:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7569:21;::::0;;;7635:4:::1;7569:21;::::0;;;;;;;:53;;;:35:::1;;:53:::0;;;;;:63:::1;::::0;::::1;:70:::0;;-1:-1:-1;;7569:70:7::1;::::0;;::::1;::::0;;;7649:61:::1;::::0;::::1;:74:::0;;;7733:68:::1;::::0;;::::1;:82:::0;;;7889:5:::1;::::0;7904:30:::1;::::0;::::1;::::0;7889:59;;-1:-1:-1;;;7889:59:7;;-1:-1:-1;;;;;7889:59:7;;::::1;-1:-1:-1::0;7889:59:7;::::1;::::0;;;;;;;;;:5;::::1;::::0;:14:::1;::::0;:59;;;;;7569:21;7889:59;;;;;;;;;:5;:59;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;7889:59:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;7889:59:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;7889:59:7;7881:91:::1;;;::::0;;-1:-1:-1;;;7881:91:7;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;7881:91:7;;;;;;;;;;;;;::::1;;8032:12;::::0;:40:::1;::::0;8049:22;8032:40:::1;:16;:40;:::i;:::-;8017:12;:55:::0;-1:-1:-1;;;;;;;5570:2509:7:o;5431:133::-;-1:-1:-1;;;;;5532:25:7;;;;;;:15;:25;;;;;;;;;5525:32;;;;;;;;;;;;;;;;;5497:16;;5525:32;;;5532:25;5525:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5431:133;;;:::o;2016:2034::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;2129:15:7::1;2203:11:::0;2195:20:::1;;;::::0;::::1;;2300:21;::::0;;;:8:::1;:21;::::0;;;;:29:::1;;::::0;2282:15:::1;:47;2274:56;;;::::0;::::1;;2414:21;::::0;;;:8:::1;:21;::::0;;;;;;;:31:::1;::::0;2396:15:::1;:49;2393:116;;;-1:-1:-1::0;2467:21:7::1;::::0;;;:8:::1;:21;::::0;;;;;;;:31:::1;::::0;2393:116:::1;2628:21;::::0;;;:8:::1;:21;::::0;;;;:35:::1;::::0;::::1;::::0;2588:36:::1;::::0;;::::1;::::0;2628:45;;::::1;-1:-1:-1::0;2580:95:7::1;;;::::0;::::1;;2764:21;::::0;;;:8:::1;:21;::::0;;;;:45:::1;;::::0;2753:56;::::1;;2745:65;;;::::0;::::1;;2829:23;2868:21:::0;;;:8:::1;:21;::::0;;;;:25:::1;::::0;::::1;::::0;2901:29:::1;::::0;;::::1;::::0;2855:85:::1;::::0;2868:25;2895:4;;2932:7;2855:12:::1;:85::i;:::-;2829:111;;3057:15;3036:17;:15;:17::i;:::-;:36;;3028:45;;;::::0;::::1;;3150:5;::::0;:54:::1;::::0;;-1:-1:-1;;;3150:54:7;;3169:10:::1;3150:54;::::0;::::1;::::0;3189:4:::1;3150:54:::0;;;;;;;;;;;;-1:-1:-1;;;;;3150:5:7;;::::1;::::0;:18:::1;::::0;:54;;;;;::::1;::::0;;;;;;;;;:5:::1;::::0;:54;::::1;;5:2:-1::0;::::1;;;30:1;27::::0;20:12:::1;5:2;3150:54:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;3150:54:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::1;2:2;-1:-1:::0;3150:54:7;3142:63:::1;;;::::0;::::1;;3265:46;3282:28;:7:::0;3294:15;3282:28:::1;:11;:28;:::i;:::-;3265:12;::::0;;:46:::1;:16;:46;:::i;:::-;3250:12;:61:::0;3348:11:::1;::::0;;3397:1:::1;3383:15:::0;::::1;3369:29:::0;;;3453:38:::1;;:::i;:::-;3494:149;;;;;;;;3510:15;3494:149;;;;3527:11;3494:149;;;;3540:4;3494:149;;;;3546:8;:21;3555:11;3546:21;;;;;;;;;;;:29;;;3494:149;;;;3577:7;3494:149;;;;3595:10;-1:-1:-1::0;;;;;3494:149:7::1;;;;;3607:8;:21;3616:11;3607:21;;;;;;;;;;;:25;;;3494:149;;;;3634:5;3494:149;;;;;;3641:1;3494:149;;::::0;3453:190:::1;;3692:15;:27;3708:10;-1:-1:-1::0;;;;;3692:27:7::1;-1:-1:-1::0;;;;;3692:27:7::1;;;;;;;;;;;;3725:15;3692:49;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3692:49:7;;;;;;;;;;;;;;;;;;;3751:8;:21;3760:11;3751:21;;;;;;;;;;;:37;;3794:15;3751:59;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3751:59:7;;;;;;;;;;;;;;;;;;;3875:15;3820:8;:21;3829:11;3820:21;;;;;;;;;;;:35;;:52;3856:15;3820:52;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3820:70:7::1;;;;;-1:-1:-1::0;;;;;3820:70:7::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3976:7;3938:8;:21;3947:11;3938:21;;;;;;;;;;;:35;;;:45;3900:8;:21;3909:11;3900:21;;;;;;;;;;;:35;;:83;;;;3993:8;:21;4002:11;3993:21;;;;;;;;;;;:33;;4032:10;3993:50;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3993:50:7;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3993:50:7::1;;;;;-1:-1:-1::0;;;;;3993:50:7::1;;;;;;1405:1:26;;;;2016:2034:7::0;;:::o;4056:1045::-;1366:8:26;:6;:8::i;:::-;1365:9;1357:38;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;-1:-1:-1;;;1357:38:26;;;;;;;;;;;;;;;672:5:11::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;672:5:11::1;658:10;:19;650:28;;;::::0;::::1;;4319:8:7::2;4301:15;:26;4293:35;;;::::0;::::2;;4365:10;4346:15;:29;;4338:38;;;::::0;::::2;;4407:8;4394:10;:21;4386:30;;;::::0;::::2;;4452:1;4434:15;:19;4426:28;;;::::0;::::2;;4499:1;4472:24;:28;4464:37;;;::::0;::::2;;4537:24;4519:15;:42;4511:51;;;::::0;::::2;;4587:1;4580:4;:8;4572:17;;;::::0;::::2;;4600:27;4637:31:::0;4726:28:::2;;:::i;:::-;-1:-1:-1::0;4757:167:7::2;::::0;;::::2;::::0;::::2;::::0;;4768:15:::2;4757:167:::0;;::::2;::::0;;::::2;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4757:167:7;;;;;;;::::2;;::::0;;;;;;;;;;;;;;;;;;4956:10:::2;:17:::0;;4976:1:::2;4956:21:::0;;::::2;45:23:-1::0;;;5024:27:7;;;::::2;::::0;;;5061:20;;;;;;;;;;:33;;;;;;;;::::2;::::0;;;;;;;;::::2;::::0;;;;;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;;-1:-1:-1;;5061:33:7::2;::::0;::::2;;::::0;;;::::2;::::0;;;;;4757:167;;4956:21;4757:167;;5061:33:::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;:::i;:::-;-1:-1:-1::0;5061:33:7::2;::::0;::::2;::::0;;;::::2;::::0;::::2;::::0;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;:::i;:::-;-1:-1:-1::0;;;;;;;;;;;;;4056:1045:7:o;5328:97::-;5373:16;5408:10;5401:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5328:97;;:::o;1052:84:26:-;1099:4;1122:7;;;1052:84;:::o;1891:119:7:-;1939:7;1965:38;1982:20;:18;:20::i;:::-;1965:12;:10;:12::i;:::-;:16;:38;:16;:38;:::i;:::-;1958:45;;1891:119;:::o;1580:106::-;1649:5;;:30;;;-1:-1:-1;;;1649:30:7;;1673:4;1649:30;;;;;;1623:7;;-1:-1:-1;;;;;1649:5:7;;:15;;:30;;;;;;;;;;;;;;:5;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;1649:30:7;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1649:30:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1649:30:7;;-1:-1:-1;1580:106:7;:::o;1728:96::-;1805:12;;1728:96;:::o;623:18::-;;;-1:-1:-1;;;;;623:18:7;;:::o;284:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5108:214::-;5219:7;5245:70;5301:13;604:8;5310:3;5301:13;:8;:13;:::i;:::-;5246:49;5287:7;5246:36;5277:4;5246:36;5247:8;5260:10;5247:24;:12;:24;:::i;:::-;5246:30;:36;:30;:36;:::i;:49::-;5245:55;:70;:55;:70;:::i;:::-;5238:77;5108:214;-1:-1:-1;;;;;5108:214:7:o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;8088:524:7:-;8183:7;8192;8201;8210;8219;8228;8237;8246:4;8252:7;8271:35;;:::i;:::-;-1:-1:-1;;;8309:21:7;;;;-1:-1:-1;;8309:8:7;:21;;;;;;;;:53;;;:35;;;;:53;;;;;;8271:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8271:91:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8271:91:7;;-1:-1:-1;8271:91:7;-1:-1:-1;8271:91:7;;-1:-1:-1;8271:91:7;;-1:-1:-1;8271:91:7;8088:524::o;421:52::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9146:220::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1631:8:26::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:26;;;;;;;;;;;;;::::1;;9302:5:7::2;::::0;9327:30:::2;::::0;;-1:-1:-1;;;9327:30:7;;9351:4:::2;9327:30;::::0;::::2;::::0;;;-1:-1:-1;;;;;9302:5:7;;::::2;::::0;:14:::2;::::0;9317:8;;9302:5;;9327:15:::2;::::0;:30;;;;;::::2;::::0;;;;;;;;9302:5;9327:30;::::2;;5:2:-1::0;::::2;;;30:1;27::::0;20:12:::2;5:2;9327:30:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::2;77:16;74:1;67:27;5:2;9327:30:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::2;2:2;-1:-1:::0;9327:30:7;9302:56:::2;::::0;;-1:-1:-1;;;;;;9302:56:7::2;::::0;;;;;;-1:-1:-1;;;;;9302:56:7;;::::2;;::::0;::::2;::::0;;;;;;;;;;;;;;9327:30:::2;::::0;9302:56;;;;;;;-1:-1:-1;9302:56:7;;::::2;;5:2:-1::0;::::2;;;30:1;27::::0;20:12:::2;5:2;9302:56:7;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::2;77:16;74:1;67:27;5:2;9302:56:7;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26::::0;19:12:::2;2:2;-1:-1:::0;9302:56:7;9294:65:::2;;;::::0;::::2;;9146:220:::0;:::o;8622:514::-;8686:7;8695;8704;8713;8722;8731;8740;8749:4;8755:16;8773;8801:25;;:::i;:::-;8829:21;;;;:8;:21;;;;;;;;;8801:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8829:21;;8801:49;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8801:49:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8869:7;:17;;;8888:7;:17;;;8907:7;:15;;;8924:7;:22;;;8961:7;:31;;;8994:7;:11;;;9007:7;:21;;;9030:7;:31;;;9075:7;:19;;;9096:7;:23;;;8861:268;;;;;;;;;;;;;;;;;;;;;;;;;;;8622:514;;;;;;;;;;;:::o;9372:197::-;672:5:11;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;1631:8:26::1;:6;:8::i;:::-;1623:41;;;::::0;;-1:-1:-1;;;1623:41:26;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;1623:41:26;;;;;;;;;;;;;::::1;;9534:5:7::2;:28:::0;;-1:-1:-1;;;;;;9534:28:7::2;-1:-1:-1::0;;;;;9534:28:7;;;::::2;::::0;;;::::2;::::0;;9372:197::o;361:27::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;361:27:7;:::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;;::::1;;::::0;982:37:::1;::::0;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;-1:-1:-1;2690:175:14;;;;;:::o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:14;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:14;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:14:o;199:9372:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;199:9372:7;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;199:9372:7;-1:-1:-1;;;;;199:9372:7;;;;;;;;;;;-1:-1:-1;199:9372:7;;;;;;;-1:-1:-1;199:9372:7;;;-1:-1:-1;199:9372:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;199:9372:7;;;-1:-1:-1;199:9372:7;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;199:9372:7;;;;;;;;;;;;;;;;;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"./utils/Ownable.sol\";\n\ncontract StakingContract is Pausable, Ownable {\n using SafeMath for uint256;\n\n mapping(uint256 => ProductAPR) public products; /* Available Products */\n uint256[] public productIds; /* Available Product Ids*/\n mapping(address => uint256[]) public mySubscriptions; /* Address Based Subcriptions */\n uint256 incrementId = 0;\n uint256 lockedTokens = 0;\n\n uint256 constant private year = 365 days;\n \n ERC20 public erc20;\n\n struct SubscriptionAPR {\n uint256 _id;\n uint256 productId;\n uint256 startDate;\n uint256 endDate;\n uint256 amount;\n address subscriberAddress;\n uint256 APR; /* APR for this product */\n bool finalized;\n uint256 withdrawAmount;\n }\n\n struct ProductAPR {\n uint256 createdAt;\n uint256 startDate;\n uint256 endDate;\n uint256 totalMaxAmount;\n uint256 individualMinimumAmount;\n uint256 APR; /* APR for this product */\n uint256 currentAmount;\n bool lockedUntilFinalization; /* Product can only be withdrawn when finalized */\n address[] subscribers;\n uint256[] subscriptionIds;\n mapping(uint256 => SubscriptionAPR) subscriptions; /* Distribution object */\n }\n \n constructor(address _tokenAddress) public {\n erc20 = ERC20(_tokenAddress);\n }\n \n /* Current Held Tokens */\n function heldTokens() public view returns (uint256) {\n return erc20.balanceOf(address(this));\n }\n\n /* Locked Tokens for the APR */\n function futureLockedTokens() public view returns (uint256) {\n return lockedTokens;\n }\n\n /* Available Tokens to he APRed by future subscribers */\n function availableTokens() public view returns (uint256) {\n return heldTokens().sub(futureLockedTokens());\n }\n\n function subscribeProduct(uint256 _product_id, uint256 _amount) external whenNotPaused {\n\n uint256 time = block.timestamp;\n /* Confirm Amount is positive */\n require(_amount > 0);\n \n /* Confirm product still exists */\n require(block.timestamp < products[_product_id].endDate);\n\n /* Confirm Subscription prior to opening */\n if(block.timestamp < products[_product_id].startDate){\n time = products[_product_id].startDate;\n }\n \n /* Confirm Max Amount was not hit already */\n require(products[_product_id].totalMaxAmount > (products[_product_id].currentAmount + _amount));\n\n /* Confirm Amount is bigger than minimum Amount */\n require(_amount >= products[_product_id].individualMinimumAmount);\n \n uint256 futureAPRAmount = getAPRAmount(products[_product_id].APR, time, products[_product_id].endDate, _amount);\n\n /* Confirm the current funds can assure the user the APR is valid */\n require(availableTokens() >= futureAPRAmount);\n\n /* Confirm the user has funds for the transfer */\n require(erc20.transferFrom(msg.sender, address(this), _amount));\n\n /* Add to LockedTokens */\n lockedTokens = lockedTokens.add(_amount.add(futureAPRAmount));\n\n uint256 subscription_id = incrementId;\n incrementId = incrementId + 1;\n\n /* Create SubscriptionAPR Object */\n SubscriptionAPR memory subscriptionAPR = SubscriptionAPR(subscription_id, _product_id, time, products[_product_id].endDate, _amount, \n msg.sender, products[_product_id].APR, false, 0);\n\n /* Create new subscription */\n mySubscriptions[msg.sender].push(subscription_id);\n products[_product_id].subscriptionIds.push(subscription_id);\n products[_product_id].subscriptions[subscription_id] = subscriptionAPR;\n products[_product_id].currentAmount = products[_product_id].currentAmount + _amount;\n products[_product_id].subscribers.push(msg.sender);\n }\n\n function createProduct(uint256 _startDate, uint256 _endDate, uint256 _totalMaxAmount, uint256 _individualMinimumAmount, uint256 _APR, bool _lockedUntilFinalization) external whenNotPaused onlyOwner {\n\n /* Confirmations */\n require(block.timestamp < _endDate);\n require(block.timestamp <= _startDate);\n require(_startDate < _endDate);\n require(_totalMaxAmount > 0);\n require(_individualMinimumAmount > 0);\n require(_totalMaxAmount > _individualMinimumAmount);\n require(_APR > 0);\n\n address[] memory addressesI;\n uint256[] memory subscriptionsI;\n \n /* Create ProductAPR Object */\n ProductAPR memory productAPR = ProductAPR(block.timestamp, _startDate, _endDate, _totalMaxAmount, _individualMinimumAmount, _APR, 0, _lockedUntilFinalization,\n addressesI, subscriptionsI);\n\n uint256 product_id = productIds.length + 1;\n\n /* Add Product to System */\n productIds.push(product_id);\n products[product_id] = productAPR;\n }\n\n\n function getAPRAmount(uint256 _APR, uint256 _startDate, uint256 _endDate, uint256 _amount) public pure returns(uint256) {\n return ((_endDate.sub(_startDate)).mul(_APR).mul(_amount)).div(year.mul(100));\n }\n\n function getProductIds() public view returns(uint256[] memory) {\n return productIds;\n }\n\n function getMySubscriptions(address _address) public view returns(uint256[] memory) {\n return mySubscriptions[_address];\n }\n\n function withdrawSubscription(uint256 _product_id, uint256 _subscription_id) external whenNotPaused {\n\n /* Confirm Product exists */\n require(products[_product_id].endDate != 0, \"Product has expired\");\n\n /* Confirm Subscription exists */\n require(products[_product_id].subscriptions[_subscription_id].endDate != 0, \"Product does not exist\");\n\n /* Confirm Subscription is not finalized */\n require(products[_product_id].subscriptions[_subscription_id].finalized == false, \"Subscription was finalized already\");\n\n /* Confirm Subscriptor is the sender */\n require(products[_product_id].subscriptions[_subscription_id].subscriberAddress == msg.sender, \"Not the subscription owner\");\n\n SubscriptionAPR memory subscription = products[_product_id].subscriptions[_subscription_id];\n\n /* Confirm start date has already passed */\n require(block.timestamp > subscription.startDate, \"Now is below the start date\");\n\n /* Confirm end date for APR */\n uint256 finishDate = block.timestamp;\n /* Verify if date has passed the end date */\n if(block.timestamp >= products[_product_id].endDate){\n finishDate = products[_product_id].endDate;\n }else{\n /* Confirm the Product can be withdrawn at any time */\n require(products[_product_id].lockedUntilFinalization == false, \"Product has to close to be withdrawned\");\n }\n\n uint256 APRedAmount = getAPRAmount(subscription.APR, subscription.startDate, finishDate, subscription.amount);\n require(APRedAmount > 0, \"APR amount has to be bigger than 0\");\n uint256 totalAmount = subscription.amount.add(APRedAmount);\n uint256 totalAmountWithFullAPR = subscription.amount.add(getAPRAmount(subscription.APR, subscription.startDate, products[_product_id].endDate, subscription.amount));\n require(totalAmount > 0, \"Total Amount has to be bigger than 0\");\n\n /* Update Subscription */\n products[_product_id].subscriptions[_subscription_id].finalized = true;\n products[_product_id].subscriptions[_subscription_id].endDate = finishDate;\n products[_product_id].subscriptions[_subscription_id].withdrawAmount = totalAmount;\n\n /* Transfer funds to the subscriber address */\n require(erc20.transfer(subscription.subscriberAddress, totalAmount), \"Transfer has failed\");\n\n /* Sub to LockedTokens */\n lockedTokens = lockedTokens.sub(totalAmountWithFullAPR);\n } \n\n function getSubscription(uint256 _subscription_id, uint256 _product_id) external view returns (uint256, uint256, uint256, uint256, uint256, address, uint256, bool, uint256){\n\n SubscriptionAPR memory subscription = products[_product_id].subscriptions[_subscription_id];\n\n return (subscription._id, subscription.productId, subscription.startDate, subscription.endDate, \n subscription.amount, subscription.subscriberAddress, subscription.APR, subscription.finalized, subscription.withdrawAmount);\n }\n \n function getProduct(uint256 _product_id) external view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, bool, address[] memory, uint256[] memory){\n\n ProductAPR memory product = products[_product_id];\n\n return (product.createdAt, product.startDate, product.endDate, product.totalMaxAmount, \n product.individualMinimumAmount, product.APR, product.currentAmount, product.lockedUntilFinalization,\n product.subscribers, product.subscriptionIds\n );\n }\n \n function safeGuardAllTokens(address _address) external onlyOwner whenPaused { /* In case of needed urgency for the sake of contract bug */\n require(erc20.transfer(_address, erc20.balanceOf(address(this))));\n }\n\n function changeTokenAddress(address _tokenAddress) external onlyOwner whenPaused {\n /* If Needed to Update the Token Address (ex : token swap) */\n erc20 = ERC20(_tokenAddress);\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol", - "exportedSymbols": { - "StakingContract": [ - 5067 - ] - }, - "id": 5068, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4220, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:7" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 4221, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 9079, - "src": "59:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4222, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 11635, - "src": "115:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 4223, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 8191, - "src": "168:29:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4224, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11634, - "src": "227:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11634", - "typeString": "contract Pausable" - } - }, - "id": 4225, - "nodeType": "InheritanceSpecifier", - "src": "227:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4226, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8190, - "src": "237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8190", - "typeString": "contract Ownable" - } - }, - "id": 4227, - "nodeType": "InheritanceSpecifier", - "src": "237:7:7" - } - ], - "contractDependencies": [ - 8190, - 10537, - 11634 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5067, - "linearizedBaseContracts": [ - 5067, - 8190, - 11634, - 10537 - ], - "name": "StakingContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4230, - "libraryName": { - "contractScope": null, - "id": 4228, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8594, - "src": "257:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8594", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "251:27:7", - "typeName": { - "id": 4229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "7acc0b20", - "id": 4234, - "name": "products", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "284:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "typeName": { - "id": 4233, - "keyType": { - "id": 4231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "284:30:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "valueType": { - "contractScope": null, - "id": 4232, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb51bba9", - "id": 4237, - "name": "productIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "361:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4236, - "length": null, - "nodeType": "ArrayTypeName", - "src": "361:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b6ee04fa", - "id": 4242, - "name": "mySubscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "421:52:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 4241, - "keyType": { - "id": 4238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "429:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "421:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4240, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4245, - "name": "incrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "512:23:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "512:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "534:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4248, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "541:24:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "564:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4251, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "572:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "604:8:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 4253, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "623:18:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4252, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9078, - "src": "623:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "StakingContract.SubscriptionAPR", - "id": 4272, - "members": [ - { - "constant": false, - "id": 4255, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "681:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4257, - "name": "productId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "702:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4259, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "729:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4261, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "756:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4263, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "781:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4265, - "name": "subscriberAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "805:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "805:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4267, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "840:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4269, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "888:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4268, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "888:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4271, - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "912:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SubscriptionAPR", - "nodeType": "StructDefinition", - "scope": 5067, - "src": "648:293:7", - "visibility": "public" - }, - { - "canonicalName": "StakingContract.ProductAPR", - "id": 4299, - "members": [ - { - "constant": false, - "id": 4274, - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "975:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4276, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1002:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4278, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1029:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4280, - "name": "totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1054:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4282, - "name": "individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1086:31:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4284, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1127:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4286, - "name": "currentAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1175:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4288, - "name": "lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1206:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4287, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1206:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4291, - "name": "subscribers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1295:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4290, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1295:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4294, - "name": "subscriptionIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1326:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4293, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1326:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4298, - "name": "subscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1361:49:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "typeName": { - "id": 4297, - "keyType": { - "id": 4295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1361:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "valueType": { - "contractScope": null, - "id": 4296, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "1380:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ProductAPR", - "nodeType": "StructDefinition", - "scope": 5067, - "src": "947:496:7", - "visibility": "public" - }, - { - "body": { - "id": 4310, - "nodeType": "Block", - "src": "1495:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4304, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "1505:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4306, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "1519:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4305, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9078, - "src": "1513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9078_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "src": "1505:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4309, - "nodeType": "ExpressionStatement", - "src": "1505:28:7" - } - ] - }, - "documentation": null, - "id": 4311, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4301, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4311, - "src": "1465:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1465:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1464:23:7" - }, - "returnParameters": { - "id": 4303, - "nodeType": "ParameterList", - "parameters": [], - "src": "1495:0:7" - }, - "scope": 5067, - "src": "1453:87:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4324, - "nodeType": "Block", - "src": "1632:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4320, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1673:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 4319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1665:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4316, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "1649:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8690, - "src": "1649:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1649:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4315, - "id": 4323, - "nodeType": "Return", - "src": "1642:37:7" - } - ] - }, - "documentation": null, - "functionSelector": "6ede8332", - "id": 4325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "heldTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4312, - "nodeType": "ParameterList", - "parameters": [], - "src": "1599:2:7" - }, - "returnParameters": { - "id": 4315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4314, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4325, - "src": "1623:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1622:9:7" - }, - "scope": 5067, - "src": "1580:106:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4332, - "nodeType": "Block", - "src": "1788:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4330, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "1805:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4329, - "id": 4331, - "nodeType": "Return", - "src": "1798:19:7" - } - ] - }, - "documentation": null, - "functionSelector": "76f7ca6e", - "id": 4333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "futureLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4326, - "nodeType": "ParameterList", - "parameters": [], - "src": "1755:2:7" - }, - "returnParameters": { - "id": 4329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4328, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4333, - "src": "1779:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1778:9:7" - }, - "scope": 5067, - "src": "1728:96:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4345, - "nodeType": "Block", - "src": "1948:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4341, - "name": "futureLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "1982:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1982:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4338, - "name": "heldTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4325, - "src": "1965:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1965:12:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "1965:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1965:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4337, - "id": 4344, - "nodeType": "Return", - "src": "1958:45:7" - } - ] - }, - "documentation": null, - "functionSelector": "69bb4dc2", - "id": 4346, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "availableTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4334, - "nodeType": "ParameterList", - "parameters": [], - "src": "1915:2:7" - }, - "returnParameters": { - "id": 4337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4336, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4346, - "src": "1939:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1938:9:7" - }, - "scope": 5067, - "src": "1891:119:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4538, - "nodeType": "Block", - "src": "2103:1947:7", - "statements": [ - { - "assignments": [ - 4356 - ], - "declarations": [ - { - "constant": false, - "id": 4356, - "name": "time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "2114:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4359, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4357, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2129:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2129:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2114:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4361, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2213:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2203:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2195:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2195:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4365, - "nodeType": "ExpressionStatement", - "src": "2195:20:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4367, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2282:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4369, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2300:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4371, - "indexExpression": { - "argumentTypes": null, - "id": 4370, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2309:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2300:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "2300:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2282:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4366, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2274:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2274:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4375, - "nodeType": "ExpressionStatement", - "src": "2274:56:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4376, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2396:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4378, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2414:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4380, - "indexExpression": { - "argumentTypes": null, - "id": 4379, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2423:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2414:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "2414:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2396:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4391, - "nodeType": "IfStatement", - "src": "2393:116:7", - "trueBody": { - "id": 4390, - "nodeType": "Block", - "src": "2446:63:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4383, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "2460:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4384, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2467:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4386, - "indexExpression": { - "argumentTypes": null, - "id": 4385, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2476:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2467:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "2467:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4389, - "nodeType": "ExpressionStatement", - "src": "2460:38:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4393, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2588:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4395, - "indexExpression": { - "argumentTypes": null, - "id": 4394, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2597:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2588:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4280, - "src": "2588:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4397, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2628:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4399, - "indexExpression": { - "argumentTypes": null, - "id": 4398, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2637:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2628:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4400, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "2628:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4401, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2666:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2628:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4403, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2627:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2588:86:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2580:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2580:95:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4406, - "nodeType": "ExpressionStatement", - "src": "2580:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4408, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4409, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4411, - "indexExpression": { - "argumentTypes": null, - "id": 4410, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2773:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2764:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4282, - "src": "2764:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2753:56:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4407, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2745:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4415, - "nodeType": "ExpressionStatement", - "src": "2745:65:7" - }, - { - "assignments": [ - 4417 - ], - "declarations": [ - { - "constant": false, - "id": 4417, - "name": "futureAPRAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "2829:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4430, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4419, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2868:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4421, - "indexExpression": { - "argumentTypes": null, - "id": 4420, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2877:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2868:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "2868:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4423, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "2895:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4424, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2901:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4426, - "indexExpression": { - "argumentTypes": null, - "id": 4425, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2910:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2901:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "2901:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4428, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2932:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4418, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "2855:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2855:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2829:111:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4432, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "3036:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3036:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4434, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4417, - "src": "3057:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3036:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3028:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3028:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4437, - "nodeType": "ExpressionStatement", - "src": "3028:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4441, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3169:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3169:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4445, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3189:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4447, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3196:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4439, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "3150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8784, - "src": "3150:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 4448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3150:54:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4438, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3142:63:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4450, - "nodeType": "ExpressionStatement", - "src": "3142:63:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4451, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4456, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4417, - "src": "3294:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4454, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3282:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "3282:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3282:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4452, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3265:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "3265:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3265:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3250:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4460, - "nodeType": "ExpressionStatement", - "src": "3250:61:7" - }, - { - "assignments": [ - 4462 - ], - "declarations": [ - { - "constant": false, - "id": 4462, - "name": "subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "3322:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4464, - "initialValue": { - "argumentTypes": null, - "id": 4463, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3322:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4465, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3369:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4466, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3397:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3383:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3369:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4470, - "nodeType": "ExpressionStatement", - "src": "3369:29:7" - }, - { - "assignments": [ - 4472 - ], - "declarations": [ - { - "constant": false, - "id": 4472, - "name": "subscriptionAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "3453:38:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4471, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "3453:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4491, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4474, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3510:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4475, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3527:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4476, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "3540:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4477, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3546:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4479, - "indexExpression": { - "argumentTypes": null, - "id": 4478, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3555:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3546:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "3546:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4481, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3595:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3595:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4484, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3607:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4486, - "indexExpression": { - "argumentTypes": null, - "id": 4485, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3616:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3607:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "3607:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "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_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4473, - "name": "SubscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4272, - "src": "3494:15:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SubscriptionAPR_$4272_storage_ptr_$", - "typeString": "type(struct StakingContract.SubscriptionAPR storage pointer)" - } - }, - "id": 4490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3494:149:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3453:190:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4497, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3725:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4492, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3692:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4495, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4493, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3708:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3708:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3692:27:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3692:32:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3692:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4499, - "nodeType": "ExpressionStatement", - "src": "3692:49:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4505, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3794:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4500, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4502, - "indexExpression": { - "argumentTypes": null, - "id": 4501, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3760:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3751:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 4294, - "src": "3751:37:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3751:42:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4507, - "nodeType": "ExpressionStatement", - "src": "3751:59:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4508, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3820:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4510, - "indexExpression": { - "argumentTypes": null, - "id": 4509, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3829:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3820:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "3820:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4513, - "indexExpression": { - "argumentTypes": null, - "id": 4512, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3856:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3820:52:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4514, - "name": "subscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4472, - "src": "3875:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "src": "3820:70:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4516, - "nodeType": "ExpressionStatement", - "src": "3820:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4517, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3900:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4519, - "indexExpression": { - "argumentTypes": null, - "id": 4518, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3909:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3900:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "3900:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4521, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3938:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4523, - "indexExpression": { - "argumentTypes": null, - "id": 4522, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3947:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "3938:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4525, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3976:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3900:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4528, - "nodeType": "ExpressionStatement", - "src": "3900:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4534, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4032:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4032:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4529, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3993:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4531, - "indexExpression": { - "argumentTypes": null, - "id": 4530, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "4002:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3993:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4291, - "src": "3993:33:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3993:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4537, - "nodeType": "ExpressionStatement", - "src": "3993:50:7" - } - ] - }, - "documentation": null, - "functionSelector": "21090380", - "id": 4539, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4353, - "modifierName": { - "argumentTypes": null, - "id": 4352, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "2089:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2089:13:7" - } - ], - "name": "subscribeProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4348, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "2042:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4350, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "2063:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2063:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:38:7" - }, - "returnParameters": { - "id": 4354, - "nodeType": "ParameterList", - "parameters": [], - "src": "2103:0:7" - }, - "scope": 5067, - "src": "2016:2034:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4649, - "nodeType": "Block", - "src": "4254:847:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4559, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4301:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4301:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4561, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4319:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4301:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4558, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4293:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4293:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4564, - "nodeType": "ExpressionStatement", - "src": "4293:35:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4566, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4346:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4568, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4365:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4346:29:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4565, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4338:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4338:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4571, - "nodeType": "ExpressionStatement", - "src": "4338:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4573, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4394:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4574, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4407:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4394:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4386:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4386:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4577, - "nodeType": "ExpressionStatement", - "src": "4386:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4579, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4434:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4452:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4434:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4578, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4426:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4426:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4583, - "nodeType": "ExpressionStatement", - "src": "4426:28:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4585, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4472:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4499:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4472:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4464:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4464:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4589, - "nodeType": "ExpressionStatement", - "src": "4464:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4591, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4519:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4592, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4537:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4519:42:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4511:51:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4595, - "nodeType": "ExpressionStatement", - "src": "4511:51:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4597, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4549, - "src": "4580:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4587:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4580:8:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4596, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4572:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4601, - "nodeType": "ExpressionStatement", - "src": "4572:17:7" - }, - { - "assignments": [ - 4606 - ], - "declarations": [ - { - "constant": false, - "id": 4606, - "name": "addressesI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4600:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4605, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4607, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4600:27:7" - }, - { - "assignments": [ - 4612 - ], - "declarations": [ - { - "constant": false, - "id": 4612, - "name": "subscriptionsI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4637:31:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4611, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4637:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4613, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4637:31:7" - }, - { - "assignments": [ - 4615 - ], - "declarations": [ - { - "constant": false, - "id": 4615, - "name": "productAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4726:28:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4614, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "4726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4617, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4768:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4768:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4619, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4785:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4620, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4797:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4621, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4807:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4622, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4824:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4623, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4549, - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4856:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 4625, - "name": "_lockedUntilFinalization", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4551, - "src": "4859:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4626, - "name": "addressesI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4606, - "src": "4897:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 4627, - "name": "subscriptionsI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4612, - "src": "4909:14:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 4616, - "name": "ProductAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "4757:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProductAPR_$4299_storage_ptr_$", - "typeString": "type(struct StakingContract.ProductAPR storage pointer)" - } - }, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:167:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4726:198:7" - }, - { - "assignments": [ - 4631 - ], - "declarations": [ - { - "constant": false, - "id": 4631, - "name": "product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4935:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4935:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4636, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4632, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "4956:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4956:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4976:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4956:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4935:42:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4640, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "5040:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4637, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "5024:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5024:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5024:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4642, - "nodeType": "ExpressionStatement", - "src": "5024:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4643, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5061:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4645, - "indexExpression": { - "argumentTypes": null, - "id": 4644, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "5070:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5061:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4646, - "name": "productAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4615, - "src": "5084:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "src": "5061:33:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4648, - "nodeType": "ExpressionStatement", - "src": "5061:33:7" - } - ] - }, - "documentation": null, - "functionSelector": "2c6131cb", - "id": 4650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4554, - "modifierName": { - "argumentTypes": null, - "id": 4553, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "4230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:13:7" - }, - { - "arguments": null, - "id": 4556, - "modifierName": { - "argumentTypes": null, - "id": 4555, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "4244:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4244:9:7" - } - ], - "name": "createProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4541, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4079:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4543, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4099:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4545, - "name": "_totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4117:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4117:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4547, - "name": "_individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4142:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4549, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4176:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4176:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4551, - "name": "_lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4190:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4550, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4190:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4078:142:7" - }, - "returnParameters": { - "id": 4557, - "nodeType": "ParameterList", - "parameters": [], - "src": "4254:0:7" - }, - "scope": 5067, - "src": "4056:1045:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4682, - "nodeType": "Block", - "src": "5228:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 4678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5310:3:7", - "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, - "id": 4676, - "name": "year", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "5301:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5301:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5301:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4672, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4658, - "src": "5287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4669, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4652, - "src": "5277:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4665, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4654, - "src": "5260:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4663, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4656, - "src": "5247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "5247:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5247:24:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4667, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5246:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5246:30:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5246:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5246:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5246:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4674, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8503, - "src": "5245:55:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5245:70:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4662, - "id": 4681, - "nodeType": "Return", - "src": "5238:77:7" - } - ] - }, - "documentation": null, - "functionSelector": "7e6288f1", - "id": 4683, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAPRAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4652, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5130:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4654, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5144:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5144:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4656, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5164:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5164:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4658, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5182:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5129:69:7" - }, - "returnParameters": { - "id": 4662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4661, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5218:9:7" - }, - "scope": 5067, - "src": "5108:214:7", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4691, - "nodeType": "Block", - "src": "5391:34:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4689, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "5408:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4688, - "id": 4690, - "nodeType": "Return", - "src": "5401:17:7" - } - ] - }, - "documentation": null, - "functionSelector": "47428e7b", - "id": 4692, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProductIds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4684, - "nodeType": "ParameterList", - "parameters": [], - "src": "5350:2:7" - }, - "returnParameters": { - "id": 4688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4687, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4692, - "src": "5373:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4686, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5373:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5372:18:7" - }, - "scope": 5067, - "src": "5328:97:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4704, - "nodeType": "Block", - "src": "5515:49:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4700, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "5532:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4702, - "indexExpression": { - "argumentTypes": null, - "id": 4701, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "5548:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5532:25:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4699, - "id": 4703, - "nodeType": "Return", - "src": "5525:32:7" - } - ] - }, - "documentation": null, - "functionSelector": "130d8945", - "id": 4705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMySubscriptions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4694, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4705, - "src": "5459:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5459:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5458:18:7" - }, - "returnParameters": { - "id": 4699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4698, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4705, - "src": "5497:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5497:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4697, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5497:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5496:18:7" - }, - "scope": 5067, - "src": "5431:133:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4914, - "nodeType": "Block", - "src": "5670:2409:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4715, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5726:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4717, - "indexExpression": { - "argumentTypes": null, - "id": 4716, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "5735:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "5726:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5759:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5726:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f64756374206861732065787069726564", - "id": 4721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5762:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b7683b559c4ebf900902aa01eb28d68b2d467ea6369d1c86046fda73d718d508", - "typeString": "literal_string \"Product has expired\"" - }, - "value": "Product has expired" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b7683b559c4ebf900902aa01eb28d68b2d467ea6369d1c86046fda73d718d508", - "typeString": "literal_string \"Product has expired\"" - } - ], - "id": 4714, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5718:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5718:66:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4723, - "nodeType": "ExpressionStatement", - "src": "5718:66:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4725, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5845:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4727, - "indexExpression": { - "argumentTypes": null, - "id": 4726, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "5854:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5845:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "5845:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4730, - "indexExpression": { - "argumentTypes": null, - "id": 4729, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "5881:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5845:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "5845:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5845:66:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f6475637420646f6573206e6f74206578697374", - "id": 4734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5913:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_024c62f1b19c7769a4597e49b2c712fccb7b90866e80d0db4592b32e89de4592", - "typeString": "literal_string \"Product does not exist\"" - }, - "value": "Product does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_024c62f1b19c7769a4597e49b2c712fccb7b90866e80d0db4592b32e89de4592", - "typeString": "literal_string \"Product does not exist\"" - } - ], - "id": 4724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5837:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5837:101:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4736, - "nodeType": "ExpressionStatement", - "src": "5837:101:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4738, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6009:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4740, - "indexExpression": { - "argumentTypes": null, - "id": 4739, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6018:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6009:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6009:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4743, - "indexExpression": { - "argumentTypes": null, - "id": 4742, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6045:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6009:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "6009:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6009:72:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "537562736372697074696f6e207761732066696e616c697a656420616c7265616479", - "id": 4747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6083:36:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5d127c89e63e4861e1864abe3b21cfe02a6923e8f465c20a654f53eafa867900", - "typeString": "literal_string \"Subscription was finalized already\"" - }, - "value": "Subscription was finalized already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5d127c89e63e4861e1864abe3b21cfe02a6923e8f465c20a654f53eafa867900", - "typeString": "literal_string \"Subscription was finalized already\"" - } - ], - "id": 4737, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6001:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:119:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4749, - "nodeType": "ExpressionStatement", - "src": "6001:119:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4751, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6187:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4753, - "indexExpression": { - "argumentTypes": null, - "id": 4752, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6196:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6187:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6187:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4756, - "indexExpression": { - "argumentTypes": null, - "id": 4755, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6223:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6187:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "6187:71:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4758, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6187:85:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f742074686520737562736372697074696f6e206f776e6572", - "id": 4761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6274:28:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_918c615f622db7cacd43e4e7fe08ba8992c6f628a67e0471976d213508b48043", - "typeString": "literal_string \"Not the subscription owner\"" - }, - "value": "Not the subscription owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_918c615f622db7cacd43e4e7fe08ba8992c6f628a67e0471976d213508b48043", - "typeString": "literal_string \"Not the subscription owner\"" - } - ], - "id": 4750, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6179:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6179:124:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4763, - "nodeType": "ExpressionStatement", - "src": "6179:124:7" - }, - { - "assignments": [ - 4765 - ], - "declarations": [ - { - "constant": false, - "id": 4765, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "6314:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4764, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "6314:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4772, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4766, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6352:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4768, - "indexExpression": { - "argumentTypes": null, - "id": 4767, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6361:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6352:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6352:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4771, - "indexExpression": { - "argumentTypes": null, - "id": 4770, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6388:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6352:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6314:91:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4774, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6476:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6476:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4776, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "6494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "6494:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6476:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f772069732062656c6f77207468652073746172742064617465", - "id": 4779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6518:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_60fd07d3975e8d9d36f76156a5b5bcda3cec0d32a9f66594d8f93c30bec52d84", - "typeString": "literal_string \"Now is below the start date\"" - }, - "value": "Now is below the start date" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_60fd07d3975e8d9d36f76156a5b5bcda3cec0d32a9f66594d8f93c30bec52d84", - "typeString": "literal_string \"Now is below the start date\"" - } - ], - "id": 4773, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6468:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6468:80:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4781, - "nodeType": "ExpressionStatement", - "src": "6468:80:7" - }, - { - "assignments": [ - 4783 - ], - "declarations": [ - { - "constant": false, - "id": 4783, - "name": "finishDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "6598:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4786, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4784, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6619:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6619:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:36:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4787, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6700:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4789, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6719:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4791, - "indexExpression": { - "argumentTypes": null, - "id": 4790, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6728:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6719:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4792, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "6719:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6700:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4812, - "nodeType": "Block", - "src": "6820:197:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4803, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6909:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4805, - "indexExpression": { - "argumentTypes": null, - "id": 4804, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6918:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6909:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 4288, - "src": "6909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6958:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6909:54:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f647563742068617320746f20636c6f736520746f2062652077697468647261776e6564", - "id": 4809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6965:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_417bd6d373a9241e736cd0e161a9c4adf63f43b65f747c1f24a19b109ca445b5", - "typeString": "literal_string \"Product has to close to be withdrawned\"" - }, - "value": "Product has to close to be withdrawned" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_417bd6d373a9241e736cd0e161a9c4adf63f43b65f747c1f24a19b109ca445b5", - "typeString": "literal_string \"Product has to close to be withdrawned\"" - } - ], - "id": 4802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6901:105:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4811, - "nodeType": "ExpressionStatement", - "src": "6901:105:7" - } - ] - }, - "id": 4813, - "nodeType": "IfStatement", - "src": "6697:320:7", - "trueBody": { - "id": 4801, - "nodeType": "Block", - "src": "6749:67:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4794, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "6763:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4795, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4797, - "indexExpression": { - "argumentTypes": null, - "id": 4796, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6785:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6776:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "6776:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6763:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4800, - "nodeType": "ExpressionStatement", - "src": "6763:42:7" - } - ] - } - }, - { - "assignments": [ - 4815 - ], - "declarations": [ - { - "constant": false, - "id": 4815, - "name": "APRedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7027:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7027:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4825, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4817, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7062:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "7062:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4819, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7080:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "7080:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4821, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "7104:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4822, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7116:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7116:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4816, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "7049:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7049:87:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7027:109:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4827, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "7154:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7168:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7154:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "41505220616d6f756e742068617320746f20626520626967676572207468616e2030", - "id": 4830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7171:36:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d12dfd3340cc38018c2b8060f6c186a2c440c10be71a78604d1963e619617e97", - "typeString": "literal_string \"APR amount has to be bigger than 0\"" - }, - "value": "APR amount has to be bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d12dfd3340cc38018c2b8060f6c186a2c440c10be71a78604d1963e619617e97", - "typeString": "literal_string \"APR amount has to be bigger than 0\"" - } - ], - "id": 4826, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7146:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:62:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4832, - "nodeType": "ExpressionStatement", - "src": "7146:62:7" - }, - { - "assignments": [ - 4834 - ], - "declarations": [ - { - "constant": false, - "id": 4834, - "name": "totalAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7218:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7218:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4840, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4838, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "7264:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4835, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7240:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4836, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7240:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "7240:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7240:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7218:58:7" - }, - { - "assignments": [ - 4842 - ], - "declarations": [ - { - "constant": false, - "id": 4842, - "name": "totalAmountWithFullAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7286:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7286:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4859, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4847, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7356:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "7356:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4849, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7374:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "7374:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4851, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7398:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4853, - "indexExpression": { - "argumentTypes": null, - "id": 4852, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7407:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "7398:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4855, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7429:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7429:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4846, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "7343:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7343:106:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4843, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7319:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7319:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "7319:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:131:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7286:164:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4861, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7468:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7482:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7468:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c20416d6f756e742068617320746f20626520626967676572207468616e2030", - "id": 4864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7485:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d0f309b3d5dcf3af4fc79710e0af06ffc9eb36d00d7541f66dd2749de03e1082", - "typeString": "literal_string \"Total Amount has to be bigger than 0\"" - }, - "value": "Total Amount has to be bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d0f309b3d5dcf3af4fc79710e0af06ffc9eb36d00d7541f66dd2749de03e1082", - "typeString": "literal_string \"Total Amount has to be bigger than 0\"" - } - ], - "id": 4860, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7460:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7460:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4866, - "nodeType": "ExpressionStatement", - "src": "7460:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4867, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7569:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4869, - "indexExpression": { - "argumentTypes": null, - "id": 4868, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7578:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7569:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7569:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4872, - "indexExpression": { - "argumentTypes": null, - "id": 4871, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7605:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7569:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "7569:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7635:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7569:70:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4876, - "nodeType": "ExpressionStatement", - "src": "7569:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4877, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7649:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4879, - "indexExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7658:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7649:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7649:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4882, - "indexExpression": { - "argumentTypes": null, - "id": 4881, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7685:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7649:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "7649:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4884, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "7713:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:74:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4886, - "nodeType": "ExpressionStatement", - "src": "7649:74:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4887, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7733:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4889, - "indexExpression": { - "argumentTypes": null, - "id": 4888, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7742:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7733:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7733:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4892, - "indexExpression": { - "argumentTypes": null, - "id": 4891, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7769:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7733:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4893, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4271, - "src": "7733:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4894, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7804:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7733:82:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4896, - "nodeType": "ExpressionStatement", - "src": "7733:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4900, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7904:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4901, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "7904:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4902, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7936:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4898, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "7889:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8710, - "src": "7889:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7889:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e7366657220686173206661696c6564", - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7950:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bb8b4b98786b0356f74e0334a1ffb0025fa9cd2a6c2cba75a638805536b8d16f", - "typeString": "literal_string \"Transfer has failed\"" - }, - "value": "Transfer has failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bb8b4b98786b0356f74e0334a1ffb0025fa9cd2a6c2cba75a638805536b8d16f", - "typeString": "literal_string \"Transfer has failed\"" - } - ], - "id": 4897, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7881:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7881:91:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4906, - "nodeType": "ExpressionStatement", - "src": "7881:91:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4907, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "8017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4910, - "name": "totalAmountWithFullAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "8049:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4908, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "8032:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "8032:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8032:40:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8017:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4913, - "nodeType": "ExpressionStatement", - "src": "8017:55:7" - } - ] - }, - "documentation": null, - "functionSelector": "0ea52b6c", - "id": 4915, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4712, - "modifierName": { - "argumentTypes": null, - "id": 4711, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "5656:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5656:13:7" - } - ], - "name": "withdrawSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4707, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4915, - "src": "5600:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4709, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4915, - "src": "5621:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:47:7" - }, - "returnParameters": { - "id": 4713, - "nodeType": "ParameterList", - "parameters": [], - "src": "5670:0:7" - }, - "scope": 5067, - "src": "5570:2509:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4969, - "nodeType": "Block", - "src": "8260:352:7", - "statements": [ - { - "assignments": [ - 4941 - ], - "declarations": [ - { - "constant": false, - "id": 4941, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4969, - "src": "8271:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4940, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "8271:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4942, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "8309:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4944, - "indexExpression": { - "argumentTypes": null, - "id": 4943, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8318:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8309:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "8309:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "id": 4946, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4917, - "src": "8345:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8309:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8271:91:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8381:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4255, - "src": "8381:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4951, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "productId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4257, - "src": "8399:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4953, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8423:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "8423:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8447:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "8447:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4957, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8482:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "8482:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4959, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8503:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "8503:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4961, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8535:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "8535:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8553:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "8553:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8577:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4271, - "src": "8577:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4967, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8380:225:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,address,uint256,bool,uint256)" - } - }, - "functionReturnParameters": 4939, - "id": 4968, - "nodeType": "Return", - "src": "8373:232:7" - } - ] - }, - "documentation": null, - "functionSelector": "a461efb9", - "id": 4970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4917, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8113:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4919, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8139:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8112:47:7" - }, - "returnParameters": { - "id": 4939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4922, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8183:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8183:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4924, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8192:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8192:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4926, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8201:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8201:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4928, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8210:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4930, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4932, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8228:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8228:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4934, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8237:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4936, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8246:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4935, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8246:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4938, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8252:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8252:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8182:78:7" - }, - "scope": 5067, - "src": "8088:524:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5025, - "nodeType": "Block", - "src": "8790:346:7", - "statements": [ - { - "assignments": [ - 4998 - ], - "declarations": [ - { - "constant": false, - "id": 4998, - "name": "product", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5025, - "src": "8801:25:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4997, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "8801:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5002, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4999, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "8829:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 5001, - "indexExpression": { - "argumentTypes": null, - "id": 5000, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "8838:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8829:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8801:49:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5003, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 4274, - "src": "8869:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8888:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "8888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5007, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "8907:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5009, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4280, - "src": "8924:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5011, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8961:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4282, - "src": "8961:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5013, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8994:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "8994:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9007:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5016, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "9007:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5017, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9030:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 4288, - "src": "9030:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4291, - "src": "9075:19:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5021, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 4294, - "src": "9096:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 5023, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8868:261:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,bool,address[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 4996, - "id": 5024, - "nodeType": "Return", - "src": "8861:268:7" - } - ] - }, - "documentation": null, - "functionSelector": "b9db15b4", - "id": 5026, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4972, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8642:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8642:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8641:21:7" - }, - "returnParameters": { - "id": 4996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4975, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8686:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4974, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8686:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4977, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8695:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8695:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8704:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4981, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8713:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8713:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4983, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8722:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4985, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8731:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8731:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4987, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8740:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4989, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8749:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4988, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8749:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4992, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8755:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8755:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4991, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8755:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4995, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8773:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4994, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8773:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8685:105:7" - }, - "scope": 5067, - "src": "8622:514:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5049, - "nodeType": "Block", - "src": "9223:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5038, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5028, - "src": "9317:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5043, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9351:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 5042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5041, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9343:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5039, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9327:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8690, - "src": "9327:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9327:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5036, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9302:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8710, - "src": "9302:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9302:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5035, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9294:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9294:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5048, - "nodeType": "ExpressionStatement", - "src": "9294:65:7" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 5050, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5031, - "modifierName": { - "argumentTypes": null, - "id": 5030, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "9201:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9201:9:7" - }, - { - "arguments": null, - "id": 5033, - "modifierName": { - "argumentTypes": null, - "id": 5032, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11603, - "src": "9211:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9211:10:7" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5028, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5050, - "src": "9174:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9174:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9173:18:7" - }, - "returnParameters": { - "id": 5034, - "nodeType": "ParameterList", - "parameters": [], - "src": "9223:0:7" - }, - "scope": 5067, - "src": "9146:220:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5065, - "nodeType": "Block", - "src": "9454:115:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5059, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9534:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5061, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5052, - "src": "9548:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5060, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9078, - "src": "9542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9078_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 5062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9542:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "src": "9534:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5064, - "nodeType": "ExpressionStatement", - "src": "9534:28:7" - } - ] - }, - "documentation": null, - "functionSelector": "c9cda91f", - "id": 5066, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5055, - "modifierName": { - "argumentTypes": null, - "id": 5054, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "9432:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9432:9:7" - }, - { - "arguments": null, - "id": 5057, - "modifierName": { - "argumentTypes": null, - "id": 5056, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11603, - "src": "9442:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9442:10:7" - } - ], - "name": "changeTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5052, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5066, - "src": "9400:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9400:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9399:23:7" - }, - "returnParameters": { - "id": 5058, - "nodeType": "ParameterList", - "parameters": [], - "src": "9454:0:7" - }, - "scope": 5067, - "src": "9372:197:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5068, - "src": "199:9372:7" - } - ], - "src": "33:9538:7" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/StakingContract.sol", - "exportedSymbols": { - "StakingContract": [ - 5067 - ] - }, - "id": 5068, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4220, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:24:7" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 4221, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 9079, - "src": "59:55:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 4222, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 11635, - "src": "115:52:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 4223, - "nodeType": "ImportDirective", - "scope": 5068, - "sourceUnit": 8191, - "src": "168:29:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4224, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11634, - "src": "227:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11634", - "typeString": "contract Pausable" - } - }, - "id": 4225, - "nodeType": "InheritanceSpecifier", - "src": "227:8:7" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4226, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8190, - "src": "237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8190", - "typeString": "contract Ownable" - } - }, - "id": 4227, - "nodeType": "InheritanceSpecifier", - "src": "237:7:7" - } - ], - "contractDependencies": [ - 8190, - 10537, - 11634 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5067, - "linearizedBaseContracts": [ - 5067, - 8190, - 11634, - 10537 - ], - "name": "StakingContract", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4230, - "libraryName": { - "contractScope": null, - "id": 4228, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8594, - "src": "257:8:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8594", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "251:27:7", - "typeName": { - "id": 4229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "270:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "7acc0b20", - "id": 4234, - "name": "products", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "284:46:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "typeName": { - "id": 4233, - "keyType": { - "id": 4231, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "292:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "284:30:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR)" - }, - "valueType": { - "contractScope": null, - "id": 4232, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "303:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "cb51bba9", - "id": 4237, - "name": "productIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "361:27:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "361:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4236, - "length": null, - "nodeType": "ArrayTypeName", - "src": "361:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "b6ee04fa", - "id": 4242, - "name": "mySubscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "421:52:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 4241, - "keyType": { - "id": 4238, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "429:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "421:29:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 4239, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "440:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4240, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 4245, - "name": "incrementId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "512:23:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "512:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4244, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "534:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 4248, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "541:24:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4246, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "541:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 4247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "564:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 4251, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "572:40:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4249, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 4250, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "604:8:7", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "785e9e86", - "id": 4253, - "name": "erc20", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5067, - "src": "623:18:7", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4252, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9078, - "src": "623:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "StakingContract.SubscriptionAPR", - "id": 4272, - "members": [ - { - "constant": false, - "id": 4255, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "681:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "681:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4257, - "name": "productId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "702:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4256, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "702:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4259, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "729:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4261, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "756:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4260, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "756:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4263, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "781:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4262, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "781:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4265, - "name": "subscriberAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "805:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4264, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "805:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4267, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "840:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4266, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "840:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4269, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "888:14:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4268, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "888:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4271, - "name": "withdrawAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4272, - "src": "912:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "912:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "SubscriptionAPR", - "nodeType": "StructDefinition", - "scope": 5067, - "src": "648:293:7", - "visibility": "public" - }, - { - "canonicalName": "StakingContract.ProductAPR", - "id": 4299, - "members": [ - { - "constant": false, - "id": 4274, - "name": "createdAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "975:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4273, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "975:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4276, - "name": "startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1002:17:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4275, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1002:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4278, - "name": "endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1029:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4277, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1029:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4280, - "name": "totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1054:22:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4279, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1054:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4282, - "name": "individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1086:31:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4281, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1086:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4284, - "name": "APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1127:11:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4286, - "name": "currentAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1175:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1175:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4288, - "name": "lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1206:28:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4287, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1206:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4291, - "name": "subscribers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1295:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4289, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1295:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4290, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1295:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4294, - "name": "subscriptionIds", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1326:25:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1326:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4293, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1326:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4298, - "name": "subscriptions", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4299, - "src": "1361:49:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "typeName": { - "id": 4297, - "keyType": { - "id": 4295, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1369:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1361:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR)" - }, - "valueType": { - "contractScope": null, - "id": 4296, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "1380:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "ProductAPR", - "nodeType": "StructDefinition", - "scope": 5067, - "src": "947:496:7", - "visibility": "public" - }, - { - "body": { - "id": 4310, - "nodeType": "Block", - "src": "1495:45:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4304, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "1505:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4306, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4301, - "src": "1519:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4305, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9078, - "src": "1513:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9078_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1513:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "src": "1505:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4309, - "nodeType": "ExpressionStatement", - "src": "1505:28:7" - } - ] - }, - "documentation": null, - "id": 4311, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4302, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4301, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4311, - "src": "1465:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1465:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1464:23:7" - }, - "returnParameters": { - "id": 4303, - "nodeType": "ParameterList", - "parameters": [], - "src": "1495:0:7" - }, - "scope": 5067, - "src": "1453:87:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4324, - "nodeType": "Block", - "src": "1632:54:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4320, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "1673:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 4319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4318, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1665:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4321, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1665:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 4316, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "1649:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4317, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8690, - "src": "1649:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 4322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1649:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4315, - "id": 4323, - "nodeType": "Return", - "src": "1642:37:7" - } - ] - }, - "documentation": null, - "functionSelector": "6ede8332", - "id": 4325, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "heldTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4312, - "nodeType": "ParameterList", - "parameters": [], - "src": "1599:2:7" - }, - "returnParameters": { - "id": 4315, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4314, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4325, - "src": "1623:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4313, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1623:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1622:9:7" - }, - "scope": 5067, - "src": "1580:106:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4332, - "nodeType": "Block", - "src": "1788:36:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4330, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "1805:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4329, - "id": 4331, - "nodeType": "Return", - "src": "1798:19:7" - } - ] - }, - "documentation": null, - "functionSelector": "76f7ca6e", - "id": 4333, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "futureLockedTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4326, - "nodeType": "ParameterList", - "parameters": [], - "src": "1755:2:7" - }, - "returnParameters": { - "id": 4329, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4328, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4333, - "src": "1779:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1779:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1778:9:7" - }, - "scope": 5067, - "src": "1728:96:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4345, - "nodeType": "Block", - "src": "1948:62:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4341, - "name": "futureLockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4333, - "src": "1982:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4342, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1982:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4338, - "name": "heldTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4325, - "src": "1965:10:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1965:12:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "1965:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1965:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4337, - "id": 4344, - "nodeType": "Return", - "src": "1958:45:7" - } - ] - }, - "documentation": null, - "functionSelector": "69bb4dc2", - "id": 4346, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "availableTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4334, - "nodeType": "ParameterList", - "parameters": [], - "src": "1915:2:7" - }, - "returnParameters": { - "id": 4337, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4336, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4346, - "src": "1939:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1939:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1938:9:7" - }, - "scope": 5067, - "src": "1891:119:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4538, - "nodeType": "Block", - "src": "2103:1947:7", - "statements": [ - { - "assignments": [ - 4356 - ], - "declarations": [ - { - "constant": false, - "id": 4356, - "name": "time", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "2114:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2114:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4359, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4357, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2129:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2129:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2114:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4361, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2203:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4362, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2213:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2203:11:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4360, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2195:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2195:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4365, - "nodeType": "ExpressionStatement", - "src": "2195:20:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4367, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2282:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2282:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4369, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2300:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4371, - "indexExpression": { - "argumentTypes": null, - "id": 4370, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2309:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2300:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4372, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "2300:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2282:47:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4366, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2274:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2274:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4375, - "nodeType": "ExpressionStatement", - "src": "2274:56:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4382, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4376, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "2396:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2396:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4378, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2414:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4380, - "indexExpression": { - "argumentTypes": null, - "id": 4379, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2423:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2414:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4381, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "2414:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2396:49:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 4391, - "nodeType": "IfStatement", - "src": "2393:116:7", - "trueBody": { - "id": 4390, - "nodeType": "Block", - "src": "2446:63:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4388, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4383, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "2460:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4384, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2467:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4386, - "indexExpression": { - "argumentTypes": null, - "id": 4385, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2476:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2467:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "2467:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2460:38:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4389, - "nodeType": "ExpressionStatement", - "src": "2460:38:7" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4404, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4393, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2588:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4395, - "indexExpression": { - "argumentTypes": null, - "id": 4394, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2597:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2588:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4396, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4280, - "src": "2588:36:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4402, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4397, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2628:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4399, - "indexExpression": { - "argumentTypes": null, - "id": 4398, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2637:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2628:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4400, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "2628:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4401, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2666:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2628:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4403, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2627:47:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2588:86:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4392, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2580:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2580:95:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4406, - "nodeType": "ExpressionStatement", - "src": "2580:95:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4408, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2753:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4409, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2764:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4411, - "indexExpression": { - "argumentTypes": null, - "id": 4410, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2773:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2764:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4282, - "src": "2764:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2753:56:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4407, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2745:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2745:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4415, - "nodeType": "ExpressionStatement", - "src": "2745:65:7" - }, - { - "assignments": [ - 4417 - ], - "declarations": [ - { - "constant": false, - "id": 4417, - "name": "futureAPRAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "2829:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2829:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4430, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4419, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2868:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4421, - "indexExpression": { - "argumentTypes": null, - "id": 4420, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2877:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2868:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4422, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "2868:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4423, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "2895:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4424, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "2901:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4426, - "indexExpression": { - "argumentTypes": null, - "id": 4425, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "2910:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2901:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4427, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "2901:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4428, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "2932:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4418, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "2855:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2855:85:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2829:111:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 4432, - "name": "availableTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4346, - "src": "3036:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 4433, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3036:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 4434, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4417, - "src": "3057:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3036:36:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4431, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3028:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3028:45:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4437, - "nodeType": "ExpressionStatement", - "src": "3028:45:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4441, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3169:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3169:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4445, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3189:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 4444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4443, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3181:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4446, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3181:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4447, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3196:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4439, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "3150:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4440, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 8784, - "src": "3150:18:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 4448, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3150:54:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4438, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3142:63:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4450, - "nodeType": "ExpressionStatement", - "src": "3142:63:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4459, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4451, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3250:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4456, - "name": "futureAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4417, - "src": "3294:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4454, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3282:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "3282:11:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4457, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3282:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4452, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "3265:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "3265:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3265:46:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3250:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4460, - "nodeType": "ExpressionStatement", - "src": "3250:61:7" - }, - { - "assignments": [ - 4462 - ], - "declarations": [ - { - "constant": false, - "id": 4462, - "name": "subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "3322:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4461, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3322:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4464, - "initialValue": { - "argumentTypes": null, - "id": 4463, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3348:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3322:37:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4465, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3369:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4466, - "name": "incrementId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4245, - "src": "3383:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4467, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3397:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "3383:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3369:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4470, - "nodeType": "ExpressionStatement", - "src": "3369:29:7" - }, - { - "assignments": [ - 4472 - ], - "declarations": [ - { - "constant": false, - "id": 4472, - "name": "subscriptionAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4538, - "src": "3453:38:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4471, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "3453:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4491, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4474, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3510:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4475, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3527:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4476, - "name": "time", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4356, - "src": "3540:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4477, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3546:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4479, - "indexExpression": { - "argumentTypes": null, - "id": 4478, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3555:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3546:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4480, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "3546:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4481, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3577:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4482, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3595:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3595:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4484, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3607:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4486, - "indexExpression": { - "argumentTypes": null, - "id": 4485, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3616:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3607:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "3607:25:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3634:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4489, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "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_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4473, - "name": "SubscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4272, - "src": "3494:15:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_SubscriptionAPR_$4272_storage_ptr_$", - "typeString": "type(struct StakingContract.SubscriptionAPR storage pointer)" - } - }, - "id": 4490, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3494:149:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3453:190:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4497, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3725:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4492, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "3692:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4495, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4493, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3708:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4494, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3708:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3692:27:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3692:32:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4498, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3692:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4499, - "nodeType": "ExpressionStatement", - "src": "3692:49:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4505, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3794:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4500, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3751:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4502, - "indexExpression": { - "argumentTypes": null, - "id": 4501, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3760:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3751:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4503, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 4294, - "src": "3751:37:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3751:42:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3751:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4507, - "nodeType": "ExpressionStatement", - "src": "3751:59:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4508, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3820:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4510, - "indexExpression": { - "argumentTypes": null, - "id": 4509, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3829:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3820:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4511, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "3820:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4513, - "indexExpression": { - "argumentTypes": null, - "id": 4512, - "name": "subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4462, - "src": "3856:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3820:52:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4514, - "name": "subscriptionAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4472, - "src": "3875:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "src": "3820:70:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4516, - "nodeType": "ExpressionStatement", - "src": "3820:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4517, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3900:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4519, - "indexExpression": { - "argumentTypes": null, - "id": 4518, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3909:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3900:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4520, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "3900:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4521, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3938:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4523, - "indexExpression": { - "argumentTypes": null, - "id": 4522, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "3947:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4524, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "3938:35:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 4525, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4350, - "src": "3976:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:45:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3900:83:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4528, - "nodeType": "ExpressionStatement", - "src": "3900:83:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4534, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4032:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4032:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4529, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "3993:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4531, - "indexExpression": { - "argumentTypes": null, - "id": 4530, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4348, - "src": "4002:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3993:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4532, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4291, - "src": "3993:33:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 4533, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:38:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 4536, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3993:50:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4537, - "nodeType": "ExpressionStatement", - "src": "3993:50:7" - } - ] - }, - "documentation": null, - "functionSelector": "21090380", - "id": 4539, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4353, - "modifierName": { - "argumentTypes": null, - "id": 4352, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "2089:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2089:13:7" - } - ], - "name": "subscribeProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4348, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "2042:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2042:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4350, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4539, - "src": "2063:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2063:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2041:38:7" - }, - "returnParameters": { - "id": 4354, - "nodeType": "ParameterList", - "parameters": [], - "src": "2103:0:7" - }, - "scope": 5067, - "src": "2016:2034:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4649, - "nodeType": "Block", - "src": "4254:847:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4562, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4559, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4301:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4301:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4561, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4319:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4301:26:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4558, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4293:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4293:35:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4564, - "nodeType": "ExpressionStatement", - "src": "4293:35:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4566, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4346:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4346:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 4568, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4365:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4346:29:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4565, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4338:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4338:38:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4571, - "nodeType": "ExpressionStatement", - "src": "4338:38:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4575, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4573, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4394:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 4574, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4407:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4394:21:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4572, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4386:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4386:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4577, - "nodeType": "ExpressionStatement", - "src": "4386:30:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4579, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4434:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4452:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4434:19:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4578, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4426:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4426:28:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4583, - "nodeType": "ExpressionStatement", - "src": "4426:28:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4587, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4585, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4472:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4586, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4499:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4472:28:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4584, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4464:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4464:37:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4589, - "nodeType": "ExpressionStatement", - "src": "4464:37:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4591, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4519:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 4592, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4537:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4519:42:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4511:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4511:51:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4595, - "nodeType": "ExpressionStatement", - "src": "4511:51:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4597, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4549, - "src": "4580:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4587:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4580:8:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4596, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4572:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4572:17:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4601, - "nodeType": "ExpressionStatement", - "src": "4572:17:7" - }, - { - "assignments": [ - 4606 - ], - "declarations": [ - { - "constant": false, - "id": 4606, - "name": "addressesI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4600:27:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4605, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4600:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4607, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4600:27:7" - }, - { - "assignments": [ - 4612 - ], - "declarations": [ - { - "constant": false, - "id": 4612, - "name": "subscriptionsI", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4637:31:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4610, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4637:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4611, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4637:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4613, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "4637:31:7" - }, - { - "assignments": [ - 4615 - ], - "declarations": [ - { - "constant": false, - "id": 4615, - "name": "productAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4726:28:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4614, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "4726:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4629, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4617, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "4768:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4768:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4619, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4541, - "src": "4785:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4620, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4543, - "src": "4797:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4621, - "name": "_totalMaxAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4545, - "src": "4807:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4622, - "name": "_individualMinimumAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4547, - "src": "4824:24:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4623, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4549, - "src": "4850:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 4624, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4856:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 4625, - "name": "_lockedUntilFinalization", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4551, - "src": "4859:24:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "id": 4626, - "name": "addressesI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4606, - "src": "4897:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 4627, - "name": "subscriptionsI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4612, - "src": "4909:14:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 4616, - "name": "ProductAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4299, - "src": "4757:10:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ProductAPR_$4299_storage_ptr_$", - "typeString": "type(struct StakingContract.ProductAPR storage pointer)" - } - }, - "id": 4628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4757:167:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4726:198:7" - }, - { - "assignments": [ - 4631 - ], - "declarations": [ - { - "constant": false, - "id": 4631, - "name": "product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4649, - "src": "4935:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4630, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4935:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4636, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4632, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "4956:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4956:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4634, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4976:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "4956:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4935:42:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4640, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "5040:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4637, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "5024:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 4639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5024:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 4641, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5024:27:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4642, - "nodeType": "ExpressionStatement", - "src": "5024:27:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4643, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5061:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4645, - "indexExpression": { - "argumentTypes": null, - "id": 4644, - "name": "product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4631, - "src": "5070:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5061:20:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4646, - "name": "productAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4615, - "src": "5084:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "src": "5061:33:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4648, - "nodeType": "ExpressionStatement", - "src": "5061:33:7" - } - ] - }, - "documentation": null, - "functionSelector": "2c6131cb", - "id": 4650, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4554, - "modifierName": { - "argumentTypes": null, - "id": 4553, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "4230:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4230:13:7" - }, - { - "arguments": null, - "id": 4556, - "modifierName": { - "argumentTypes": null, - "id": 4555, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "4244:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "4244:9:7" - } - ], - "name": "createProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4552, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4541, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4079:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4079:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4543, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4099:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4099:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4545, - "name": "_totalMaxAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4117:23:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4117:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4547, - "name": "_individualMinimumAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4142:32:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4546, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4142:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4549, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4176:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4548, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4176:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4551, - "name": "_lockedUntilFinalization", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4650, - "src": "4190:29:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4550, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4190:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4078:142:7" - }, - "returnParameters": { - "id": 4557, - "nodeType": "ParameterList", - "parameters": [], - "src": "4254:0:7" - }, - "scope": 5067, - "src": "4056:1045:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4682, - "nodeType": "Block", - "src": "5228:94:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 4678, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5310:3:7", - "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, - "id": 4676, - "name": "year", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4251, - "src": "5301:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5301:8:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5301:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4672, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4658, - "src": "5287:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4669, - "name": "_APR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4652, - "src": "5277:4:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4665, - "name": "_startDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4654, - "src": "5260:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4663, - "name": "_endDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4656, - "src": "5247:8:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "5247:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4666, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5247:24:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4667, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5246:26:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5246:30:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5246:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8482, - "src": "5246:40:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4673, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5246:49:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4674, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "5245:51:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8503, - "src": "5245:55:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4680, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5245:70:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4662, - "id": 4681, - "nodeType": "Return", - "src": "5238:77:7" - } - ] - }, - "documentation": null, - "functionSelector": "7e6288f1", - "id": 4683, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getAPRAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4659, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4652, - "name": "_APR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5130:12:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5130:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4654, - "name": "_startDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5144:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4653, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5144:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4656, - "name": "_endDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5164:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4655, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5164:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4658, - "name": "_amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5182:15:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4657, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5182:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5129:69:7" - }, - "returnParameters": { - "id": 4662, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4661, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4683, - "src": "5219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4660, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5218:9:7" - }, - "scope": 5067, - "src": "5108:214:7", - "stateMutability": "pure", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4691, - "nodeType": "Block", - "src": "5391:34:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4689, - "name": "productIds", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4237, - "src": "5408:10:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4688, - "id": 4690, - "nodeType": "Return", - "src": "5401:17:7" - } - ] - }, - "documentation": null, - "functionSelector": "47428e7b", - "id": 4692, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProductIds", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4684, - "nodeType": "ParameterList", - "parameters": [], - "src": "5350:2:7" - }, - "returnParameters": { - "id": 4688, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4687, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4692, - "src": "5373:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4685, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5373:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4686, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5373:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5372:18:7" - }, - "scope": 5067, - "src": "5328:97:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4704, - "nodeType": "Block", - "src": "5515:49:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4700, - "name": "mySubscriptions", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4242, - "src": "5532:15:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 4702, - "indexExpression": { - "argumentTypes": null, - "id": 4701, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4694, - "src": "5548:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5532:25:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 4699, - "id": 4703, - "nodeType": "Return", - "src": "5525:32:7" - } - ] - }, - "documentation": null, - "functionSelector": "130d8945", - "id": 4705, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMySubscriptions", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4695, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4694, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4705, - "src": "5459:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4693, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5459:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5458:18:7" - }, - "returnParameters": { - "id": 4699, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4698, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4705, - "src": "5497:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4696, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5497:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4697, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5497:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5496:18:7" - }, - "scope": 5067, - "src": "5431:133:7", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 4914, - "nodeType": "Block", - "src": "5670:2409:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4715, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5726:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4717, - "indexExpression": { - "argumentTypes": null, - "id": 4716, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "5735:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4718, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "5726:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4719, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5759:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5726:34:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f64756374206861732065787069726564", - "id": 4721, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5762:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b7683b559c4ebf900902aa01eb28d68b2d467ea6369d1c86046fda73d718d508", - "typeString": "literal_string \"Product has expired\"" - }, - "value": "Product has expired" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b7683b559c4ebf900902aa01eb28d68b2d467ea6369d1c86046fda73d718d508", - "typeString": "literal_string \"Product has expired\"" - } - ], - "id": 4714, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5718:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5718:66:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4723, - "nodeType": "ExpressionStatement", - "src": "5718:66:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4725, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "5845:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4727, - "indexExpression": { - "argumentTypes": null, - "id": 4726, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "5854:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5845:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4728, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "5845:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4730, - "indexExpression": { - "argumentTypes": null, - "id": 4729, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "5881:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5845:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4731, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "5845:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4732, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5910:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "5845:66:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f6475637420646f6573206e6f74206578697374", - "id": 4734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5913:24:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_024c62f1b19c7769a4597e49b2c712fccb7b90866e80d0db4592b32e89de4592", - "typeString": "literal_string \"Product does not exist\"" - }, - "value": "Product does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_024c62f1b19c7769a4597e49b2c712fccb7b90866e80d0db4592b32e89de4592", - "typeString": "literal_string \"Product does not exist\"" - } - ], - "id": 4724, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5837:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4735, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5837:101:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4736, - "nodeType": "ExpressionStatement", - "src": "5837:101:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4738, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6009:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4740, - "indexExpression": { - "argumentTypes": null, - "id": 4739, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6018:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6009:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4741, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6009:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4743, - "indexExpression": { - "argumentTypes": null, - "id": 4742, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6045:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6009:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4744, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "6009:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6009:72:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "537562736372697074696f6e207761732066696e616c697a656420616c7265616479", - "id": 4747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6083:36:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5d127c89e63e4861e1864abe3b21cfe02a6923e8f465c20a654f53eafa867900", - "typeString": "literal_string \"Subscription was finalized already\"" - }, - "value": "Subscription was finalized already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5d127c89e63e4861e1864abe3b21cfe02a6923e8f465c20a654f53eafa867900", - "typeString": "literal_string \"Subscription was finalized already\"" - } - ], - "id": 4737, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6001:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6001:119:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4749, - "nodeType": "ExpressionStatement", - "src": "6001:119:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4751, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6187:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4753, - "indexExpression": { - "argumentTypes": null, - "id": 4752, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6196:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6187:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4754, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6187:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4756, - "indexExpression": { - "argumentTypes": null, - "id": 4755, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6223:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6187:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "6187:71:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4758, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6262:3:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6262:10:7", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6187:85:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f742074686520737562736372697074696f6e206f776e6572", - "id": 4761, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6274:28:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_918c615f622db7cacd43e4e7fe08ba8992c6f628a67e0471976d213508b48043", - "typeString": "literal_string \"Not the subscription owner\"" - }, - "value": "Not the subscription owner" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_918c615f622db7cacd43e4e7fe08ba8992c6f628a67e0471976d213508b48043", - "typeString": "literal_string \"Not the subscription owner\"" - } - ], - "id": 4750, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6179:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6179:124:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4763, - "nodeType": "ExpressionStatement", - "src": "6179:124:7" - }, - { - "assignments": [ - 4765 - ], - "declarations": [ - { - "constant": false, - "id": 4765, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "6314:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4764, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "6314:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4772, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4766, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6352:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4768, - "indexExpression": { - "argumentTypes": null, - "id": 4767, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6361:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6352:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4769, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "6352:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4771, - "indexExpression": { - "argumentTypes": null, - "id": 4770, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "6388:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6352:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6314:91:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4774, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6476:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4775, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6476:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4776, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "6494:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4777, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "6494:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6476:40:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f772069732062656c6f77207468652073746172742064617465", - "id": 4779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6518:29:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_60fd07d3975e8d9d36f76156a5b5bcda3cec0d32a9f66594d8f93c30bec52d84", - "typeString": "literal_string \"Now is below the start date\"" - }, - "value": "Now is below the start date" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_60fd07d3975e8d9d36f76156a5b5bcda3cec0d32a9f66594d8f93c30bec52d84", - "typeString": "literal_string \"Now is below the start date\"" - } - ], - "id": 4773, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6468:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6468:80:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4781, - "nodeType": "ExpressionStatement", - "src": "6468:80:7" - }, - { - "assignments": [ - 4783 - ], - "declarations": [ - { - "constant": false, - "id": 4783, - "name": "finishDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "6598:18:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6598:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4786, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4784, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6619:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4785, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6619:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6598:36:7" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4793, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4787, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "6700:5:7", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 4788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6700:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4789, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6719:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4791, - "indexExpression": { - "argumentTypes": null, - "id": 4790, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6728:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6719:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4792, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "6719:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6700:48:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 4812, - "nodeType": "Block", - "src": "6820:197:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 4808, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4803, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6909:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4805, - "indexExpression": { - "argumentTypes": null, - "id": 4804, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6918:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6909:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4806, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 4288, - "src": "6909:45:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 4807, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6958:5:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6909:54:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f647563742068617320746f20636c6f736520746f2062652077697468647261776e6564", - "id": 4809, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6965:40:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_417bd6d373a9241e736cd0e161a9c4adf63f43b65f747c1f24a19b109ca445b5", - "typeString": "literal_string \"Product has to close to be withdrawned\"" - }, - "value": "Product has to close to be withdrawned" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_417bd6d373a9241e736cd0e161a9c4adf63f43b65f747c1f24a19b109ca445b5", - "typeString": "literal_string \"Product has to close to be withdrawned\"" - } - ], - "id": 4802, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6901:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6901:105:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4811, - "nodeType": "ExpressionStatement", - "src": "6901:105:7" - } - ] - }, - "id": 4813, - "nodeType": "IfStatement", - "src": "6697:320:7", - "trueBody": { - "id": 4801, - "nodeType": "Block", - "src": "6749:67:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 4799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4794, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "6763:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4795, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "6776:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4797, - "indexExpression": { - "argumentTypes": null, - "id": 4796, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "6785:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6776:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4798, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "6776:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6763:42:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4800, - "nodeType": "ExpressionStatement", - "src": "6763:42:7" - } - ] - } - }, - { - "assignments": [ - 4815 - ], - "declarations": [ - { - "constant": false, - "id": 4815, - "name": "APRedAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7027:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4814, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7027:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4825, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4817, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7062:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4818, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "7062:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4819, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7080:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4820, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "7080:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 4821, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "7104:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4822, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7116:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7116:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4816, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "7049:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7049:87:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7027:109:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4829, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4827, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "7154:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4828, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7168:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7154:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "41505220616d6f756e742068617320746f20626520626967676572207468616e2030", - "id": 4830, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7171:36:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d12dfd3340cc38018c2b8060f6c186a2c440c10be71a78604d1963e619617e97", - "typeString": "literal_string \"APR amount has to be bigger than 0\"" - }, - "value": "APR amount has to be bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d12dfd3340cc38018c2b8060f6c186a2c440c10be71a78604d1963e619617e97", - "typeString": "literal_string \"APR amount has to be bigger than 0\"" - } - ], - "id": 4826, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7146:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7146:62:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4832, - "nodeType": "ExpressionStatement", - "src": "7146:62:7" - }, - { - "assignments": [ - 4834 - ], - "declarations": [ - { - "constant": false, - "id": 4834, - "name": "totalAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7218:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4833, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7218:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4840, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4838, - "name": "APRedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4815, - "src": "7264:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4835, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7240:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4836, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7240:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "7240:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7240:36:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7218:58:7" - }, - { - "assignments": [ - 4842 - ], - "declarations": [ - { - "constant": false, - "id": 4842, - "name": "totalAmountWithFullAPR", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4914, - "src": "7286:30:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4841, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7286:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4859, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4847, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7356:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4848, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "7356:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4849, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7374:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4850, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "7374:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4851, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7398:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4853, - "indexExpression": { - "argumentTypes": null, - "id": 4852, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7407:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7398:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4854, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "7398:29:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4855, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7429:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7429:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 4846, - "name": "getAPRAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4683, - "src": "7343:12:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256,uint256,uint256) pure returns (uint256)" - } - }, - "id": 4857, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7343:106:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4843, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7319:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4844, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "7319:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4845, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8428, - "src": "7319:23:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4858, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7319:131:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7286:164:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4863, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4861, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7468:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4862, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7482:1:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7468:15:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c20416d6f756e742068617320746f20626520626967676572207468616e2030", - "id": 4864, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7485:38:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d0f309b3d5dcf3af4fc79710e0af06ffc9eb36d00d7541f66dd2749de03e1082", - "typeString": "literal_string \"Total Amount has to be bigger than 0\"" - }, - "value": "Total Amount has to be bigger than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d0f309b3d5dcf3af4fc79710e0af06ffc9eb36d00d7541f66dd2749de03e1082", - "typeString": "literal_string \"Total Amount has to be bigger than 0\"" - } - ], - "id": 4860, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7460:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4865, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7460:64:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4866, - "nodeType": "ExpressionStatement", - "src": "7460:64:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4875, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4867, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7569:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4869, - "indexExpression": { - "argumentTypes": null, - "id": 4868, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7578:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7569:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4870, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7569:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4872, - "indexExpression": { - "argumentTypes": null, - "id": 4871, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7605:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7569:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4873, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "7569:63:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 4874, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7635:4:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "7569:70:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 4876, - "nodeType": "ExpressionStatement", - "src": "7569:70:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4877, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7649:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4879, - "indexExpression": { - "argumentTypes": null, - "id": 4878, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7658:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7649:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7649:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4882, - "indexExpression": { - "argumentTypes": null, - "id": 4881, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7685:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7649:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4883, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "7649:61:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4884, - "name": "finishDate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4783, - "src": "7713:10:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7649:74:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4886, - "nodeType": "ExpressionStatement", - "src": "7649:74:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4887, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "7733:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4889, - "indexExpression": { - "argumentTypes": null, - "id": 4888, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4707, - "src": "7742:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7733:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4890, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "7733:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4892, - "indexExpression": { - "argumentTypes": null, - "id": 4891, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4709, - "src": "7769:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7733:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "id": 4893, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4271, - "src": "7733:68:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 4894, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7804:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7733:82:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4896, - "nodeType": "ExpressionStatement", - "src": "7733:82:7" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4900, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4765, - "src": "7904:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4901, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "7904:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 4902, - "name": "totalAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4834, - "src": "7936:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4898, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "7889:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 4899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8710, - "src": "7889:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 4903, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7889:59:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e7366657220686173206661696c6564", - "id": 4904, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7950:21:7", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bb8b4b98786b0356f74e0334a1ffb0025fa9cd2a6c2cba75a638805536b8d16f", - "typeString": "literal_string \"Transfer has failed\"" - }, - "value": "Transfer has failed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bb8b4b98786b0356f74e0334a1ffb0025fa9cd2a6c2cba75a638805536b8d16f", - "typeString": "literal_string \"Transfer has failed\"" - } - ], - "id": 4897, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7881:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7881:91:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4906, - "nodeType": "ExpressionStatement", - "src": "7881:91:7" - }, - { - "expression": { - "argumentTypes": null, - "id": 4912, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4907, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "8017:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4910, - "name": "totalAmountWithFullAPR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4842, - "src": "8049:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 4908, - "name": "lockedTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4248, - "src": "8032:12:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8449, - "src": "8032:16:7", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 4911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8032:40:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8017:55:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4913, - "nodeType": "ExpressionStatement", - "src": "8017:55:7" - } - ] - }, - "documentation": null, - "functionSelector": "0ea52b6c", - "id": 4915, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 4712, - "modifierName": { - "argumentTypes": null, - "id": 4711, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11593, - "src": "5656:13:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "5656:13:7" - } - ], - "name": "withdrawSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4710, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4707, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4915, - "src": "5600:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5600:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4709, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4915, - "src": "5621:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5621:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5599:47:7" - }, - "returnParameters": { - "id": 4713, - "nodeType": "ParameterList", - "parameters": [], - "src": "5670:0:7" - }, - "scope": 5067, - "src": "5570:2509:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 4969, - "nodeType": "Block", - "src": "8260:352:7", - "statements": [ - { - "assignments": [ - 4941 - ], - "declarations": [ - { - "constant": false, - "id": 4941, - "name": "subscription", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4969, - "src": "8271:35:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - }, - "typeName": { - "contractScope": null, - "id": 4940, - "name": "SubscriptionAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4272, - "src": "8271:15:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage_ptr", - "typeString": "struct StakingContract.SubscriptionAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4948, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4942, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "8309:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 4944, - "indexExpression": { - "argumentTypes": null, - "id": 4943, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4919, - "src": "8318:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8309:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "id": 4945, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptions", - "nodeType": "MemberAccess", - "referencedDeclaration": 4298, - "src": "8309:35:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_SubscriptionAPR_$4272_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.SubscriptionAPR storage ref)" - } - }, - "id": 4947, - "indexExpression": { - "argumentTypes": null, - "id": 4946, - "name": "_subscription_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4917, - "src": "8345:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8309:53:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_storage", - "typeString": "struct StakingContract.SubscriptionAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8271:91:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4949, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8381:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4950, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 4255, - "src": "8381:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4951, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8399:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4952, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "productId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4257, - "src": "8399:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4953, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8423:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4954, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4259, - "src": "8423:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4955, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8447:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4956, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4261, - "src": "8447:20:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4957, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8482:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "amount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4263, - "src": "8482:19:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4959, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8503:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4960, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriberAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 4265, - "src": "8503:30:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4961, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8535:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4962, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4267, - "src": "8535:16:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4963, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8553:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 4269, - "src": "8553:22:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4965, - "name": "subscription", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4941, - "src": "8577:12:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_SubscriptionAPR_$4272_memory_ptr", - "typeString": "struct StakingContract.SubscriptionAPR memory" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "withdrawAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4271, - "src": "8577:27:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 4967, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8380:225:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_bool_$_t_uint256_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,address,uint256,bool,uint256)" - } - }, - "functionReturnParameters": 4939, - "id": 4968, - "nodeType": "Return", - "src": "8373:232:7" - } - ] - }, - "documentation": null, - "functionSelector": "a461efb9", - "id": 4970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSubscription", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4920, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4917, - "name": "_subscription_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8113:24:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4916, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8113:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4919, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8139:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4918, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8139:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8112:47:7" - }, - "returnParameters": { - "id": 4939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4922, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8183:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4921, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8183:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4924, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8192:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8192:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4926, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8201:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8201:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4928, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8210:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4927, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8210:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4930, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8219:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4929, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8219:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4932, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8228:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4931, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8228:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4934, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8237:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4933, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8237:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4936, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8246:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4935, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8246:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4938, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4970, - "src": "8252:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4937, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8252:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8182:78:7" - }, - "scope": 5067, - "src": "8088:524:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5025, - "nodeType": "Block", - "src": "8790:346:7", - "statements": [ - { - "assignments": [ - 4998 - ], - "declarations": [ - { - "constant": false, - "id": 4998, - "name": "product", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5025, - "src": "8801:25:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR" - }, - "typeName": { - "contractScope": null, - "id": 4997, - "name": "ProductAPR", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4299, - "src": "8801:10:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage_ptr", - "typeString": "struct StakingContract.ProductAPR" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5002, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4999, - "name": "products", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4234, - "src": "8829:8:7", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ProductAPR_$4299_storage_$", - "typeString": "mapping(uint256 => struct StakingContract.ProductAPR storage ref)" - } - }, - "id": 5001, - "indexExpression": { - "argumentTypes": null, - "id": 5000, - "name": "_product_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4972, - "src": "8838:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8829:21:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_storage", - "typeString": "struct StakingContract.ProductAPR storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8801:49:7" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5003, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8869:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "createdAt", - "nodeType": "MemberAccess", - "referencedDeclaration": 4274, - "src": "8869:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5005, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8888:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5006, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "startDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4276, - "src": "8888:17:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5007, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8907:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5008, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "endDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 4278, - "src": "8907:15:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5009, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8924:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5010, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "totalMaxAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4280, - "src": "8924:22:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5011, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8961:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5012, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "individualMinimumAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4282, - "src": "8961:31:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5013, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "8994:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5014, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "APR", - "nodeType": "MemberAccess", - "referencedDeclaration": 4284, - "src": "8994:11:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5015, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9007:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5016, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "currentAmount", - "nodeType": "MemberAccess", - "referencedDeclaration": 4286, - "src": "9007:21:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5017, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9030:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5018, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedUntilFinalization", - "nodeType": "MemberAccess", - "referencedDeclaration": 4288, - "src": "9030:31:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5019, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9075:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5020, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscribers", - "nodeType": "MemberAccess", - "referencedDeclaration": 4291, - "src": "9075:19:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5021, - "name": "product", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4998, - "src": "9096:7:7", - "typeDescriptions": { - "typeIdentifier": "t_struct$_ProductAPR_$4299_memory_ptr", - "typeString": "struct StakingContract.ProductAPR memory" - } - }, - "id": 5022, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "subscriptionIds", - "nodeType": "MemberAccess", - "referencedDeclaration": 4294, - "src": "9096:23:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - } - ], - "id": 5023, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8868:261:7", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bool_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "tuple(uint256,uint256,uint256,uint256,uint256,uint256,uint256,bool,address[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 4996, - "id": 5024, - "nodeType": "Return", - "src": "8861:268:7" - } - ] - }, - "documentation": null, - "functionSelector": "b9db15b4", - "id": 5026, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getProduct", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4972, - "name": "_product_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8642:19:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4971, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8642:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8641:21:7" - }, - "returnParameters": { - "id": 4996, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4975, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8686:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4974, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8686:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4977, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8695:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4976, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8695:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8704:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4978, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8704:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4981, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8713:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8713:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4983, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8722:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4982, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8722:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4985, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8731:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4984, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8731:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4987, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8740:7:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4986, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8740:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4989, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8749:4:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4988, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8749:4:7", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4992, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8755:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4990, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8755:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4991, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8755:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4995, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5026, - "src": "8773:16:7", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4993, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8773:7:7", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4994, - "length": null, - "nodeType": "ArrayTypeName", - "src": "8773:9:7", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8685:105:7" - }, - "scope": 5067, - "src": "8622:514:7", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5049, - "nodeType": "Block", - "src": "9223:143:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5038, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5028, - "src": "9317:8:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5043, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "9351:4:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_StakingContract_$5067", - "typeString": "contract StakingContract" - } - ], - "id": 5042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5041, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9343:7:7", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9343:13:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 5039, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9327:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5040, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 8690, - "src": "9327:15:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9327:30:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5036, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9302:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 8710, - "src": "9302:14:7", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5046, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9302:56:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5035, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "9294:7:7", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9294:65:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5048, - "nodeType": "ExpressionStatement", - "src": "9294:65:7" - } - ] - }, - "documentation": null, - "functionSelector": "b90c72ae", - "id": 5050, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5031, - "modifierName": { - "argumentTypes": null, - "id": 5030, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "9201:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9201:9:7" - }, - { - "arguments": null, - "id": 5033, - "modifierName": { - "argumentTypes": null, - "id": 5032, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11603, - "src": "9211:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9211:10:7" - } - ], - "name": "safeGuardAllTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5029, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5028, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5050, - "src": "9174:16:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5027, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9174:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9173:18:7" - }, - "returnParameters": { - "id": 5034, - "nodeType": "ParameterList", - "parameters": [], - "src": "9223:0:7" - }, - "scope": 5067, - "src": "9146:220:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5065, - "nodeType": "Block", - "src": "9454:115:7", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5059, - "name": "erc20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4253, - "src": "9534:5:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5061, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5052, - "src": "9548:13:7", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5060, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9078, - "src": "9542:5:7", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9078_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 5062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9542:20:7", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "src": "9534:28:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9078", - "typeString": "contract ERC20" - } - }, - "id": 5064, - "nodeType": "ExpressionStatement", - "src": "9534:28:7" - } - ] - }, - "documentation": null, - "functionSelector": "c9cda91f", - "id": 5066, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 5055, - "modifierName": { - "argumentTypes": null, - "id": 5054, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8163, - "src": "9432:9:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9432:9:7" - }, - { - "arguments": null, - "id": 5057, - "modifierName": { - "argumentTypes": null, - "id": 5056, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11603, - "src": "9442:10:7", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9442:10:7" - } - ], - "name": "changeTokenAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5053, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5052, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5066, - "src": "9400:21:7", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5051, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "9400:7:7", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9399:23:7" - }, - "returnParameters": { - "id": 5058, - "nodeType": "ParameterList", - "parameters": [], - "src": "9454:0:7" - }, - "scope": 5067, - "src": "9372:197:7", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5068, - "src": "199:9372:7" - } - ], - "src": "33:9538:7" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-15T10:30:21.368Z", - "devdoc": { - "methods": { - "paused()": { - "details": "Returns true if the contract is paused, and false otherwise." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Strings.json b/build/contracts/Strings.json deleted file mode 100644 index 7a5bdc83..00000000 --- a/build/contracts/Strings.json +++ /dev/null @@ -1,2279 +0,0 @@ -{ - "contractName": "Strings", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "bytecode": "0x60566023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b7546d7f18de02a635b8c0e84c765af2e41b902ca3b4e99a8c2e6f146a8af0b64736f6c63430006020033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209b7546d7f18de02a635b8c0e84c765af2e41b902ca3b4e99a8c2e6f146a8af0b64736f6c63430006020033", - "sourceMap": "101:836:26:-:0;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "101:836:26:-:0;;;;;;;;", - "source": "// SPDX-License-Identifier: MIT\n\npragma solidity >=0.6.0 <0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n /**\n * @dev Converts a `uint256` to its ASCII `string` representation.\n */\n function toString(uint256 value) internal pure returns (string memory) {\n // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n uint256 index = digits - 1;\n temp = value;\n while (temp != 0) {\n buffer[index--] = bytes1(uint8(48 + temp % 10));\n temp /= 10;\n }\n return string(buffer);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/utils/Strings.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Strings": [ - 10913 - ] - }, - "id": 10914, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10830, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:26" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev String operations.", - "fullyImplemented": true, - "id": 10913, - "linearizedBaseContracts": [ - 10913 - ], - "name": "Strings", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 10911, - "nodeType": "Block", - "src": "281:654:26", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10837, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "483:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "483:10:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10843, - "nodeType": "IfStatement", - "src": "479:51:26", - "trueBody": { - "id": 10842, - "nodeType": "Block", - "src": "495:35:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "516:3:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 10836, - "id": 10841, - "nodeType": "Return", - "src": "509:10:26" - } - ] - } - }, - { - "assignments": [ - 10845 - ], - "declarations": [ - { - "constant": false, - "id": 10845, - "name": "temp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "539:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "539:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10847, - "initialValue": { - "argumentTypes": null, - "id": 10846, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "554:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:20:26" - }, - { - "assignments": [ - 10849 - ], - "declarations": [ - { - "constant": false, - "id": 10849, - "name": "digits", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "569:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10850, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "569:14:26" - }, - { - "body": { - "id": 10861, - "nodeType": "Block", - "src": "611:57:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "625:8:26", - "subExpression": { - "argumentTypes": null, - "id": 10854, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "625:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10856, - "nodeType": "ExpressionStatement", - "src": "625:8:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10857, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "647:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "647:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10860, - "nodeType": "ExpressionStatement", - "src": "647:10:26" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10851, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "600:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "608:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "600:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10862, - "nodeType": "WhileStatement", - "src": "593:75:26" - }, - { - "assignments": [ - 10864 - ], - "declarations": [ - { - "constant": false, - "id": 10864, - "name": "buffer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "677:19:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10863, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "677:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10869, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10867, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "709:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "699:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 10865, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "703:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 10868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "699:17:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "677:39:26" - }, - { - "assignments": [ - 10871 - ], - "declarations": [ - { - "constant": false, - "id": 10871, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "726:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10875, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10872, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "742:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "742:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "726:26:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10876, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "762:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10877, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "769:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "762:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10879, - "nodeType": "ExpressionStatement", - "src": "762:12:26" - }, - { - "body": { - "id": 10904, - "nodeType": "Block", - "src": "802:96:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10883, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10864, - "src": "816:6:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10886, - "indexExpression": { - "argumentTypes": null, - "id": 10885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "823:7:26", - "subExpression": { - "argumentTypes": null, - "id": 10884, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10871, - "src": "823:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "816:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 10891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10892, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "852:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "859:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "852:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "847:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "841:5:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 10889, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "841:5:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "841:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 10888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "834:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 10887, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "834:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:29:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "816:47:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10899, - "nodeType": "ExpressionStatement", - "src": "816:47:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10900, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "877:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "885:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "877:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10903, - "nodeType": "ExpressionStatement", - "src": "877:10:26" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10880, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "791:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "791:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10905, - "nodeType": "WhileStatement", - "src": "784:114:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10908, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10864, - "src": "921:6:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10906, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "914:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:14:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10836, - "id": 10910, - "nodeType": "Return", - "src": "907:21:26" - } - ] - }, - "documentation": "@dev Converts a `uint256` to its ASCII `string` representation.", - "id": 10912, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10832, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10912, - "src": "228:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:15:26" - }, - "returnParameters": { - "id": 10836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10835, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10912, - "src": "266:13:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10834, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "266:6:26", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:15:26" - }, - "scope": 10913, - "src": "210:725:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10914, - "src": "101:836:26" - } - ], - "src": "33:905:26" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", - "exportedSymbols": { - "Strings": [ - 10913 - ] - }, - "id": 10914, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 10830, - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "33:31:26" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@dev String operations.", - "fullyImplemented": true, - "id": 10913, - "linearizedBaseContracts": [ - 10913 - ], - "name": "Strings", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 10911, - "nodeType": "Block", - "src": "281:654:26", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10839, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10837, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "483:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10838, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "492:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "483:10:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 10843, - "nodeType": "IfStatement", - "src": "479:51:26", - "trueBody": { - "id": 10842, - "nodeType": "Block", - "src": "495:35:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10840, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "516:3:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 10836, - "id": 10841, - "nodeType": "Return", - "src": "509:10:26" - } - ] - } - }, - { - "assignments": [ - 10845 - ], - "declarations": [ - { - "constant": false, - "id": 10845, - "name": "temp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "539:12:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "539:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10847, - "initialValue": { - "argumentTypes": null, - "id": 10846, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "554:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:20:26" - }, - { - "assignments": [ - 10849 - ], - "declarations": [ - { - "constant": false, - "id": 10849, - "name": "digits", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "569:14:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10848, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "569:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10850, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "569:14:26" - }, - { - "body": { - "id": 10861, - "nodeType": "Block", - "src": "611:57:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10855, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "625:8:26", - "subExpression": { - "argumentTypes": null, - "id": 10854, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "625:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10856, - "nodeType": "ExpressionStatement", - "src": "625:8:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10859, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10857, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "647:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10858, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "647:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10860, - "nodeType": "ExpressionStatement", - "src": "647:10:26" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10851, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "600:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10852, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "608:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "600:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10862, - "nodeType": "WhileStatement", - "src": "593:75:26" - }, - { - "assignments": [ - 10864 - ], - "declarations": [ - { - "constant": false, - "id": 10864, - "name": "buffer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "677:19:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 10863, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "677:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10869, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10867, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "709:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10866, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "699:9:26", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 10865, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "703:5:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 10868, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "699:17:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "677:39:26" - }, - { - "assignments": [ - 10871 - ], - "declarations": [ - { - "constant": false, - "id": 10871, - "name": "index", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10911, - "src": "726:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10870, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "726:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 10875, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10874, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10872, - "name": "digits", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10849, - "src": "742:6:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 10873, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "751:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "742:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "726:26:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10878, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10876, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "762:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 10877, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10832, - "src": "769:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "762:12:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10879, - "nodeType": "ExpressionStatement", - "src": "762:12:26" - }, - { - "body": { - "id": 10904, - "nodeType": "Block", - "src": "802:96:26", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 10898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 10883, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10864, - "src": "816:6:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 10886, - "indexExpression": { - "argumentTypes": null, - "id": 10885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "823:7:26", - "subExpression": { - "argumentTypes": null, - "id": 10884, - "name": "index", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10871, - "src": "823:5:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "816:15:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10895, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 10891, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "847:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10894, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10892, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "852:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10893, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "859:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "852:9:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "847:14:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 10890, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "841:5:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": { - "id": 10889, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "841:5:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10896, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "841:21:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 10888, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "834:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": { - "id": 10887, - "name": "bytes1", - "nodeType": "ElementaryTypeName", - "src": "834:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10897, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "834:29:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "816:47:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 10899, - "nodeType": "ExpressionStatement", - "src": "816:47:26" - }, - { - "expression": { - "argumentTypes": null, - "id": 10902, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 10900, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "877:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 10901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "885:2:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "877:10:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 10903, - "nodeType": "ExpressionStatement", - "src": "877:10:26" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 10882, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 10880, - "name": "temp", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10845, - "src": "791:4:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 10881, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "799:1:26", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "791:9:26", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 10905, - "nodeType": "WhileStatement", - "src": "784:114:26" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 10908, - "name": "buffer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10864, - "src": "921:6:26", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 10907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "914:6:26", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 10906, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "914:6:26", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 10909, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "914:14:26", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 10836, - "id": 10910, - "nodeType": "Return", - "src": "907:21:26" - } - ] - }, - "documentation": "@dev Converts a `uint256` to its ASCII `string` representation.", - "id": 10912, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "toString", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 10833, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10832, - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10912, - "src": "228:13:26", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 10831, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "228:7:26", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "227:15:26" - }, - "returnParameters": { - "id": 10836, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 10835, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 10912, - "src": "266:13:26", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10834, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "266:6:26", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "265:15:26" - }, - "scope": 10913, - "src": "210:725:26", - "stateMutability": "pure", - "virtual": false, - "visibility": "internal" - } - ], - "scope": 10914, - "src": "101:836:26" - } - ], - "src": "33:905:26" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-05-28T17:18:50.657Z", - "devdoc": { - "details": "String operations.", - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Token.json b/build/contracts/Token.json deleted file mode 100644 index b542994b..00000000 --- a/build/contracts/Token.json +++ /dev/null @@ -1,1757 +0,0 @@ -{ - "contractName": "Token", - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_cap", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_distributionContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "distributionContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_cap\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_distributionContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"distributionContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Allows the current owner to transfer control of the contract to a newOwner.\",\"params\":{\"newOwner\":\"The address to transfer ownership to.\"}}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol\":\"Token\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol\":{\"keccak256\":\"0xb082c7e7a477631dfa8df3af6b18f098db6f203d25629a01ca9719aa84d83514\",\"urls\":[\"bzz-raw://797b1ca8faf7e9c5fe74cfdf2a667d7215c78df6a7b9925a6400eb7b793d6777\",\"dweb:/ipfs/QmWKQCpRcK9ukdReQhSdj6wDpgixqTj7Z9ybfFen2Lj3Ru\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b5060405162000fb238038062000fb2833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040908152602082810151929091015186519294509250859185918591859185918591620001cd916003918501906200039f565b508051620001e39060049060208401906200039f565b505060058054601260ff1990911617610100600160a81b03191661010033021790555062000212818362000220565b505050505050505062000444565b6001600160a01b0382166200027c576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000293600083836001600160e01b036200033816565b620002af816002546200033d60201b620009c11790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002e2918390620009c16200033d821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000398576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003e257805160ff191683800117855562000412565b8280016001018555821562000412579182015b8281111562000412578251825591602001919060010190620003f5565b506200042092915062000424565b5090565b6200044191905b808211156200042057600081556001016200042b565b90565b610b5e80620004546000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204dd3392cf3d99745e0393a12d05863a2ffbe5e90e542b33ddb342b5350698e2864736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806370a082311161008c578063a457c2d711610066578063a457c2d7146102a0578063a9059cbb146102cc578063dd62ed3e146102f8578063f2fde38b14610326576100ea565b806370a082311461026a5780638da5cb5b1461029057806395d89b4114610298576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a5780635a4528c214610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f761034e565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b0381351690602001356103e4565b604080519115158252519081900360200190f35b6101b4610401565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610407565b610204610494565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b03813516906020013561049d565b61024e6104f1565b604080516001600160a01b039092168252519081900360200190f35b6101b46004803603602081101561028057600080fd5b50356001600160a01b0316610500565b61024e61051b565b6100f761052f565b610198600480360360408110156102b657600080fd5b506001600160a01b038135169060200135610590565b610198600480360360408110156102e257600080fd5b506001600160a01b0381351690602001356105fe565b6101b46004803603604081101561030e57600080fd5b506001600160a01b0381358116916020013516610612565b61034c6004803603602081101561033c57600080fd5b50356001600160a01b031661063d565b005b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b820191906000526020600020905b8154815290600101906020018083116103bd57829003601f168201915b5050505050905090565b60006103f86103f16106d3565b84846106d7565b50600192915050565b60025490565b60006104148484846107c3565b61048a846104206106d3565b61048585604051806060016040528060288152602001610a93602891396001600160a01b038a1660009081526001602052604081209061045e6106d3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61092a16565b6106d7565b5060019392505050565b60055460ff1690565b60006103f86104aa6106d3565b8461048585600160006104bb6106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6109c116565b6006546001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60055461010090046001600160a01b031681565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103da5780601f106103af576101008083540402835291602001916103da565b60006103f861059d6106d3565b8461048585604051806060016040528060258152602001610b0460259139600160006105c76106d3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61092a16565b60006103f861060b6106d3565b84846107c3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055461010090046001600160a01b0316331461065957600080fd5b6001600160a01b03811661066c57600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b6001600160a01b03831661071c5760405162461bcd60e51b8152600401808060200182810382526024815260200180610ae06024913960400191505060405180910390fd5b6001600160a01b0382166107615760405162461bcd60e51b8152600401808060200182810382526022815260200180610a4b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108085760405162461bcd60e51b8152600401808060200182810382526025815260200180610abb6025913960400191505060405180910390fd5b6001600160a01b03821661084d5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a286023913960400191505060405180910390fd5b610858838383610a22565b61089b81604051806060016040528060268152602001610a6d602691396001600160a01b038616600090815260208190526040902054919063ffffffff61092a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108d0908263ffffffff6109c116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561097e578181015183820152602001610966565b50505050905090810190601f1680156109ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204dd3392cf3d99745e0393a12d05863a2ffbe5e90e542b33ddb342b5350698e2864736f6c63430006020033", - "sourceMap": "561:255:0:-:0;;;598:216;8:9:-1;5:2;;;30:1;27;20:12;5:2;598:216:0;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;598:216:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;598:216:0;;420:4:-1;411:14;;;;598:216:0;;;;;411:14:-1;598:216:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;598:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;372:25;;-1:-1;598:216:0;;420:4:-1;411:14;;;;598:216:0;;;;;411:14:-1;598:216:0;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;598:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:216:0;;;;;;;;;;;;;;2032:13:15;;598:216:0;;-1:-1:-1;598:216:0;-1:-1:-1;762:5:0;;769:7;;598:216;;;;762:5;;769:7;;2032:13:15;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:15;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:15;:14;;2094:2;-1:-1:-1;;2082:14:15;;;;-1:-1:-1;;;;;;508:18:11;2082:14:15;516:10:11;508:18;;;;-1:-1:-1;515:34:0::1;521:21:::0;544:4;515:5:::1;:34::i;:::-;342:214:::0;;;;598:216;;;;561:255;;7832:370:15;-1:-1:-1;;;;;7915:21:15;;7907:65;;;;;-1:-1:-1;;;7907:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;-1:-1:-1;;;;;7983:20:15;:49;:::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:15;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:15;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;561:255:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;561:255:0;;;-1:-1:-1;561:255:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "561:255:0:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;561:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2168:89:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4244:166:15;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4877:317:15;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5589:215:15;;;;;;;;:::i;300:35:0:-;;;:::i;:::-;;;;-1:-1:-1;;;;;300:35:0;;;;;;;;;;;;;;3399:125:15;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3399:125:15;-1:-1:-1;;;;;3399:125:15;;:::i;239:20:11:-;;;:::i;2370:93:15:-;;;:::i;6291:266::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6291:266:15;;;;;;;;:::i;3727:172::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3727:172:15;;;;;;;;:::i;3957:149::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3957:149:15;;;;;;;;;;:::i;864:188:11:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;864:188:11;-1:-1:-1;;;;;864:188:11;;:::i;:::-;;2168:89:15;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:15;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:15;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:15;;;;;;;;;;;;-1:-1:-1;5076:33:15;;;:89;;:37;:89;:::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:15;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:15;;;:34;;;;;;;;;;;:50;:38;:50;:::i;300:35:0:-;;;-1:-1:-1;;;;;300:35:0;;:::o;3399:125:15:-;-1:-1:-1;;;;;3499:18:15;3473:7;3499:18;;;;;;;;;;;;3399:125::o;239:20:11:-;;;;;;-1:-1:-1;;;;;239:20:11;;:::o;2370:93:15:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:15;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:15;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:15;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;864:188:11:-;672:5;;;;;-1:-1:-1;;;;;672:5:11;658:10;:19;650:28;;;;;;-1:-1:-1;;;;;944:22:11;::::1;936:31;;;::::0;::::1;;1003:5;::::0;982:37:::1;::::0;-1:-1:-1;;;;;982:37:11;;::::1;::::0;1003:5:::1;::::0;::::1;;::::0;982:37:::1;::::0;;;::::1;1029:5;:16:::0;;-1:-1:-1;;;;;1029:16:11;;::::1;;;-1:-1:-1::0;;;;;;1029:16:11;;::::1;::::0;;;::::1;::::0;;864:188::o;598:104:23:-;685:10;598:104;:::o;9355:340:15:-;-1:-1:-1;;;;;9456:19:15;;9448:68;;;;-1:-1:-1;;;9448:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:15;;9526:68;;;;-1:-1:-1;;;9526:68:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:15;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:15;;7128:70;;;;-1:-1:-1;;;7128:70:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:15;;7208:71;;;;-1:-1:-1;;;7208:71:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:15;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;7348:17:15;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7449:20:15;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:14:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5537:29:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:14;;;5432:163::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;10701:92:15:-;;;;:::o", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"./utils/Ownable.sol\";\n\n// File: openzeppelin-solidity/contracts/token/ERC20/CappedToken.sol\n\n/**\n * @title Capped token\n * @dev Mintable token with a token cap.\n */\ncontract CappedToken is ERC20, Ownable{\n\n address public distributionContract;\n\n constructor( \n string memory _name, \n string memory _symbol,\n uint256 _cap, address _distributionContract) public ERC20(_name, _symbol) {\n _mint(_distributionContract, _cap);\n }\n\n}\n\ncontract Token is CappedToken {\n\n constructor(\n string memory _name, \n string memory _symbol,\n uint256 _cap, \n address _distributionContract\n ) public CappedToken(_name, _symbol, _cap, _distributionContract) {\n }\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "exportedSymbols": { - "CappedToken": [ - 31 - ], - "Token": [ - 52 - ] - }, - "id": 53, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 9049, - "src": "26:55:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 8161, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9048, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9048", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8160, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8160", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "CappedToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "5a4528c2", - "id": 9, - "name": "distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 31, - "src": "300:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "300:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29, - "nodeType": "Block", - "src": "505:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "521:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "544:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8928, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "515:34:0" - } - ] - }, - "documentation": null, - "id": 30, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "489:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 21, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "496:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 22, - "modifierName": { - "argumentTypes": null, - "id": 19, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9048, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9048_$", - "typeString": "type(contract ERC20)" - } - }, - "nodeType": "ModifierInvocation", - "src": "483:21:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 18, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "370:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "400:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "431:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "431:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "445:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "445:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:122:0" - }, - "returnParameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [], - "src": "505:0:0" - }, - "scope": 31, - "src": "342:214:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "255:304:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 32, - "name": "CappedToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 31, - "src": "579:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CappedToken_$31", - "typeString": "contract CappedToken" - } - }, - "id": 33, - "nodeType": "InheritanceSpecifier", - "src": "579:11:0" - } - ], - "contractDependencies": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "Token", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 50, - "nodeType": "Block", - "src": "807:7:0", - "statements": [] - }, - "documentation": null, - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 44, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "762:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 45, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 46, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "778:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 47, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "784:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 48, - "modifierName": { - "argumentTypes": null, - "id": 43, - "name": "CappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "750:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CappedToken_$31_$", - "typeString": "type(contract CappedToken)" - } - }, - "nodeType": "ModifierInvocation", - "src": "750:56:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "619:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 34, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "649:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 36, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "649:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 39, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "680:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 38, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "703:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "703:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "609:133:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:0:0" - }, - "scope": 52, - "src": "598:216:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "561:255:0" - } - ], - "src": "0:816:0" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/ERC20.sol", - "exportedSymbols": { - "CappedToken": [ - 31 - ], - "Token": [ - 52 - ] - }, - "id": 53, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 9049, - "src": "26:55:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "./utils/Ownable.sol", - "id": 3, - "nodeType": "ImportDirective", - "scope": 53, - "sourceUnit": 8161, - "src": "82:29:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 4, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9048, - "src": "279:5:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$9048", - "typeString": "contract ERC20" - } - }, - "id": 5, - "nodeType": "InheritanceSpecifier", - "src": "279:5:0" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 6, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8160, - "src": "286:7:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8160", - "typeString": "contract Ownable" - } - }, - "id": 7, - "nodeType": "InheritanceSpecifier", - "src": "286:7:0" - } - ], - "contractDependencies": [ - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": "@title Capped token\n@dev Mintable token with a token cap.", - "fullyImplemented": true, - "id": 31, - "linearizedBaseContracts": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "CappedToken", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "functionSelector": "5a4528c2", - "id": 9, - "name": "distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 31, - "src": "300:35:0", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 8, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "300:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 29, - "nodeType": "Block", - "src": "505:51:0", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 25, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 17, - "src": "521:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 26, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 15, - "src": "544:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 24, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8928, - "src": "515:5:0", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "515:34:0", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 28, - "nodeType": "ExpressionStatement", - "src": "515:34:0" - } - ] - }, - "documentation": null, - "id": 30, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 20, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11, - "src": "489:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 21, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 13, - "src": "496:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 22, - "modifierName": { - "argumentTypes": null, - "id": 19, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 9048, - "src": "483:5:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$9048_$", - "typeString": "type(contract ERC20)" - } - }, - "nodeType": "ModifierInvocation", - "src": "483:21:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 18, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "370:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 10, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "370:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 13, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "400:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 12, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "400:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 15, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "431:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 14, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "431:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 30, - "src": "445:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "445:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:122:0" - }, - "returnParameters": { - "id": 23, - "nodeType": "ParameterList", - "parameters": [], - "src": "505:0:0" - }, - "scope": 31, - "src": "342:214:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "255:304:0" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 32, - "name": "CappedToken", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 31, - "src": "579:11:0", - "typeDescriptions": { - "typeIdentifier": "t_contract$_CappedToken_$31", - "typeString": "contract CappedToken" - } - }, - "id": 33, - "nodeType": "InheritanceSpecifier", - "src": "579:11:0" - } - ], - "contractDependencies": [ - 31, - 8160, - 9048, - 9117, - 10507 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 52, - "linearizedBaseContracts": [ - 52, - 31, - 8160, - 9048, - 9117, - 10507 - ], - "name": "Token", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 50, - "nodeType": "Block", - "src": "807:7:0", - "statements": [] - }, - "documentation": null, - "id": 51, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 44, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 35, - "src": "762:5:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 45, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37, - "src": "769:7:0", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 46, - "name": "_cap", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 39, - "src": "778:4:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 47, - "name": "_distributionContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 41, - "src": "784:21:0", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 48, - "modifierName": { - "argumentTypes": null, - "id": 43, - "name": "CappedToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 31, - "src": "750:11:0", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_CappedToken_$31_$", - "typeString": "type(contract CappedToken)" - } - }, - "nodeType": "ModifierInvocation", - "src": "750:56:0" - } - ], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 42, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 35, - "name": "_name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "619:19:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 34, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "619:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "649:21:0", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 36, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "649:6:0", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 39, - "name": "_cap", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "680:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 38, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "680:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 41, - "name": "_distributionContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 51, - "src": "703:29:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 40, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "703:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "609:133:0" - }, - "returnParameters": { - "id": 49, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:0:0" - }, - "scope": 52, - "src": "598:216:0", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 53, - "src": "561:255:0" - } - ], - "src": "0:816:0" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-16T08:06:51.149Z", - "devdoc": { - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). * Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. * NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. * Requirements: * - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "transferOwnership(address)": { - "details": "Allows the current owner to transfer control of the contract to a newOwner.", - "params": { - "newOwner": "The address to transfer ownership to." - } - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/Votable.json b/build/contracts/Votable.json deleted file mode 100644 index 677dbed2..00000000 --- a/build/contracts/Votable.json +++ /dev/null @@ -1,21922 +0,0 @@ -{ - "contractName": "Votable", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "pollID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "votingLength", - "type": "uint256" - } - ], - "name": "pollCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "status", - "type": "bool" - } - ], - "name": "pollStatusUpdate", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "voter", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "pollID", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "vote", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "weight", - "type": "uint256" - } - ], - "name": "voteCasted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "bank", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenBalance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pollCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "polls", - "outputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "internalType": "enum Votable.PollStatus", - "name": "status", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "optionsSize", - "type": "uint256" - }, - { - "internalType": "string", - "name": "description", - "type": "string" - }, - { - "internalType": "uint256", - "name": "expirationTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "winnerId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract ERC20", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_description", - "type": "string" - }, - { - "internalType": "uint256", - "name": "_voteLength", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "options", - "type": "uint256[]" - } - ], - "name": "createPoll", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - } - ], - "name": "endPoll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getPoolInformation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum Votable.PollStatus", - "name": "", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - } - ], - "name": "getPoolWinner", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "getPollOptionById", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "getPollHistory", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "getPollInfoForVoter", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "userHasVoted", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pollID", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_voteId", - "type": "uint256" - } - ], - "name": "castVote", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_numTokens", - "type": "uint256" - } - ], - "name": "stakeVotingTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_numTokens", - "type": "uint256" - } - ], - "name": "withdrawTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "getLockedAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voter", - "type": "address" - } - ], - "name": "getTokenStake", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pollID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"votingLength\",\"type\":\"uint256\"}],\"name\":\"pollCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"pollStatusUpdate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pollID\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"vote\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"name\":\"voteCasted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"bank\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenBalance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_voteId\",\"type\":\"uint256\"}],\"name\":\"castVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_voteLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"options\",\"type\":\"uint256[]\"}],\"name\":\"createPoll\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"}],\"name\":\"endPoll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getLockedAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getPollHistory\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getPollInfoForVoter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"getPollOptionById\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"}],\"name\":\"getPoolInformation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum Votable.PollStatus\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"}],\"name\":\"getPoolWinner\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voter\",\"type\":\"address\"}],\"name\":\"getTokenStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pollCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"polls\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"internalType\":\"enum Votable.PollStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"optionsSize\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"expirationTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"winnerId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"stakeVotingTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pollID\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"userHasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_numTokens\",\"type\":\"uint256\"}],\"name\":\"withdrawTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Votable.sol\":\"Votable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Votable.sol\":{\"keccak256\":\"0x27c6d5540c0a105e289b5e0200f97a7fbccdae6aa4312bf1f36529ca13daf85b\",\"urls\":[\"bzz-raw://473935e3c6026642b393a212f6633e4f2653413677743e92f98fb58fd38bbe57\",\"dweb:/ipfs/QmTui5n3gdHb9RWuyFaaTSA82M6HkjJtLZwArfvz3CwF25\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b506040516117663803806117668339818101604052602081101561003357600080fd5b50516001600160a01b03811661004857600080fd5b600380546001600160a01b0319166001600160a01b03929092169190911790556116ef806100776000396000f3fe608060405234801561001057600080fd5b506004361061010a5760003560e01c80635fc48d7e116100a25780639207891d116100715780639207891d146104d6578063929ec537146104de578063ac2f007414610504578063f43b8778146105d3578063fc0c546a146105f05761010a565b80635fc48d7e1461032b5780636cee7be51461036b578063896e1da9146103b05780638a0ce67d146104b95761010a565b80632c0a3f89116100de5780632c0a3f89146102a2578063315a095d146102c5578063529a1baf146102e25780635beed676146103085761010a565b80623c59fd1461010f5780630da65600146101e75780630de88fd8146102065780630ed70ed11461027c575b600080fd5b6101d56004803603606081101561012557600080fd5b81019060208101813564010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184600183028401116401000000008311171561017457600080fd5b9193909282359260408101906020013564010000000081111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460208302840111640100000000831117156101ca57600080fd5b509092509050610614565b60408051918252519081900360200190f35b610204600480360360208110156101fd57600080fd5b50356107e4565b005b61022c6004803603602081101561021c57600080fd5b50356001600160a01b0316610986565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610268578181015183820152602001610250565b505050509050019250505060405180910390f35b6101d56004803603602081101561029257600080fd5b50356001600160a01b03166109f5565b610204600480360360408110156102b857600080fd5b5080359060200135610a10565b610204600480360360208110156102db57600080fd5b5035610d1f565b6101d5600480360360208110156102f857600080fd5b50356001600160a01b0316610e17565b6101d56004803603604081101561031e57600080fd5b5080359060200135610e29565b6103576004803603604081101561034157600080fd5b50803590602001356001600160a01b0316610ea7565b604080519115158252519081900360200190f35b6103976004803603604081101561038157600080fd5b50803590602001356001600160a01b0316610f33565b6040805192835260208301919091528051918290030190f35b6103cd600480360360208110156103c657600080fd5b503561100c565b6040516001600160a01b0387168152602081018660018111156103ec57fe5b60ff1681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b508381038252855181528551602091820191808801910280838360005b8381101561049f578181015183820152602001610487565b505050509050019850505050505050505060405180910390f35b610397600480360360208110156104cf57600080fd5b50356111b1565b6101d5611235565b6101d5600480360360208110156104f457600080fd5b50356001600160a01b031661123b565b6105216004803603602081101561051a57600080fd5b50356112c2565b6040516001600160a01b03871681526020810186600181111561054057fe5b60ff16815260200185815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561059357818101518382015260200161057b565b50505050905090810190601f1680156105c05780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610204600480360360208110156105e957600080fd5b5035611391565b6105f86114f5565b604080516001600160a01b039092168252519081900360200190f35b600080841161066a576040805162461bcd60e51b815260206004820152601e60248201527f54686520766f74696e6720706572696f642063616e6e6f7420626520302e0000604482015290519081900360640190fd5b600182116106bf576040805162461bcd60e51b815260206004820181905260248201527f4f7074696f6e73206861766520746f20626520686967686572207468616e2031604482015290519081900360640190fd5b6002805460010190819055600090815260208190526040812080546001600160a01b031916331760ff60a01b19168155905b8381101561072b5784848281811061070557fe5b6000848152600286016020908152604090912091029290920135909155506001016106f1565b506001810183905542850160068201556107496004820188886115cf565b507f7b419a5af714030ff3c227818ce7b2a9864a0c7ed2d6315e1db36e7c70c3d2813360025489898960405180866001600160a01b03166001600160a01b03168152602001858152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f19169092018290039850909650505050505050a1505060025495945050505050565b600354604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d602081101561085857600080fd5b505110156108ad576040805162461bcd60e51b815260206004820181905260248201527f5573657220646f6573206e6f74206861766520656e6f75676820746f6b656e73604482015290519081900360640190fd5b600354604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b505161096e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116966024913960400191505060405180910390fd5b33600090815260016020526040902080549091019055565b6001600160a01b0381166000908152600160209081526040918290206002018054835181840281018401909452808452606093928301828280156109e957602002820191906000526020600020905b8154815260200190600101908083116109d5575b50505050509050919050565b6001600160a01b031660009081526001602052604090205490565b81600081118015610a2357506002548111155b610a6b576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008084815260208190526040902054600160a01b900460ff166001811115610a9057fe5b14610ad6576040805162461bcd60e51b81526020600482015260116024820152702837b636103430b99032bc3834b932b21760791b604482015290519081900360640190fd5b610ae08333610ea7565b15610b32576040805162461bcd60e51b815260206004820152601760248201527f557365722068617320616c726561647920766f7465642e000000000000000000604482015290519081900360640190fd5b6000838152602081905260409020600601544210610b4f57600080fd5b6000838152602081905260409020600101548210610bb4576040805162461bcd60e51b815260206004820152601b60248201527f566f7465206f7074696f6e206973206e6f7420617661696c626c650000000000604482015290519081900360640190fd5b610bbd336109f5565b33600081815260016020818152604080842089855280840183528185209690965560029095018054928301815583528083209091018790558682528190529190912090610c2a90610c0d906109f5565b60008581526003840160205260409020549063ffffffff61150416565b6000848152600383016020908152604091829020929092558051606081018252600181529182018590528101610c5f336109f5565b905233600081815260088401602090815260408083208551815460ff191690151517815585830151600180830191909155959091015160029091015560058501805494850181558252902090910180546001600160a01b031916821790557f24e8f28bcf1dbc2f2cbdaf38b4ed8c435d3ac3b055bd15be18b06645b29dba1d908585610cea836109f5565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190a150505050565b6000610d2a3361123b565b90508181610d37336109f5565b031015610d755760405162461bcd60e51b815260040180806020018281038252602b81526020018061166b602b913960400191505060405180910390fd5b33600081815260016020908152604080832080548790039055600354815163a9059cbb60e01b815260048101959095526024850187905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b158015610dde57600080fd5b505af1158015610df2573d6000803e3d6000fd5b505050506040513d6020811015610e0857600080fd5b5051610e1357600080fd5b5050565b60016020526000908152604090205481565b600082600081118015610e3e57506002548111155b610e86576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b50506000918252602082815260408084209284526002909201905290205490565b600082600081118015610ebc57506002548111155b610f04576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b50506000918252602082815260408084206001600160a01b039390931684526008909201905290205460ff1690565b60008083600081118015610f4957506002548111155b610f91576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008086815260208190526040902054600160a01b900460ff166001811115610fb657fe5b1415610fc157600080fd5b610fcb8585610ea7565b610fd457600080fd5b5050506000918252602082815260408084206001600160a01b0393909316845260089092019052902060018101546002909101549091565b600080600060608060008660008111801561102957506002548111155b611071576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008881526020818152604091829020805460018083015460068401546004850180548851600261010096831615969096026000190190911694909404601f81018890048802850188019098528784526001600160a01b03851697600160a01b90950460ff16969295909460059091019391928591908301828280156111385780601f1061110d57610100808354040283529160200191611138565b820191906000526020600020905b81548152906001019060200180831161111b57829003601f168201915b505050505092508180548060200260200160405190810160405280929190818152602001828054801561119457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611176575b505050505091509650965096509650965096505091939550919395565b600080826000811180156111c757506002548111155b61120f576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008481526020819052604090206007015461122b8582610e29565b9250925050915091565b60025481565b6001600160a01b038116600090815260016020526040812081805b60028301548110156112ba57600083600201828154811061127357fe5b90600052602060002001549050828460010160008381526020019081526020016000205411156112b157600081815260018501602052604090205492505b50600101611256565b509392505050565b6000602081815291815260409081902080546001808301546004840180548651600261010095831615959095026000190190911693909304601f81018890048802840188019096528583526001600160a01b03841696600160a01b90940460ff169591949390919083018282801561137b5780601f106113505761010080835404028352916020019161137b565b820191906000526020600020905b81548152906001019060200180831161135e57829003601f168201915b5050505050908060060154908060070154905086565b806000811180156113a457506002548111155b6113ec576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008083815260208190526040902054600160a01b900460ff16600181111561141157fe5b14611463576040805162461bcd60e51b815260206004820152601860248201527f566f7465206973206e6f7420696e2070726f67726573732e0000000000000000604482015290519081900360640190fd5b6000828152602081905260409020600601544210156114c9576040805162461bcd60e51b815260206004820152601d60248201527f566f74696e6720706572696f6420686173206e6f742065787069726564000000604482015290519081900360640190fd5b6114d282611565565b50506000908152602081905260409020805460ff60a01b1916600160a01b179055565b6003546001600160a01b031681565b60008282018381101561155e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000818152602081815260408083208380526003810190925282205460015b82600101548110156115bf57600019810160009081526003840160205260408082205483835291205411156115b7578091505b600101611584565b5060079091018190559050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116105782800160ff1982351617855561163d565b8280016001018555821561163d579182015b8281111561163d578235825591602001919060010190611622565b5061164992915061164d565b5090565b61166791905b808211156116495760008155600101611653565b9056fe5573657220697320747279696e6720746f20776974686472617720746f6f206d616e7920746f6b656e732e5573657220646964206e6f7420617070726f766520746f6b656e207472616e736665722ea2646970667358221220a3b615a3bd362e93ac473ee93b8c26207df4a2ff86d89c7b7e66440ff5b8933464736f6c63430006020033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010a5760003560e01c80635fc48d7e116100a25780639207891d116100715780639207891d146104d6578063929ec537146104de578063ac2f007414610504578063f43b8778146105d3578063fc0c546a146105f05761010a565b80635fc48d7e1461032b5780636cee7be51461036b578063896e1da9146103b05780638a0ce67d146104b95761010a565b80632c0a3f89116100de5780632c0a3f89146102a2578063315a095d146102c5578063529a1baf146102e25780635beed676146103085761010a565b80623c59fd1461010f5780630da65600146101e75780630de88fd8146102065780630ed70ed11461027c575b600080fd5b6101d56004803603606081101561012557600080fd5b81019060208101813564010000000081111561014057600080fd5b82018360208201111561015257600080fd5b8035906020019184600183028401116401000000008311171561017457600080fd5b9193909282359260408101906020013564010000000081111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460208302840111640100000000831117156101ca57600080fd5b509092509050610614565b60408051918252519081900360200190f35b610204600480360360208110156101fd57600080fd5b50356107e4565b005b61022c6004803603602081101561021c57600080fd5b50356001600160a01b0316610986565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610268578181015183820152602001610250565b505050509050019250505060405180910390f35b6101d56004803603602081101561029257600080fd5b50356001600160a01b03166109f5565b610204600480360360408110156102b857600080fd5b5080359060200135610a10565b610204600480360360208110156102db57600080fd5b5035610d1f565b6101d5600480360360208110156102f857600080fd5b50356001600160a01b0316610e17565b6101d56004803603604081101561031e57600080fd5b5080359060200135610e29565b6103576004803603604081101561034157600080fd5b50803590602001356001600160a01b0316610ea7565b604080519115158252519081900360200190f35b6103976004803603604081101561038157600080fd5b50803590602001356001600160a01b0316610f33565b6040805192835260208301919091528051918290030190f35b6103cd600480360360208110156103c657600080fd5b503561100c565b6040516001600160a01b0387168152602081018660018111156103ec57fe5b60ff1681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019080838360005b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b508381038252855181528551602091820191808801910280838360005b8381101561049f578181015183820152602001610487565b505050509050019850505050505050505060405180910390f35b610397600480360360208110156104cf57600080fd5b50356111b1565b6101d5611235565b6101d5600480360360208110156104f457600080fd5b50356001600160a01b031661123b565b6105216004803603602081101561051a57600080fd5b50356112c2565b6040516001600160a01b03871681526020810186600181111561054057fe5b60ff16815260200185815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b8381101561059357818101518382015260200161057b565b50505050905090810190601f1680156105c05780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b610204600480360360208110156105e957600080fd5b5035611391565b6105f86114f5565b604080516001600160a01b039092168252519081900360200190f35b600080841161066a576040805162461bcd60e51b815260206004820152601e60248201527f54686520766f74696e6720706572696f642063616e6e6f7420626520302e0000604482015290519081900360640190fd5b600182116106bf576040805162461bcd60e51b815260206004820181905260248201527f4f7074696f6e73206861766520746f20626520686967686572207468616e2031604482015290519081900360640190fd5b6002805460010190819055600090815260208190526040812080546001600160a01b031916331760ff60a01b19168155905b8381101561072b5784848281811061070557fe5b6000848152600286016020908152604090912091029290920135909155506001016106f1565b506001810183905542850160068201556107496004820188886115cf565b507f7b419a5af714030ff3c227818ce7b2a9864a0c7ed2d6315e1db36e7c70c3d2813360025489898960405180866001600160a01b03166001600160a01b03168152602001858152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f19169092018290039850909650505050505050a1505060025495945050505050565b600354604080516370a0823160e01b8152336004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561082e57600080fd5b505afa158015610842573d6000803e3d6000fd5b505050506040513d602081101561085857600080fd5b505110156108ad576040805162461bcd60e51b815260206004820181905260248201527f5573657220646f6573206e6f74206861766520656e6f75676820746f6b656e73604482015290519081900360640190fd5b600354604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b505161096e5760405162461bcd60e51b81526004018080602001828103825260248152602001806116966024913960400191505060405180910390fd5b33600090815260016020526040902080549091019055565b6001600160a01b0381166000908152600160209081526040918290206002018054835181840281018401909452808452606093928301828280156109e957602002820191906000526020600020905b8154815260200190600101908083116109d5575b50505050509050919050565b6001600160a01b031660009081526001602052604090205490565b81600081118015610a2357506002548111155b610a6b576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008084815260208190526040902054600160a01b900460ff166001811115610a9057fe5b14610ad6576040805162461bcd60e51b81526020600482015260116024820152702837b636103430b99032bc3834b932b21760791b604482015290519081900360640190fd5b610ae08333610ea7565b15610b32576040805162461bcd60e51b815260206004820152601760248201527f557365722068617320616c726561647920766f7465642e000000000000000000604482015290519081900360640190fd5b6000838152602081905260409020600601544210610b4f57600080fd5b6000838152602081905260409020600101548210610bb4576040805162461bcd60e51b815260206004820152601b60248201527f566f7465206f7074696f6e206973206e6f7420617661696c626c650000000000604482015290519081900360640190fd5b610bbd336109f5565b33600081815260016020818152604080842089855280840183528185209690965560029095018054928301815583528083209091018790558682528190529190912090610c2a90610c0d906109f5565b60008581526003840160205260409020549063ffffffff61150416565b6000848152600383016020908152604091829020929092558051606081018252600181529182018590528101610c5f336109f5565b905233600081815260088401602090815260408083208551815460ff191690151517815585830151600180830191909155959091015160029091015560058501805494850181558252902090910180546001600160a01b031916821790557f24e8f28bcf1dbc2f2cbdaf38b4ed8c435d3ac3b055bd15be18b06645b29dba1d908585610cea836109f5565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190a150505050565b6000610d2a3361123b565b90508181610d37336109f5565b031015610d755760405162461bcd60e51b815260040180806020018281038252602b81526020018061166b602b913960400191505060405180910390fd5b33600081815260016020908152604080832080548790039055600354815163a9059cbb60e01b815260048101959095526024850187905290516001600160a01b039091169363a9059cbb9360448083019493928390030190829087803b158015610dde57600080fd5b505af1158015610df2573d6000803e3d6000fd5b505050506040513d6020811015610e0857600080fd5b5051610e1357600080fd5b5050565b60016020526000908152604090205481565b600082600081118015610e3e57506002548111155b610e86576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b50506000918252602082815260408084209284526002909201905290205490565b600082600081118015610ebc57506002548111155b610f04576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b50506000918252602082815260408084206001600160a01b039390931684526008909201905290205460ff1690565b60008083600081118015610f4957506002548111155b610f91576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008086815260208190526040902054600160a01b900460ff166001811115610fb657fe5b1415610fc157600080fd5b610fcb8585610ea7565b610fd457600080fd5b5050506000918252602082815260408084206001600160a01b0393909316845260089092019052902060018101546002909101549091565b600080600060608060008660008111801561102957506002548111155b611071576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008881526020818152604091829020805460018083015460068401546004850180548851600261010096831615969096026000190190911694909404601f81018890048802850188019098528784526001600160a01b03851697600160a01b90950460ff16969295909460059091019391928591908301828280156111385780601f1061110d57610100808354040283529160200191611138565b820191906000526020600020905b81548152906001019060200180831161111b57829003601f168201915b505050505092508180548060200260200160405190810160405280929190818152602001828054801561119457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611176575b505050505091509650965096509650965096505091939550919395565b600080826000811180156111c757506002548111155b61120f576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008481526020819052604090206007015461122b8582610e29565b9250925050915091565b60025481565b6001600160a01b038116600090815260016020526040812081805b60028301548110156112ba57600083600201828154811061127357fe5b90600052602060002001549050828460010160008381526020019081526020016000205411156112b157600081815260018501602052604090205492505b50600101611256565b509392505050565b6000602081815291815260409081902080546001808301546004840180548651600261010095831615959095026000190190911693909304601f81018890048802840188019096528583526001600160a01b03841696600160a01b90940460ff169591949390919083018282801561137b5780601f106113505761010080835404028352916020019161137b565b820191906000526020600020905b81548152906001019060200180831161135e57829003601f168201915b5050505050908060060154908060070154905086565b806000811180156113a457506002548111155b6113ec576040805162461bcd60e51b81526020600482015260146024820152732737ba1030903b30b634b2103837b6361024b21760611b604482015290519081900360640190fd5b60008083815260208190526040902054600160a01b900460ff16600181111561141157fe5b14611463576040805162461bcd60e51b815260206004820152601860248201527f566f7465206973206e6f7420696e2070726f67726573732e0000000000000000604482015290519081900360640190fd5b6000828152602081905260409020600601544210156114c9576040805162461bcd60e51b815260206004820152601d60248201527f566f74696e6720706572696f6420686173206e6f742065787069726564000000604482015290519081900360640190fd5b6114d282611565565b50506000908152602081905260409020805460ff60a01b1916600160a01b179055565b6003546001600160a01b031681565b60008282018381101561155e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000818152602081815260408083208380526003810190925282205460015b82600101548110156115bf57600019810160009081526003840160205260408082205483835291205411156115b7578091505b600101611584565b5060079091018190559050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116105782800160ff1982351617855561163d565b8280016001018555821561163d579182015b8281111561163d578235825591602001919060010190611622565b5061164992915061164d565b5090565b61166791905b808211156116495760008155600101611653565b9056fe5573657220697320747279696e6720746f20776974686472617720746f6f206d616e7920746f6b656e732e5573657220646964206e6f7420617070726f766520746f6b656e207472616e736665722ea2646970667358221220a3b615a3bd362e93ac473ee93b8c26207df4a2ff86d89c7b7e66440ff5b8933464736f6c63430006020033", - "sourceMap": "134:7994:11:-:0;;;1352:112;8:9:-1;5:2;;;30:1;27;20:12;5:2;1352:112:11;;;;;;;;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1352:112:11;-1:-1:-1;;;;;1405:20:11;;1397:29;;;;;;1436:5;:21;;-1:-1:-1;;;;;;1436:21:11;-1:-1:-1;;;;;1436:21:11;;;;;;;;;;134:7994;;;-1:-1:-1;134:7994:11;;", - "deployedSourceMap": "134:7994:11:-:0;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;134:7994:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:796;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1572:796:11;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;1572:796:11;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1572:796:11;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1572:796:11;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;1572:796:11;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1572:796:11;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;-1:-1;1572:796:11;;-1:-1:-1;1572:796:11;-1:-1:-1;1572:796:11;:::i;:::-;;;;;;;;;;;;;;;;6587:328;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6587:328:11;;:::i;:::-;;3728:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3728:129:11;-1:-1:-1;;;;;3728:129:11;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3728:129:11;;;;;;;;;;;;;;;;;8011:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8011:114:11;-1:-1:-1;;;;;8011:114:11;;:::i;4897:1005::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4897:1005:11;;;;;;;:::i;7054:337::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7054:337:11;;:::i;1224:44::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1224:44:11;-1:-1:-1;;;;;1224:44:11;;:::i;3497:152::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3497:152:11;;;;;;;:::i;4453:163::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4453:163:11;;;;;;-1:-1:-1;;;;;4453:163:11;;:::i;:::-;;;;;;;;;;;;;;;;;;3950:430;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3950:430:11;;;;;;-1:-1:-1;;;;;3950:430:11;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2840:344;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2840:344:11;;:::i;:::-;;;-1:-1:-1;;;;;2840:344:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2840:344:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2840:344:11;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2840:344:11;;;;;;;;;;;;;;;;;;;;;;;3239:197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3239:197:11;;:::i;1275:24::-;;;:::i;7485:447::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7485:447:11;-1:-1:-1;;;;;7485:447:11;;:::i;1184:34::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1184:34:11;;:::i;:::-;;;-1:-1:-1;;;;;1184:34:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1184:34:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2459:328;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2459:328:11;;:::i;1305:18::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1305:18:11;;;;;;;;;;;;;;1572:796;1686:4;1723:1;1709:11;:15;1701:58;;;;;-1:-1:-1;;;1701:58:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;1794:1;1777:18;;1769:63;;;;;-1:-1:-1;;;1769:63:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:9;:11;;;;;;;;-1:-1:-1;1887:16:11;;;;;;;;;;1913:28;;-1:-1:-1;;;;;;1913:28:11;1931:10;1913:28;-1:-1:-1;;;;1951:39:11;;;1887:16;2009:96;2025:18;;;2009:96;;;2084:7;;2092:1;2084:10;;;;;;;2063:18;;;;:15;;;2084:10;2063:18;;;;;;;2084:10;;;;;;;2063:31;;;-1:-1:-1;2045:3:11;;2009:96;;;-1:-1:-1;2114:19:11;;;:36;;;2185:3;:29;;2160:22;;;:54;2224:34;:19;;;2246:12;;2224:34;:::i;:::-;;2274:61;2286:10;2298:9;;2309:12;;2323:11;2274:61;;;;-1:-1:-1;;;;;2274:61:11;-1:-1:-1;;;;;2274:61:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;;74:27;2274:61:11;;137:4:-1;117:14;;;-1:-1;;113:30;157:16;;;2274:61:11;;;;-1:-1:-1;2274:61:11;;-1:-1:-1;;;;;;;2274:61:11;-1:-1:-1;;2352:9:11;;1572:796;;;;;;;:::o;6587:328::-;6661:5;;:27;;;-1:-1:-1;;;6661:27:11;;6677:10;6661:27;;;;;;6692:10;;-1:-1:-1;;;;;6661:5:11;;:15;;:27;;;;;;;;;;;;;;:5;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;6661:27:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6661:27:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6661:27:11;:41;;6653:86;;;;;-1:-1:-1;;;6653:86:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6757:5;;:57;;;-1:-1:-1;;;6757:57:11;;6776:10;6757:57;;;;6796:4;6757:57;;;;;;;;;;;;-1:-1:-1;;;;;6757:5:11;;;;:18;;:57;;;;;;;;;;;;;;;:5;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;6757:57:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6757:57:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6757:57:11;6749:106;;;;-1:-1:-1;;;6749:106:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6870:10;6865:16;;;;:4;:16;;;;;:43;;;;;;;6587:328::o;3728:129::-;-1:-1:-1;;;;;3820:12:11;;;;;;:4;:12;;;;;;;;;:30;;3813:37;;;;;;;;;;;;;;;;;3788:13;;3813:37;;;3820:30;3813:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3728:129;;;:::o;8011:114::-;-1:-1:-1;;;;;8093:12:11;8070:4;8093:12;;;:4;:12;;;;;:25;;8011:114::o;4897:1005::-;4965:7;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;5017:22:::1;4992:5:::0;:14;;;::::1;::::0;;;;;;:21;-1:-1:-1;;;4992:21:11;::::1;;;:47;::::0;::::1;;;;;;;4984:77;;;::::0;;-1:-1:-1;;;4984:77:11;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;4984:77:11;;;;;;;;;;;;;::::1;;5080:33;5093:7;5102:10;5080:12;:33::i;:::-;5079:34;5071:70;;;::::0;;-1:-1:-1;;;5071:70:11;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5159:5;:14:::0;;;::::1;::::0;;;;;;:29:::1;;::::0;5191:3:::1;-1:-1:-1::0;5151:44:11::1;;;::::0;::::1;;5223:5;:14:::0;;;::::1;::::0;;;;;;:26:::1;;::::0;5213:36;::::1;5205:76;;;::::0;;-1:-1:-1;;;5205:76:11;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5370:25;5384:10;5370:13;:25::i;:::-;5334:10;5329:16;::::0;;;:4:::1;:16;::::0;;;;;;;:38;;;:29;;::::1;:38:::0;;;;;:66;;;;5405:34:::1;::::0;;::::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;5405:48:11;;;;;;;::::1;::::0;;;5487:14;;;;;;;;;;;5546:62:::1;::::0;5582:25:::1;::::0;:13:::1;:25::i;:::-;5546:31;::::0;;;:22:::1;::::0;::::1;:31;::::0;;;;;;:62:::1;:35;:62;:::i;:::-;5512:31;::::0;;;:22:::1;::::0;::::1;:31;::::0;;;;;;;;:96;;;;5651:119;;::::1;::::0;::::1;::::0;;5681:4:::1;5651:119:::0;;;;::::1;::::0;;;;;5734:25:::1;5748:10;5734:13;:25::i;:::-;5651:119:::0;;5637:10:::1;5619:29;::::0;;;:17:::1;::::0;::::1;:29;::::0;;;;;;;:151;;;;-1:-1:-1;;5619:151:11::1;::::0;::::1;;;::::0;;;;::::1;::::0;-1:-1:-1;5619:151:11;;::::1;::::0;;;;;;;::::1;::::0;::::1;::::0;;::::1;::::0;5781:14:::1;::::0;::::1;27:10:-1::0;;23:18;;::::1;45:23:::0;;5781:31:11;;;;;;::::1;::::0;;-1:-1:-1;;;;;;5781:31:11::1;::::0;::::1;::::0;;5828:67:::1;::::0;5851:7;5860;5869:25:::1;5637:10:::0;5869:13:::1;:25::i;:::-;5828:67;::::0;;-1:-1:-1;;;;;5828:67:11;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;::::1;4805:1;4897:1005:::0;;;:::o;7054:337::-;7117:12;7132:27;7148:10;7132:15;:27::i;:::-;7117:42;;7216:10;7205:7;7177:25;7191:10;7177:13;:25::i;:::-;:35;:49;;7169:105;;;;-1:-1:-1;;;7169:105:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7289:10;7284:16;;;;:4;:16;;;;;;;;:43;;;;;;;7345:5;;:38;;-1:-1:-1;;;7345:38:11;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7345:5:11;;;;:14;;:38;;;;;7284:16;7345:38;;;;;;;;:5;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;7345:38:11;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7345:38:11;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;7345:38:11;7337:47;;;;;;7054:337;;:::o;1224:44::-;;;;;;;;;;;;;:::o;3497:152::-;3590:7;3572;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;-1:-1:-1;;3616:5:11::1;:14:::0;;;::::1;::::0;;;;;;;:26;;;:22:::1;::::0;;::::1;:26:::0;;;;;;3497:152::o;4453:163::-;4544:4;4526:7;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;-1:-1:-1;;4568:5:11::1;:14:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;4568:31:11;;;::::1;::::0;;:24:::1;::::0;;::::1;:31:::0;;;;:40;::::1;;::::0;4453:163::o;3950:430::-;4049:7;4058;4031;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;4110:22:::1;4085:5:::0;:14;;;::::1;::::0;;;;;;:21;-1:-1:-1;;;4085:21:11;::::1;;;:47;::::0;::::1;;;;;;;;4077:56;;;::::0;::::1;;4151:29;4164:7;4173:6;4151:12;:29::i;:::-;4143:38;;;::::0;::::1;;-1:-1:-1::0;;;4191:20:11::1;4214:14:::0;;;::::1;::::0;;;;;;;-1:-1:-1;;;;;4253:25:11;;;::::1;::::0;;:17:::1;::::0;;::::1;:25:::0;;;;:30:::1;::::0;::::1;::::0;4310:32:::1;::::0;;::::1;::::0;4253:30;;3950:430::o;2840:344::-;2922:7;2931:10;2943:7;2952:13;2967:16;2985:7;2904;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;3012:5:::1;:14:::0;;;::::1;::::0;;;;;;;;:22;;;3059:26;;::::1;::::0;3147:29:::1;::::0;::::1;::::0;3087:26:::1;::::0;::::1;3004:173:::0;;;;::::1;3012:22;3004:173:::0;;::::1;;::::0;;;::::1;-1:-1:-1::0;;3004:173:11;;;::::1;::::0;;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;-1:-1:-1;;;;;3012:22:11;::::1;::::0;-1:-1:-1;;;3036:21:11;;::::1;;;::::0;3059:26;;3087;;3124:21:::1;::::0;;::::1;::::0;3147:29;;3087:26;;3004:173;;::::1;3087:26:::0;3004:173;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;-1:-1:-1;;;;;3004:173:11::1;::::0;;;;;::::1;::::0;::::1;;::::0;;::::1;;;;;;;;;;;;;;;;;;;;;;;2840:344:::0;;;;;;;;:::o;3239:197::-;3316:7;3325;3298;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;3352:5:::1;:14:::0;;;::::1;::::0;;;;;;:23:::1;;::::0;3377:51:::1;3358:7:::0;3352:23;3377:17:::1;:51::i;:::-;3344:85;;;;3239:197:::0;;;;:::o;1275:24::-;;;;:::o;7485:447::-;-1:-1:-1;;;;;7594:12:11;;7547:4;7594:12;;;:4;:12;;;;;7547:4;;7638:264;7659:25;;;:32;7655:36;;7638:264;;;7712:14;7729:7;:25;;7755:1;7729:28;;;;;;;;;;;;;;;;7712:45;;7809:7;7775;:20;;:31;7796:9;7775:31;;;;;;;;;;;;:41;7771:121;;;7846:31;;;;:20;;;:31;;;;;;;-1:-1:-1;7771:121:11;-1:-1:-1;7693:3:11;;7638:264;;;-1:-1:-1;7918:7:11;7485:447;-1:-1:-1;;;7485:447:11:o;1184:34::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1184:34:11;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1184:34:11;;;-1:-1:-1;;;1184:34:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2459:328::-;2509:7;4745:1;4735:7;:11;:35;;;;;4761:9;;4750:7;:20;;4735:35;4727:68;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;-1:-1:-1;;;4727:68:11;;;;;;;;;;;;;;;2561:22:::1;2536:5:::0;:14;;;::::1;::::0;;;;;;:21;-1:-1:-1;;;2536:21:11;::::1;;;:47;::::0;::::1;;;;;;;2528:84;;;::::0;;-1:-1:-1;;;2528:84:11;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2637:5;:14:::0;;;::::1;::::0;;;;;;:29:::1;;::::0;2630:3:::1;:36;;2622:78;;;::::0;;-1:-1:-1;;;2622:78:11;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2710:20;2722:7;2710:11;:20::i;:::-;-1:-1:-1::0;;2740:5:11::1;:14:::0;;;::::1;::::0;;;;;;:40;;-1:-1:-1;;;;2740:40:11::1;-1:-1:-1::0;;;2740:40:11::1;::::0;;2459:328::o;1305:18::-;;;-1:-1:-1;;;;;1305:18:11;;:::o;2690:175:14:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:14:o;5955:415:11:-;6008:7;6050:14;;;;;;;;;;;6094:25;;;:22;;;:25;;;;;;6142:1;6129:173;6149:7;:19;;;6145:1;:23;6129:173;;;-1:-1:-1;;6242:3:11;;6219:27;;;;:22;;;:27;;;;;;;6191:25;;;;;;:55;6188:104;;;6276:1;6265:12;;6188:104;6170:3;;6129:173;;;-1:-1:-1;6311:16:11;;;;:27;;;6330:8;-1:-1:-1;5955:415:11;;;:::o;134:7994::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;134:7994:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;134:7994:11;;;-1:-1:-1;134:7994:11;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity >=0.6.0;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/math/SafeMath.sol\";\n\ncontract Votable {\n using SafeMath for uint256;\n\n /* EVENTS */\n event voteCasted(address voter, uint pollID, uint256 vote, uint256 weight);\n event pollCreated(address creator, uint pollID, string description, uint votingLength);\n event pollStatusUpdate(bool status);\n\n /* Determine the current state of a poll */\n enum PollStatus { IN_PROGRESS, ENDED }\n\n /* POLL */\n struct Poll {\n address creator;\n PollStatus status;\n uint256 optionsSize;\n mapping(uint256 => uint256) options;\n mapping(uint256 => uint256) votesPerOption;\n string description;\n address[] voters;\n uint expirationTime;\n uint256 winnerId;\n mapping(address => Voter) voterInfo;\n }\n\n /* VOTER */\n struct Voter {\n bool hasVoted;\n uint256 vote;\n uint256 weight;\n }\n\n /* TOKEN MANAGER */\n struct TokenManager {\n uint tokenBalance;\n mapping(uint => uint) lockedTokens;\n uint[] participatedPolls;\n }\n\n /* STATE VARIABLES */\n mapping(uint => Poll) public polls;\n mapping(address => TokenManager) public bank;\n\n uint256 public pollCount;\n ERC20 public token;\n\n /* CONSTRUCTOR */\n constructor(address _token) public {\n require(_token != address(0));\n token = ERC20(_token);\n }\n\n /* POLL OPERATIONS */\n\n /*\n * Creates a new poll with a specified quorum percentage.\n */\n function createPoll(string calldata _description, uint _voteLength, uint256[] calldata options) external returns (uint){\n require(_voteLength > 0, \"The voting period cannot be 0.\");\n require(options.length > 1, \"Options have to be higher than 1\");\n pollCount++;\n\n Poll storage curPoll = polls[pollCount];\n curPoll.creator = msg.sender;\n curPoll.status = PollStatus.IN_PROGRESS;\n \n for(uint i = 0; i < options.length; i++){\n curPoll.options[i] = options[i];\n }\n curPoll.optionsSize = options.length;\n curPoll.expirationTime = now + _voteLength * 1 seconds;\n curPoll.description = _description;\n\n emit pollCreated(msg.sender, pollCount, _description, _voteLength);\n return pollCount;\n }\n\n /*\n * Ends a poll. Only the creator of a given poll can end that poll.\n */\n function endPoll(uint _pollID) external validPoll(_pollID) {\n require(polls[_pollID].status == PollStatus.IN_PROGRESS, \"Vote is not in progress.\");\n require(now >= polls[_pollID].expirationTime, \"Voting period has not expired\");\n _countVotes(_pollID);\n polls[_pollID].status = PollStatus.ENDED;\n }\n\n /*\n * Gets the status of a poll.\n */\n function getPoolInformation(uint _pollID) public view validPoll(_pollID) returns (address, PollStatus, uint256, string memory, address[] memory, uint256) {\n return (polls[_pollID].creator, polls[_pollID].status, polls[_pollID].optionsSize, polls[_pollID].description, \n polls[_pollID].voters, polls[_pollID].expirationTime);\n }\n\n /*\n * Gets the winner vote of pool\n */\n function getPoolWinner(uint _pollID) public view validPoll(_pollID) returns (uint256, uint256) {\n return (polls[_pollID].winnerId, getPollOptionById(_pollID, polls[_pollID].winnerId));\n }\n\n /*\n * Gets the pool option meaning by id\n */\n function getPollOptionById(uint256 _pollID, uint id) public view validPoll(_pollID) returns (uint256) {\n return polls[_pollID].options[id];\n }\n\n /*\n * Gets the complete list of polls a user has voted in.\n */\n function getPollHistory(address _voter) public view returns(uint[] memory) {\n return bank[_voter].participatedPolls;\n }\n\n /*\n * Gets a voter's encrypted vote and weight for a given expired poll.\n */\n function getPollInfoForVoter(uint _pollID, address _voter) public view validPoll(_pollID) returns (uint256, uint256) {\n require(polls[_pollID].status != PollStatus.IN_PROGRESS);\n require(userHasVoted(_pollID, _voter));\n Poll storage curPoll = polls[_pollID];\n uint256 vote = curPoll.voterInfo[_voter].vote;\n uint256 weight = curPoll.voterInfo[_voter].weight;\n return (vote, weight);\n }\n\n /*\n * Checks if a user has voted for a specific poll.\n */\n function userHasVoted(uint _pollID, address _user) public view validPoll(_pollID) returns (bool) {\n return (polls[_pollID].voterInfo[_user].hasVoted);\n }\n\n /*\n * Modifier that checks for a valid poll ID.\n */\n modifier validPoll(uint _pollID) {\n require(_pollID > 0 && _pollID <= pollCount, \"Not a valid poll Id.\");\n _;\n }\n\n /* VOTE OPERATIONS */\n\n /*\n * Casts a vote for a given poll.\n */\n function castVote(uint _pollID, uint256 _voteId) external validPoll(_pollID) {\n require(polls[_pollID].status == PollStatus.IN_PROGRESS, \"Poll has expired.\");\n require(!userHasVoted(_pollID, msg.sender), \"User has already voted.\");\n require(polls[_pollID].expirationTime > now);\n require(_voteId < polls[_pollID].optionsSize, \"Vote option is not availble\");\n \n // update token bank\n bank[msg.sender].lockedTokens[_pollID] = getTokenStake(msg.sender);\n bank[msg.sender].participatedPolls.push(_pollID);\n\n Poll storage curPoll = polls[_pollID];\n\n curPoll.votesPerOption[_voteId] = curPoll.votesPerOption[_voteId].add(getTokenStake(msg.sender));\n\n curPoll.voterInfo[msg.sender] = Voter({\n hasVoted: true,\n vote: _voteId,\n weight: getTokenStake(msg.sender)\n });\n\n curPoll.voters.push(msg.sender);\n\n emit voteCasted(msg.sender, _pollID, _voteId, getTokenStake(msg.sender));\n }\n\n /*\n * Function that counts votes\n */\n function _countVotes(uint _pollID) internal returns (uint256) {\n Poll storage curPoll = polls[_pollID];\n\n uint256 winnerId = curPoll.votesPerOption[0];\n for(uint i = 1; i < curPoll.optionsSize; i++){\n if(curPoll.votesPerOption[i] > curPoll.votesPerOption[i-1]){\n winnerId = i;\n }\n }\n curPoll.winnerId = winnerId;\n return winnerId;\n }\n\n\n /* TOKEN OPERATIONS */\n\n /*\n * Stakes tokens for a given voter in return for voting credits.\n * NOTE:\n * User must approve transfer of tokens.\n * _numTokens is denominated in *wei*.\n */\n function stakeVotingTokens(uint256 _numTokens) external {\n require(token.balanceOf(msg.sender) >= _numTokens, \"User does not have enough tokens\");\n require(token.transferFrom(msg.sender, address(this), _numTokens), \"User did not approve token transfer.\");\n bank[msg.sender].tokenBalance += _numTokens;\n }\n\n /*\n * Allows a voter to withdraw voting tokens after a poll has ended.\n * NOTE: _numTokens is denominated in *wei*.\n */\n function withdrawTokens(uint256 _numTokens) external {\n uint largest = getLockedAmount(msg.sender);\n require(getTokenStake(msg.sender) - largest >= _numTokens, \"User is trying to withdraw too many tokens.\");\n bank[msg.sender].tokenBalance -= _numTokens;\n require(token.transfer(msg.sender, _numTokens));\n }\n\n /*\n * Gets the amount of Voting Tokens that are locked for a given voter.\n */\n function getLockedAmount(address _voter) public view returns (uint) {\n TokenManager storage manager = bank[_voter];\n uint largest;\n for (uint i = 0; i < manager.participatedPolls.length; i++) {\n uint curPollID = manager.participatedPolls[i];\n if (manager.lockedTokens[curPollID] > largest) {\n largest = manager.lockedTokens[curPollID];\n }\n }\n return largest;\n }\n\n /*\n * Gets the amount of Voting Credits for a given voter.\n */\n function getTokenStake(address _voter) public view returns(uint) {\n return bank[_voter].tokenBalance;\n }\n\n}", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Votable.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Votable.sol", - "exportedSymbols": { - "Votable": [ - 5644 - ] - }, - "id": 5645, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4839, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 4840, - "nodeType": "ImportDirective", - "scope": 5645, - "sourceUnit": 6533, - "src": "25:55:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 4841, - "nodeType": "ImportDirective", - "scope": 5645, - "sourceUnit": 6049, - "src": "81:51:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5644, - "linearizedBaseContracts": [ - 5644 - ], - "name": "Votable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4844, - "libraryName": { - "contractScope": null, - "id": 4842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6048, - "src": "163:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6048", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "157:27:11", - "typeName": { - "id": 4843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "176:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 4854, - "name": "voteCasted", - "nodeType": "EventDefinition", - "parameters": { - "id": 4853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "indexed": false, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "224:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "224:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "indexed": false, - "name": "pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "239:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4847, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "239:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "indexed": false, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "252:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "252:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4852, - "indexed": false, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "266:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "266:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "223:58:11" - }, - "src": "207:75:11" - }, - { - "anonymous": false, - "documentation": null, - "id": 4864, - "name": "pollCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4856, - "indexed": false, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "305:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "305:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": false, - "name": "pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "322:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4857, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "322:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4860, - "indexed": false, - "name": "description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "335:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4859, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "335:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4862, - "indexed": false, - "name": "votingLength", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "355:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4861, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "355:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "304:69:11" - }, - "src": "287:87:11" - }, - { - "anonymous": false, - "documentation": null, - "id": 4868, - "name": "pollStatusUpdate", - "nodeType": "EventDefinition", - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4866, - "indexed": false, - "name": "status", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4868, - "src": "402:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4865, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "402:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "401:13:11" - }, - "src": "379:36:11" - }, - { - "canonicalName": "Votable.PollStatus", - "id": 4871, - "members": [ - { - "id": 4869, - "name": "IN_PROGRESS", - "nodeType": "EnumValue", - "src": "487:11:11" - }, - { - "id": 4870, - "name": "ENDED", - "nodeType": "EnumValue", - "src": "500:5:11" - } - ], - "name": "PollStatus", - "nodeType": "EnumDefinition", - "src": "469:38:11" - }, - { - "canonicalName": "Votable.Poll", - "id": 4899, - "members": [ - { - "constant": false, - "id": 4873, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "550:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "name": "status", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "575:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "typeName": { - "contractScope": null, - "id": 4874, - "name": "PollStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4871, - "src": "575:10:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "name": "optionsSize", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "602:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4881, - "name": "options", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "631:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4880, - "keyType": { - "id": 4878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "631:27:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "650:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4885, - "name": "votesPerOption", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "676:42:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4884, - "keyType": { - "id": 4882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "684:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "676:27:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4887, - "name": "description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "728:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4886, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "728:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4890, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "756:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "756:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4889, - "length": null, - "nodeType": "ArrayTypeName", - "src": "756:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4892, - "name": "expirationTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "782:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4891, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "782:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4894, - "name": "winnerId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "811:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "811:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4898, - "name": "voterInfo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "837:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter)" - }, - "typeName": { - "id": 4897, - "keyType": { - "id": 4895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "845:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "837:25:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4896, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4906, - "src": "856:5:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage_ptr", - "typeString": "struct Votable.Voter" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Poll", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "528:351:11", - "visibility": "public" - }, - { - "canonicalName": "Votable.Voter", - "id": 4906, - "members": [ - { - "constant": false, - "id": 4901, - "name": "hasVoted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "924:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4900, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "924:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "947:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "947:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "969:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "969:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "901:89:11", - "visibility": "public" - }, - { - "canonicalName": "Votable.TokenManager", - "id": 4916, - "members": [ - { - "constant": false, - "id": 4908, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1050:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4907, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1050:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4912, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1077:34:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4911, - "keyType": { - "id": 4909, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1085:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1077:21:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4910, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1093:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4915, - "name": "participatedPolls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1121:24:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4913, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1121:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4914, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1121:6:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenManager", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "1020:132:11", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ac2f0074", - "id": 4920, - "name": "polls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1184:34:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll)" - }, - "typeName": { - "id": 4919, - "keyType": { - "id": 4917, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1192:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1184:21:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll)" - }, - "valueType": { - "contractScope": null, - "id": 4918, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "1200:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "529a1baf", - "id": 4924, - "name": "bank", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1224:44:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager)" - }, - "typeName": { - "id": 4923, - "keyType": { - "id": 4921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1232:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1224:32:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager)" - }, - "valueType": { - "contractScope": null, - "id": 4922, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4916, - "src": "1243:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9207891d", - "id": 4926, - "name": "pollCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1275:24:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1275:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fc0c546a", - "id": 4928, - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1305:18:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4927, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6532, - "src": "1305:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4948, - "nodeType": "Block", - "src": "1387:77:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4934, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1405:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1423:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1415:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4935, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1415:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1415:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1405:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4933, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1397:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1397:29:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4941, - "nodeType": "ExpressionStatement", - "src": "1397:29:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4942, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "1436:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4944, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1450:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4943, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6532, - "src": "1444:5:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$6532_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1444:13:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "src": "1436:21:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 4947, - "nodeType": "ExpressionStatement", - "src": "1436:21:11" - } - ] - }, - "documentation": null, - "id": 4949, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4930, - "name": "_token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4949, - "src": "1364:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1364:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1363:16:11" - }, - "returnParameters": { - "id": 4932, - "nodeType": "ParameterList", - "parameters": [], - "src": "1387:0:11" - }, - "scope": 5644, - "src": "1352:112:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5055, - "nodeType": "Block", - "src": "1691:677:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4962, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "1709:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1723:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1709:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686520766f74696e6720706572696f642063616e6e6f7420626520302e", - "id": 4965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1726:32:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06f0f5afc871ac0e879dcddd2890052485c59a16e238d8e4c8ea82bf6b6ad077", - "typeString": "literal_string \"The voting period cannot be 0.\"" - }, - "value": "The voting period cannot be 0." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06f0f5afc871ac0e879dcddd2890052485c59a16e238d8e4c8ea82bf6b6ad077", - "typeString": "literal_string \"The voting period cannot be 0.\"" - } - ], - "id": 4961, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1701:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1701:58:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4967, - "nodeType": "ExpressionStatement", - "src": "1701:58:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4969, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "1777:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1777:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1794:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1777:18:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f7074696f6e73206861766520746f20626520686967686572207468616e2031", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1797:34:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c07392530dfcca0d99b449e2cceece4264ad6d4bfc6257103dd8ea269d24713b", - "typeString": "literal_string \"Options have to be higher than 1\"" - }, - "value": "Options have to be higher than 1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c07392530dfcca0d99b449e2cceece4264ad6d4bfc6257103dd8ea269d24713b", - "typeString": "literal_string \"Options have to be higher than 1\"" - } - ], - "id": 4968, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1769:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1769:63:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4975, - "nodeType": "ExpressionStatement", - "src": "1769:63:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1842:11:11", - "subExpression": { - "argumentTypes": null, - "id": 4976, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "1842:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4978, - "nodeType": "ExpressionStatement", - "src": "1842:11:11" - }, - { - "assignments": [ - 4980 - ], - "declarations": [ - { - "constant": false, - "id": 4980, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5055, - "src": "1864:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 4979, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "1864:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4984, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4981, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "1887:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 4983, - "indexExpression": { - "argumentTypes": null, - "id": 4982, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "1893:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1887:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1864:39:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4985, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "1913:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4873, - "src": "1913:15:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4988, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1931:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1931:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1913:28:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4991, - "nodeType": "ExpressionStatement", - "src": "1913:28:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "1951:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 4994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "1951:14:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4995, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "1968:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 4996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "1951:39:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "id": 4998, - "nodeType": "ExpressionStatement", - "src": "1951:39:11" - }, - { - "body": { - "id": 5020, - "nodeType": "Block", - "src": "2049:56:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5010, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2063:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 4881, - "src": "2063:15:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5014, - "indexExpression": { - "argumentTypes": null, - "id": 5012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2079:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2063:18:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5015, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2084:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "id": 5016, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2092:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2084:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2063:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5019, - "nodeType": "ExpressionStatement", - "src": "2063:31:11" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5003, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2025:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5004, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2029:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2029:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2025:18:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5021, - "initializationExpression": { - "assignments": [ - 5000 - ], - "declarations": [ - { - "constant": false, - "id": 5000, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5021, - "src": "2013:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4999, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2013:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5002, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2013:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2045:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5007, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2045:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5009, - "nodeType": "ExpressionStatement", - "src": "2045:3:11" - }, - "nodeType": "ForStatement", - "src": "2009:96:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5022, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2114:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "2114:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5025, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2136:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2136:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2114:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5028, - "nodeType": "ExpressionStatement", - "src": "2114:36:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5029, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2160:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "2160:22:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5032, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "2185:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5033, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "2191:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2205:9:11", - "subdenomination": "seconds", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2191:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2185:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2160:54:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5038, - "nodeType": "ExpressionStatement", - "src": "2160:54:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5039, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2224:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 4887, - "src": "2224:19:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5042, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "2246:12:11", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "2224:34:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 5044, - "nodeType": "ExpressionStatement", - "src": "2224:34:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5046, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2286:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2286:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5048, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "2298:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5049, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "2309:12:11", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 5050, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "2323:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5045, - "name": "pollCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "2274:11:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,string memory,uint256)" - } - }, - "id": 5051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2274:61:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5052, - "nodeType": "EmitStatement", - "src": "2269:66:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5053, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "2352:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4960, - "id": 5054, - "nodeType": "Return", - "src": "2345:16:11" - } - ] - }, - "documentation": null, - "functionSelector": "003c59fd", - "id": 5056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPoll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4951, - "name": "_description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1592:28:11", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4950, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1592:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4953, - "name": "_voteLength", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1622:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4952, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1622:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4956, - "name": "options", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1640:26:11", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1640:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4955, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1640:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1591:76:11" - }, - "returnParameters": { - "id": 4960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4959, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1686:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4958, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1686:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1685:6:11" - }, - "scope": 5644, - "src": "1572:796:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5097, - "nodeType": "Block", - "src": "2518:269:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5065, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2536:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5067, - "indexExpression": { - "argumentTypes": null, - "id": 5066, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2542:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2536:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "2536:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5069, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "2561:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2561:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "2536:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f7465206973206e6f7420696e2070726f67726573732e", - "id": 5072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2585:26:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0d4b46159c738eaaebb7dc41acc554b07da0ca7a7827371c82ff43c72552f1be", - "typeString": "literal_string \"Vote is not in progress.\"" - }, - "value": "Vote is not in progress." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0d4b46159c738eaaebb7dc41acc554b07da0ca7a7827371c82ff43c72552f1be", - "typeString": "literal_string \"Vote is not in progress.\"" - } - ], - "id": 5064, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2528:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2528:84:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "ExpressionStatement", - "src": "2528:84:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5076, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "2630:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5077, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2637:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5079, - "indexExpression": { - "argumentTypes": null, - "id": 5078, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2643:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2637:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "2637:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2630:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f74696e6720706572696f6420686173206e6f742065787069726564", - "id": 5082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2668:31:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b911f6895dd65120053a16e8ad2ffc79691b21c19c24bb91157bb1dfbce14ae", - "typeString": "literal_string \"Voting period has not expired\"" - }, - "value": "Voting period has not expired" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b911f6895dd65120053a16e8ad2ffc79691b21c19c24bb91157bb1dfbce14ae", - "typeString": "literal_string \"Voting period has not expired\"" - } - ], - "id": 5075, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2622:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2622:78:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5084, - "nodeType": "ExpressionStatement", - "src": "2622:78:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5086, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2722:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5085, - "name": "_countVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5494, - "src": "2710:11:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 5087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2710:20:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5088, - "nodeType": "ExpressionStatement", - "src": "2710:20:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5089, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2740:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5091, - "indexExpression": { - "argumentTypes": null, - "id": 5090, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2746:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2740:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "2740:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5093, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "2764:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ENDED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2764:16:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "2740:40:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "id": 5096, - "nodeType": "ExpressionStatement", - "src": "2740:40:11" - } - ] - }, - "documentation": null, - "functionSelector": "f43b8778", - "id": 5098, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5061, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2509:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5062, - "modifierName": { - "argumentTypes": null, - "id": 5060, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2499:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2499:18:11" - } - ], - "name": "endPoll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5058, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5098, - "src": "2476:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5057, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2476:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2475:14:11" - }, - "returnParameters": { - "id": 5063, - "nodeType": "ParameterList", - "parameters": [], - "src": "2518:0:11" - }, - "scope": 5644, - "src": "2459:328:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5145, - "nodeType": "Block", - "src": "2994:190:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5119, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3012:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5121, - "indexExpression": { - "argumentTypes": null, - "id": 5120, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3018:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3012:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4873, - "src": "3012:22:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5123, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3036:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5125, - "indexExpression": { - "argumentTypes": null, - "id": 5124, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3042:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3036:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "3036:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5127, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3059:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5129, - "indexExpression": { - "argumentTypes": null, - "id": 5128, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3065:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3059:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "3059:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5131, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3087:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5133, - "indexExpression": { - "argumentTypes": null, - "id": 5132, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3093:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3087:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 4887, - "src": "3087:26:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5135, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3124:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5137, - "indexExpression": { - "argumentTypes": null, - "id": 5136, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3130:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 4890, - "src": "3124:21:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5139, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3147:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "id": 5140, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3153:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3147:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "3147:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5143, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3011:166:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_PollStatus_$4871_$_t_uint256_$_t_string_storage_$_t_array$_t_address_$dyn_storage_$_t_uint256_$", - "typeString": "tuple(address,enum Votable.PollStatus,uint256,string storage ref,address[] storage ref,uint256)" - } - }, - "functionReturnParameters": 5118, - "id": 5144, - "nodeType": "Return", - "src": "3004:173:11" - } - ] - }, - "documentation": null, - "functionSelector": "896e1da9", - "id": 5146, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5103, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "2904:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5104, - "modifierName": { - "argumentTypes": null, - "id": 5102, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2894:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2894:18:11" - } - ], - "name": "getPoolInformation", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5100, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2868:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5099, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2868:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2867:14:11" - }, - "returnParameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5106, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2922:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2922:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5108, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2931:10:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "typeName": { - "contractScope": null, - "id": 5107, - "name": "PollStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4871, - "src": "2931:10:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5110, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2943:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2943:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5112, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2952:13:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5111, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2952:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2967:16:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2967:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2967:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2985:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2985:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2921:72:11" - }, - "scope": 5644, - "src": "2840:344:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5171, - "nodeType": "Block", - "src": "3334:102:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3352:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3358:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3352:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "3352:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5163, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3395:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3404:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3410:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3404:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "3404:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5162, - "name": "getPollOptionById", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "3377:17:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 5168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3377:51:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5169, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3351:78:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 5157, - "id": 5170, - "nodeType": "Return", - "src": "3344:85:11" - } - ] - }, - "documentation": null, - "functionSelector": "8a0ce67d", - "id": 5172, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3298:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5152, - "modifierName": { - "argumentTypes": null, - "id": 5150, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "3288:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3288:18:11" - } - ], - "name": "getPoolWinner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5148, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3262:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3262:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:14:11" - }, - "returnParameters": { - "id": 5157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5154, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3316:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3316:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5156, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3325:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3325:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3315:18:11" - }, - "scope": 5644, - "src": "3239:197:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "3599:50:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5184, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3616:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5186, - "indexExpression": { - "argumentTypes": null, - "id": 5185, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5174, - "src": "3622:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3616:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 4881, - "src": "3616:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5189, - "indexExpression": { - "argumentTypes": null, - "id": 5188, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5176, - "src": "3639:2:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3616:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5183, - "id": 5190, - "nodeType": "Return", - "src": "3609:33:11" - } - ] - }, - "documentation": null, - "functionSelector": "5beed676", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5179, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5174, - "src": "3572:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5180, - "modifierName": { - "argumentTypes": null, - "id": 5178, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "3562:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3562:18:11" - } - ], - "name": "getPollOptionById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3524:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3524:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3541:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3541:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3523:26:11" - }, - "returnParameters": { - "id": 5183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5182, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3590:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3590:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:9:11" - }, - "scope": 5644, - "src": "3497:152:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5205, - "nodeType": "Block", - "src": "3803:54:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5200, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "3820:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5202, - "indexExpression": { - "argumentTypes": null, - "id": 5201, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "3825:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3820:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "3820:30:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 5199, - "id": 5204, - "nodeType": "Return", - "src": "3813:37:11" - } - ] - }, - "documentation": null, - "functionSelector": "0de88fd8", - "id": 5206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPollHistory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5206, - "src": "3752:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3752:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3751:16:11" - }, - "returnParameters": { - "id": 5199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5198, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5206, - "src": "3788:13:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5196, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3788:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5197, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3788:6:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3787:15:11" - }, - "scope": 5644, - "src": "3728:129:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5263, - "nodeType": "Block", - "src": "4067:313:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5221, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4085:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5223, - "indexExpression": { - "argumentTypes": null, - "id": 5222, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4091:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4085:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "4085:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "4110:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4110:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "4085:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4077:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4077:56:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5229, - "nodeType": "ExpressionStatement", - "src": "4077:56:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5232, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4164:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5233, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4173:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5231, - "name": "userHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5286, - "src": "4151:12:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 5234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4151:29:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5230, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4143:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4143:38:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5236, - "nodeType": "ExpressionStatement", - "src": "4143:38:11" - }, - { - "assignments": [ - 5238 - ], - "declarations": [ - { - "constant": false, - "id": 5238, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4191:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5237, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "4191:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5242, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5239, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4214:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5241, - "indexExpression": { - "argumentTypes": null, - "id": 5240, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4220:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4214:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4191:37:11" - }, - { - "assignments": [ - 5244 - ], - "declarations": [ - { - "constant": false, - "id": 5244, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4238:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4238:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5250, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5245, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "4253:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4253:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4271:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4253:25:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4903, - "src": "4253:30:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4238:45:11" - }, - { - "assignments": [ - 5252 - ], - "declarations": [ - { - "constant": false, - "id": 5252, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4293:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4293:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5258, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5253, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "4310:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4310:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5256, - "indexExpression": { - "argumentTypes": null, - "id": 5255, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4328:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4310:25:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 4905, - "src": "4310:32:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4293:49:11" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5259, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5244, - "src": "4360:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5260, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5252, - "src": "4366:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5261, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4359:14:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 5219, - "id": 5262, - "nodeType": "Return", - "src": "4352:21:11" - } - ] - }, - "documentation": null, - "functionSelector": "6cee7be5", - "id": 5264, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5213, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4031:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5214, - "modifierName": { - "argumentTypes": null, - "id": 5212, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4021:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4021:18:11" - } - ], - "name": "getPollInfoForVoter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5208, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "3979:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5207, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3979:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5210, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "3993:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3993:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:30:11" - }, - "returnParameters": { - "id": 5219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5216, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "4049:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4049:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5218, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "4058:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4058:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4048:18:11" - }, - "scope": 5644, - "src": "3950:430:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5285, - "nodeType": "Block", - "src": "4550:66:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5276, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4568:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5278, - "indexExpression": { - "argumentTypes": null, - "id": 5277, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "4574:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4568:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4568:24:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5281, - "indexExpression": { - "argumentTypes": null, - "id": 5280, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "4593:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4568:31:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasVoted", - "nodeType": "MemberAccess", - "referencedDeclaration": 4901, - "src": "4568:40:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4567:42:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5275, - "id": 5284, - "nodeType": "Return", - "src": "4560:49:11" - } - ] - }, - "documentation": null, - "functionSelector": "5fc48d7e", - "id": 5286, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5271, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "4526:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5272, - "modifierName": { - "argumentTypes": null, - "id": 5270, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4516:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4516:18:11" - } - ], - "name": "userHasVoted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5266, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4475:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5265, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4475:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4489:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4489:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:29:11" - }, - "returnParameters": { - "id": 5275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5274, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4544:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5273, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4544:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4543:6:11" - }, - "scope": 5644, - "src": "4453:163:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5302, - "nodeType": "Block", - "src": "4717:96:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5291, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "4735:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4745:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4735:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5294, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "4750:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5295, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4761:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4750:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4735:35:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420612076616c696420706f6c6c2049642e", - "id": 5298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4772:22:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b81cd74f6d22e3451a7268a9b3488e7155724bcfac47f161acd873f90f75993", - "typeString": "literal_string \"Not a valid poll Id.\"" - }, - "value": "Not a valid poll Id." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8b81cd74f6d22e3451a7268a9b3488e7155724bcfac47f161acd873f90f75993", - "typeString": "literal_string \"Not a valid poll Id.\"" - } - ], - "id": 5290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4727:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4727:68:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5300, - "nodeType": "ExpressionStatement", - "src": "4727:68:11" - }, - { - "id": 5301, - "nodeType": "PlaceholderStatement", - "src": "4805:1:11" - } - ] - }, - "documentation": null, - "id": 5303, - "name": "validPoll", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5288, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "4703:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5287, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4703:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4702:14:11" - }, - "src": "4684:129:11", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5434, - "nodeType": "Block", - "src": "4974:928:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5314, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4992:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5316, - "indexExpression": { - "argumentTypes": null, - "id": 5315, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "4998:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4992:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5317, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "4992:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5318, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "5017:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5017:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "4992:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "506f6c6c2068617320657870697265642e", - "id": 5321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5041:19:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_656ca8e253f1290a6da961e39fb77da9e41bcbce9330eaf86dfeef5a633dd309", - "typeString": "literal_string \"Poll has expired.\"" - }, - "value": "Poll has expired." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_656ca8e253f1290a6da961e39fb77da9e41bcbce9330eaf86dfeef5a633dd309", - "typeString": "literal_string \"Poll has expired.\"" - } - ], - "id": 5313, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4984:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4984:77:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5323, - "nodeType": "ExpressionStatement", - "src": "4984:77:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5079:34:11", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5326, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5093:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5327, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5102:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5102:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5325, - "name": "userHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5286, - "src": "5080:12:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "557365722068617320616c726561647920766f7465642e", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5115:25:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40c06d9d147b4fada5503501abe9c619b5bf4815cd62c57e084c0aa49c5bef3f", - "typeString": "literal_string \"User has already voted.\"" - }, - "value": "User has already voted." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_40c06d9d147b4fada5503501abe9c619b5bf4815cd62c57e084c0aa49c5bef3f", - "typeString": "literal_string \"User has already voted.\"" - } - ], - "id": 5324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5071:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5071:70:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "5071:70:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5335, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5159:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5337, - "indexExpression": { - "argumentTypes": null, - "id": 5336, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5165:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5159:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "5159:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5339, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "5191:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5159:35:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5334, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5151:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5151:44:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5342, - "nodeType": "ExpressionStatement", - "src": "5151:44:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5344, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5213:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5345, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5223:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5347, - "indexExpression": { - "argumentTypes": null, - "id": 5346, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5229:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5223:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "5223:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5213:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f7465206f7074696f6e206973206e6f7420617661696c626c65", - "id": 5350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5251:29:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7168b512d7ef0df706ff12e626ce1c0f9ac1ebf15c7b5a3d583e1f116fd716a", - "typeString": "literal_string \"Vote option is not availble\"" - }, - "value": "Vote option is not availble" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7168b512d7ef0df706ff12e626ce1c0f9ac1ebf15c7b5a3d583e1f116fd716a", - "typeString": "literal_string \"Vote option is not availble\"" - } - ], - "id": 5343, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5205:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5205:76:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5352, - "nodeType": "ExpressionStatement", - "src": "5205:76:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5353, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "5329:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5356, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5334:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5334:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5329:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "5329:29:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "id": 5358, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5359:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5329:38:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5384:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5384:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5360, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5370:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5370:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5329:66:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5365, - "nodeType": "ExpressionStatement", - "src": "5329:66:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5372, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5445:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5366, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "5405:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5369, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5410:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5410:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5405:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "5405:34:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5405:39:11", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 5373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5405:48:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5374, - "nodeType": "ExpressionStatement", - "src": "5405:48:11" - }, - { - "assignments": [ - 5376 - ], - "declarations": [ - { - "constant": false, - "id": 5376, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5434, - "src": "5464:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5375, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "5464:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5380, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5377, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5487:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5379, - "indexExpression": { - "argumentTypes": null, - "id": 5378, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5493:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5487:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5464:37:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5381, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5512:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "5512:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5385, - "indexExpression": { - "argumentTypes": null, - "id": 5383, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5535:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5512:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5392, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5596:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5596:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5391, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5582:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5582:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5386, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5546:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "5546:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5389, - "indexExpression": { - "argumentTypes": null, - "id": 5388, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5569:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5546:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5882, - "src": "5546:35:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5546:62:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5512:96:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5397, - "nodeType": "ExpressionStatement", - "src": "5512:96:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5398, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5619:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5402, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "5619:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5403, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5637:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5637:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5619:29:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5681:4:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 5406, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5705:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5408, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5748:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5748:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5407, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5734:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5734:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5404, - "name": "Voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "5651:5:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Voter_$4906_storage_ptr_$", - "typeString": "type(struct Votable.Voter storage pointer)" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "hasVoted", - "vote", - "weight" - ], - "nodeType": "FunctionCall", - "src": "5651:119:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_memory", - "typeString": "struct Votable.Voter memory" - } - }, - "src": "5619:151:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5413, - "nodeType": "ExpressionStatement", - "src": "5619:151:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5419, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5801:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5801:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5414, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5781:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 4890, - "src": "5781:14:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5781:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5781:31:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5422, - "nodeType": "ExpressionStatement", - "src": "5781:31:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5424, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5839:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5839:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5426, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5851:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5427, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5860:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5883:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5883:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5428, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5869:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5869:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5423, - "name": "voteCasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "5828:10:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5828:67:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5433, - "nodeType": "EmitStatement", - "src": "5823:72:11" - } - ] - }, - "documentation": null, - "functionSelector": "2c0a3f89", - "id": 5435, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5310, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "4965:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5311, - "modifierName": { - "argumentTypes": null, - "id": 5309, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4955:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4955:18:11" - } - ], - "name": "castVote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5308, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5305, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5435, - "src": "4915:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5304, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4915:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5435, - "src": "4929:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4929:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4914:31:11" - }, - "returnParameters": { - "id": 5312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4974:0:11" - }, - "scope": 5644, - "src": "4897:1005:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5493, - "nodeType": "Block", - "src": "6017:353:11", - "statements": [ - { - "assignments": [ - 5443 - ], - "declarations": [ - { - "constant": false, - "id": 5443, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5493, - "src": "6027:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5442, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "6027:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5447, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5444, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "6050:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5446, - "indexExpression": { - "argumentTypes": null, - "id": 5445, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5437, - "src": "6056:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6050:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6027:37:11" - }, - { - "assignments": [ - 5449 - ], - "declarations": [ - { - "constant": false, - "id": 5449, - "name": "winnerId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5493, - "src": "6075:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6075:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5454, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5450, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6094:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6094:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5453, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6117:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6094:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6075:44:11" - }, - { - "body": { - "id": 5483, - "nodeType": "Block", - "src": "6174:128:11", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6191:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5467, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6191:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5469, - "indexExpression": { - "argumentTypes": null, - "id": 5468, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6214:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6191:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5470, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6219:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6219:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5475, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5472, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6242:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6244:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6242:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6219:27:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6191:55:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5482, - "nodeType": "IfStatement", - "src": "6188:104:11", - "trueBody": { - "id": 5481, - "nodeType": "Block", - "src": "6247:45:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5477, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6265:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5478, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6276:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6265:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5480, - "nodeType": "ExpressionStatement", - "src": "6265:12:11" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5459, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6145:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5460, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6149:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "6149:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6145:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5484, - "initializationExpression": { - "assignments": [ - 5456 - ], - "declarations": [ - { - "constant": false, - "id": 5456, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5484, - "src": "6133:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5455, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6133:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5458, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6142:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6133:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6170:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5463, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6170:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "6170:3:11" - }, - "nodeType": "ForStatement", - "src": "6129:173:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5485, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6311:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "6311:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5488, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6330:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6311:27:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5490, - "nodeType": "ExpressionStatement", - "src": "6311:27:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5491, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6355:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5441, - "id": 5492, - "nodeType": "Return", - "src": "6348:15:11" - } - ] - }, - "documentation": null, - "id": 5494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_countVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5437, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5494, - "src": "5976:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5436, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5976:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5975:14:11" - }, - "returnParameters": { - "id": 5441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5440, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5494, - "src": "6008:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6008:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6007:9:11" - }, - "scope": 5644, - "src": "5955:415:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5532, - "nodeType": "Block", - "src": "6643:272:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6677:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6677:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "6661:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6144, - "src": "6661:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6661:27:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5505, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6692:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6661:41:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220646f6573206e6f74206861766520656e6f75676820746f6b656e73", - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6704:34:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_99ff561f2ebb8c611843845fdc0f06dcbed04cfb2bca9c6e49d9e0513b371c21", - "typeString": "literal_string \"User does not have enough tokens\"" - }, - "value": "User does not have enough tokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_99ff561f2ebb8c611843845fdc0f06dcbed04cfb2bca9c6e49d9e0513b371c21", - "typeString": "literal_string \"User does not have enough tokens\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6653:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6653:86:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5509, - "nodeType": "ExpressionStatement", - "src": "6653:86:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6776:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6776:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5517, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6796:4:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Votable_$5644", - "typeString": "contract Votable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Votable_$5644", - "typeString": "contract Votable" - } - ], - "id": 5516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6788:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6788:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6788:13:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6803:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5511, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "6757:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6238, - "src": "6757:18:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6757:57:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220646964206e6f7420617070726f766520746f6b656e207472616e736665722e", - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6816:38:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d370b466d17e4f39036b370911199e303f2a0bb02715fa44e0cb542e7b1d46dd", - "typeString": "literal_string \"User did not approve token transfer.\"" - }, - "value": "User did not approve token transfer." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d370b466d17e4f39036b370911199e303f2a0bb02715fa44e0cb542e7b1d46dd", - "typeString": "literal_string \"User did not approve token transfer.\"" - } - ], - "id": 5510, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6749:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:106:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5523, - "nodeType": "ExpressionStatement", - "src": "6749:106:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5524, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "6865:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5525, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6870:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6870:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6865:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "6865:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5529, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6898:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6865:43:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5531, - "nodeType": "ExpressionStatement", - "src": "6865:43:11" - } - ] - }, - "documentation": null, - "functionSelector": "0da65600", - "id": 5533, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "stakeVotingTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5533, - "src": "6614:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6614:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6613:20:11" - }, - "returnParameters": { - "id": 5498, - "nodeType": "ParameterList", - "parameters": [], - "src": "6643:0:11" - }, - "scope": 5644, - "src": "6587:328:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5574, - "nodeType": "Block", - "src": "7107:284:11", - "statements": [ - { - "assignments": [ - 5539 - ], - "declarations": [ - { - "constant": false, - "id": 5539, - "name": "largest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5574, - "src": "7117:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5538, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7117:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5544, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5541, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7148:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7148:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5540, - "name": "getLockedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "7132:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:27:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7117:42:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5547, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7191:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7191:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5546, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "7177:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7177:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5550, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5539, - "src": "7205:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7177:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5552, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7216:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7177:49:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220697320747279696e6720746f20776974686472617720746f6f206d616e7920746f6b656e732e", - "id": 5554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7228:45:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5ecaca0dc17b4d9e218f57fe5e1780b0501c2968ace18989baf2dfdedadf4d3a", - "typeString": "literal_string \"User is trying to withdraw too many tokens.\"" - }, - "value": "User is trying to withdraw too many tokens." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5ecaca0dc17b4d9e218f57fe5e1780b0501c2968ace18989baf2dfdedadf4d3a", - "typeString": "literal_string \"User is trying to withdraw too many tokens.\"" - } - ], - "id": 5545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7169:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:105:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5556, - "nodeType": "ExpressionStatement", - "src": "7169:105:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5557, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "7284:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7289:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7289:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7284:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "7284:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 5562, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7317:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7284:43:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5564, - "nodeType": "ExpressionStatement", - "src": "7284:43:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5568, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7360:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7360:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5570, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7372:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5566, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "7345:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6164, - "src": "7345:14:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7345:38:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5565, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7337:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7337:47:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "7337:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "315a095d", - "id": 5575, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5535, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5575, - "src": "7078:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7078:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7077:20:11" - }, - "returnParameters": { - "id": 5537, - "nodeType": "ParameterList", - "parameters": [], - "src": "7107:0:11" - }, - "scope": 5644, - "src": "7054:337:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5629, - "nodeType": "Block", - "src": "7553:379:11", - "statements": [ - { - "assignments": [ - 5583 - ], - "declarations": [ - { - "constant": false, - "id": 5583, - "name": "manager", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5629, - "src": "7563:28:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 5582, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4916, - "src": "7563:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5587, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5584, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "7594:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5586, - "indexExpression": { - "argumentTypes": null, - "id": 5585, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "7599:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7594:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7563:43:11" - }, - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "largest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5629, - "src": "7616:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5588, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7616:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5590, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "7616:12:11" - }, - { - "body": { - "id": 5625, - "nodeType": "Block", - "src": "7698:204:11", - "statements": [ - { - "assignments": [ - 5604 - ], - "declarations": [ - { - "constant": false, - "id": 5604, - "name": "curPollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5625, - "src": "7712:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5603, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7712:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5609, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5605, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7729:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "7729:25:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5608, - "indexExpression": { - "argumentTypes": null, - "id": 5607, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7755:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7729:28:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7712:45:11" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5610, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7775:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "7775:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5613, - "indexExpression": { - "argumentTypes": null, - "id": 5612, - "name": "curPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5604, - "src": "7796:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7775:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5614, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7809:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7775:41:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5624, - "nodeType": "IfStatement", - "src": "7771:121:11", - "trueBody": { - "id": 5623, - "nodeType": "Block", - "src": "7818:74:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5616, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7836:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5617, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7846:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "7846:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5620, - "indexExpression": { - "argumentTypes": null, - "id": 5619, - "name": "curPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5604, - "src": "7867:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7846:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7836:41:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5622, - "nodeType": "ExpressionStatement", - "src": "7836:41:11" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5595, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7655:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5596, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7659:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "7659:25:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7659:32:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7655:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5626, - "initializationExpression": { - "assignments": [ - 5592 - ], - "declarations": [ - { - "constant": false, - "id": 5592, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5626, - "src": "7643:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5591, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7643:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7652:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7643:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7693:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5600, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7693:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5602, - "nodeType": "ExpressionStatement", - "src": "7693:3:11" - }, - "nodeType": "ForStatement", - "src": "7638:264:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7918:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5581, - "id": 5628, - "nodeType": "Return", - "src": "7911:14:11" - } - ] - }, - "documentation": null, - "functionSelector": "929ec537", - "id": 5630, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5577, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5630, - "src": "7510:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7510:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7509:16:11" - }, - "returnParameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5630, - "src": "7547:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5579, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7547:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7546:6:11" - }, - "scope": 5644, - "src": "7485:447:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5642, - "nodeType": "Block", - "src": "8076:49:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5637, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "8093:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "id": 5638, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "8098:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8093:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "8093:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5636, - "id": 5641, - "nodeType": "Return", - "src": "8086:32:11" - } - ] - }, - "documentation": null, - "functionSelector": "0ed70ed1", - "id": 5643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTokenStake", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5632, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5643, - "src": "8034:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8034:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8033:16:11" - }, - "returnParameters": { - "id": 5636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5635, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5643, - "src": "8070:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5634, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8070:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8069:6:11" - }, - "scope": 5644, - "src": "8011:114:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5645, - "src": "134:7994:11" - } - ], - "src": "0:8128:11" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Votable.sol", - "exportedSymbols": { - "Votable": [ - 5644 - ] - }, - "id": 5645, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 4839, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:11" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 4840, - "nodeType": "ImportDirective", - "scope": 5645, - "sourceUnit": 6533, - "src": "25:55:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "@openzeppelin/contracts/math/SafeMath.sol", - "id": 4841, - "nodeType": "ImportDirective", - "scope": 5645, - "sourceUnit": 6049, - "src": "81:51:11", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 5644, - "linearizedBaseContracts": [ - 5644 - ], - "name": "Votable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 4844, - "libraryName": { - "contractScope": null, - "id": 4842, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6048, - "src": "163:8:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$6048", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "157:27:11", - "typeName": { - "id": 4843, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "176:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 4854, - "name": "voteCasted", - "nodeType": "EventDefinition", - "parameters": { - "id": 4853, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4846, - "indexed": false, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "224:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4845, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "224:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4848, - "indexed": false, - "name": "pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "239:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4847, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "239:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4850, - "indexed": false, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "252:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "252:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4852, - "indexed": false, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4854, - "src": "266:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "266:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "223:58:11" - }, - "src": "207:75:11" - }, - { - "anonymous": false, - "documentation": null, - "id": 4864, - "name": "pollCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 4863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4856, - "indexed": false, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "305:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "305:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4858, - "indexed": false, - "name": "pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "322:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4857, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "322:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4860, - "indexed": false, - "name": "description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "335:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4859, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "335:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4862, - "indexed": false, - "name": "votingLength", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4864, - "src": "355:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4861, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "355:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "304:69:11" - }, - "src": "287:87:11" - }, - { - "anonymous": false, - "documentation": null, - "id": 4868, - "name": "pollStatusUpdate", - "nodeType": "EventDefinition", - "parameters": { - "id": 4867, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4866, - "indexed": false, - "name": "status", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4868, - "src": "402:11:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4865, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "402:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "401:13:11" - }, - "src": "379:36:11" - }, - { - "canonicalName": "Votable.PollStatus", - "id": 4871, - "members": [ - { - "id": 4869, - "name": "IN_PROGRESS", - "nodeType": "EnumValue", - "src": "487:11:11" - }, - { - "id": 4870, - "name": "ENDED", - "nodeType": "EnumValue", - "src": "500:5:11" - } - ], - "name": "PollStatus", - "nodeType": "EnumDefinition", - "src": "469:38:11" - }, - { - "canonicalName": "Votable.Poll", - "id": 4899, - "members": [ - { - "constant": false, - "id": 4873, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "550:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4872, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "550:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4875, - "name": "status", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "575:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "typeName": { - "contractScope": null, - "id": 4874, - "name": "PollStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4871, - "src": "575:10:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4877, - "name": "optionsSize", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "602:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "602:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4881, - "name": "options", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "631:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4880, - "keyType": { - "id": 4878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "639:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "631:27:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4879, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "650:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4885, - "name": "votesPerOption", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "676:42:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4884, - "keyType": { - "id": 4882, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "684:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "676:27:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4883, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "695:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4887, - "name": "description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "728:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4886, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "728:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4890, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "756:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 4888, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "756:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4889, - "length": null, - "nodeType": "ArrayTypeName", - "src": "756:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4892, - "name": "expirationTime", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "782:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4891, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "782:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4894, - "name": "winnerId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "811:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4893, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "811:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4898, - "name": "voterInfo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4899, - "src": "837:35:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter)" - }, - "typeName": { - "id": 4897, - "keyType": { - "id": 4895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "845:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "837:25:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 4896, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4906, - "src": "856:5:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage_ptr", - "typeString": "struct Votable.Voter" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Poll", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "528:351:11", - "visibility": "public" - }, - { - "canonicalName": "Votable.Voter", - "id": 4906, - "members": [ - { - "constant": false, - "id": 4901, - "name": "hasVoted", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "924:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 4900, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "924:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4903, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "947:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "947:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4905, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4906, - "src": "969:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4904, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "969:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "901:89:11", - "visibility": "public" - }, - { - "canonicalName": "Votable.TokenManager", - "id": 4916, - "members": [ - { - "constant": false, - "id": 4908, - "name": "tokenBalance", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1050:17:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4907, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1050:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4912, - "name": "lockedTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1077:34:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "typeName": { - "id": 4911, - "keyType": { - "id": 4909, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1085:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1077:21:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 4910, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1093:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4915, - "name": "participatedPolls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4916, - "src": "1121:24:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4913, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1121:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4914, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1121:6:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "TokenManager", - "nodeType": "StructDefinition", - "scope": 5644, - "src": "1020:132:11", - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "ac2f0074", - "id": 4920, - "name": "polls", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1184:34:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll)" - }, - "typeName": { - "id": 4919, - "keyType": { - "id": 4917, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1192:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1184:21:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll)" - }, - "valueType": { - "contractScope": null, - "id": 4918, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "1200:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "529a1baf", - "id": 4924, - "name": "bank", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1224:44:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager)" - }, - "typeName": { - "id": 4923, - "keyType": { - "id": 4921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1232:7:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1224:32:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager)" - }, - "valueType": { - "contractScope": null, - "id": 4922, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4916, - "src": "1243:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "9207891d", - "id": 4926, - "name": "pollCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1275:24:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1275:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "fc0c546a", - "id": 4928, - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5644, - "src": "1305:18:11", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - }, - "typeName": { - "contractScope": null, - "id": 4927, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 6532, - "src": "1305:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "body": { - "id": 4948, - "nodeType": "Block", - "src": "1387:77:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 4939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4934, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1405:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 4937, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1423:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 4936, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1415:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 4935, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1415:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 4938, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1415:10:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1405:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 4933, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1397:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 4940, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1397:29:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4941, - "nodeType": "ExpressionStatement", - "src": "1397:29:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 4942, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "1436:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 4944, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4930, - "src": "1450:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 4943, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6532, - "src": "1444:5:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$6532_$", - "typeString": "type(contract ERC20)" - } - }, - "id": 4945, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1444:13:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "src": "1436:21:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 4947, - "nodeType": "ExpressionStatement", - "src": "1436:21:11" - } - ] - }, - "documentation": null, - "id": 4949, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4931, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4930, - "name": "_token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 4949, - "src": "1364:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 4929, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1364:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1363:16:11" - }, - "returnParameters": { - "id": 4932, - "nodeType": "ParameterList", - "parameters": [], - "src": "1387:0:11" - }, - "scope": 5644, - "src": "1352:112:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5055, - "nodeType": "Block", - "src": "1691:677:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4964, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 4962, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "1709:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 4963, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1723:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1709:15:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686520766f74696e6720706572696f642063616e6e6f7420626520302e", - "id": 4965, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1726:32:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_06f0f5afc871ac0e879dcddd2890052485c59a16e238d8e4c8ea82bf6b6ad077", - "typeString": "literal_string \"The voting period cannot be 0.\"" - }, - "value": "The voting period cannot be 0." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_06f0f5afc871ac0e879dcddd2890052485c59a16e238d8e4c8ea82bf6b6ad077", - "typeString": "literal_string \"The voting period cannot be 0.\"" - } - ], - "id": 4961, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1701:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4966, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1701:58:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4967, - "nodeType": "ExpressionStatement", - "src": "1701:58:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 4972, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4969, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "1777:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 4970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1777:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 4971, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1794:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "1777:18:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f7074696f6e73206861766520746f20626520686967686572207468616e2031", - "id": 4973, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1797:34:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c07392530dfcca0d99b449e2cceece4264ad6d4bfc6257103dd8ea269d24713b", - "typeString": "literal_string \"Options have to be higher than 1\"" - }, - "value": "Options have to be higher than 1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c07392530dfcca0d99b449e2cceece4264ad6d4bfc6257103dd8ea269d24713b", - "typeString": "literal_string \"Options have to be higher than 1\"" - } - ], - "id": 4968, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1769:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 4974, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1769:63:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 4975, - "nodeType": "ExpressionStatement", - "src": "1769:63:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4977, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1842:11:11", - "subExpression": { - "argumentTypes": null, - "id": 4976, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "1842:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4978, - "nodeType": "ExpressionStatement", - "src": "1842:11:11" - }, - { - "assignments": [ - 4980 - ], - "declarations": [ - { - "constant": false, - "id": 4980, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5055, - "src": "1864:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 4979, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "1864:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 4984, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 4981, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "1887:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 4983, - "indexExpression": { - "argumentTypes": null, - "id": 4982, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "1893:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1887:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1864:39:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4985, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "1913:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 4987, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4873, - "src": "1913:15:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4988, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1931:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 4989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1931:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1913:28:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 4991, - "nodeType": "ExpressionStatement", - "src": "1913:28:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 4997, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4992, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "1951:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 4994, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "1951:14:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 4995, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "1968:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 4996, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "1951:39:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "id": 4998, - "nodeType": "ExpressionStatement", - "src": "1951:39:11" - }, - { - "body": { - "id": 5020, - "nodeType": "Block", - "src": "2049:56:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5018, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5010, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2063:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 4881, - "src": "2063:15:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5014, - "indexExpression": { - "argumentTypes": null, - "id": 5012, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2079:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2063:18:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5015, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2084:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5017, - "indexExpression": { - "argumentTypes": null, - "id": 5016, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2092:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2084:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2063:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5019, - "nodeType": "ExpressionStatement", - "src": "2063:31:11" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5003, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2025:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5004, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2029:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5005, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2029:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2025:18:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5021, - "initializationExpression": { - "assignments": [ - 5000 - ], - "declarations": [ - { - "constant": false, - "id": 5000, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5021, - "src": "2013:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4999, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2013:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5002, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5001, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2022:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "2013:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2045:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5007, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5000, - "src": "2045:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5009, - "nodeType": "ExpressionStatement", - "src": "2045:3:11" - }, - "nodeType": "ForStatement", - "src": "2009:96:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5022, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2114:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5024, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "2114:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5025, - "name": "options", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4956, - "src": "2136:7:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[] calldata" - } - }, - "id": 5026, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2136:14:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2114:36:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5028, - "nodeType": "ExpressionStatement", - "src": "2114:36:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5037, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5029, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2160:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "2160:22:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5032, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "2185:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5033, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "2191:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5034, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2205:9:11", - "subdenomination": "seconds", - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2191:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2185:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2160:54:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5038, - "nodeType": "ExpressionStatement", - "src": "2160:54:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5039, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4980, - "src": "2224:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5041, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 4887, - "src": "2224:19:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5042, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "2246:12:11", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "2224:34:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 5044, - "nodeType": "ExpressionStatement", - "src": "2224:34:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5046, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "2286:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5047, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2286:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5048, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "2298:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5049, - "name": "_description", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4951, - "src": "2309:12:11", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - { - "argumentTypes": null, - "id": 5050, - "name": "_voteLength", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4953, - "src": "2323:11:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5045, - "name": "pollCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4864, - "src": "2274:11:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,string memory,uint256)" - } - }, - "id": 5051, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2274:61:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5052, - "nodeType": "EmitStatement", - "src": "2269:66:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5053, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "2352:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 4960, - "id": 5054, - "nodeType": "Return", - "src": "2345:16:11" - } - ] - }, - "documentation": null, - "functionSelector": "003c59fd", - "id": 5056, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createPoll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 4957, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4951, - "name": "_description", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1592:28:11", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 4950, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1592:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4953, - "name": "_voteLength", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1622:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4952, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1622:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 4956, - "name": "options", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1640:26:11", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 4954, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1640:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 4955, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1640:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1591:76:11" - }, - "returnParameters": { - "id": 4960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4959, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5056, - "src": "1686:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 4958, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "1686:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1685:6:11" - }, - "scope": 5644, - "src": "1572:796:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5097, - "nodeType": "Block", - "src": "2518:269:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5071, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5065, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2536:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5067, - "indexExpression": { - "argumentTypes": null, - "id": 5066, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2542:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2536:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5068, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "2536:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5069, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "2561:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5070, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2561:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "2536:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f7465206973206e6f7420696e2070726f67726573732e", - "id": 5072, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2585:26:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0d4b46159c738eaaebb7dc41acc554b07da0ca7a7827371c82ff43c72552f1be", - "typeString": "literal_string \"Vote is not in progress.\"" - }, - "value": "Vote is not in progress." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0d4b46159c738eaaebb7dc41acc554b07da0ca7a7827371c82ff43c72552f1be", - "typeString": "literal_string \"Vote is not in progress.\"" - } - ], - "id": 5064, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2528:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5073, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2528:84:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5074, - "nodeType": "ExpressionStatement", - "src": "2528:84:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5076, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "2630:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5077, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2637:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5079, - "indexExpression": { - "argumentTypes": null, - "id": 5078, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2643:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2637:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5080, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "2637:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2630:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f74696e6720706572696f6420686173206e6f742065787069726564", - "id": 5082, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2668:31:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_3b911f6895dd65120053a16e8ad2ffc79691b21c19c24bb91157bb1dfbce14ae", - "typeString": "literal_string \"Voting period has not expired\"" - }, - "value": "Voting period has not expired" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_3b911f6895dd65120053a16e8ad2ffc79691b21c19c24bb91157bb1dfbce14ae", - "typeString": "literal_string \"Voting period has not expired\"" - } - ], - "id": 5075, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2622:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5083, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2622:78:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5084, - "nodeType": "ExpressionStatement", - "src": "2622:78:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5086, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2722:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5085, - "name": "_countVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5494, - "src": "2710:11:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256) returns (uint256)" - } - }, - "id": 5087, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2710:20:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5088, - "nodeType": "ExpressionStatement", - "src": "2710:20:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5095, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5089, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "2740:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5091, - "indexExpression": { - "argumentTypes": null, - "id": 5090, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2746:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2740:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5092, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "2740:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5093, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "2764:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5094, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "ENDED", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2764:16:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "2740:40:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "id": 5096, - "nodeType": "ExpressionStatement", - "src": "2740:40:11" - } - ] - }, - "documentation": null, - "functionSelector": "f43b8778", - "id": 5098, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5061, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5058, - "src": "2509:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5062, - "modifierName": { - "argumentTypes": null, - "id": 5060, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2499:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2499:18:11" - } - ], - "name": "endPoll", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5059, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5058, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5098, - "src": "2476:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5057, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2476:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2475:14:11" - }, - "returnParameters": { - "id": 5063, - "nodeType": "ParameterList", - "parameters": [], - "src": "2518:0:11" - }, - "scope": 5644, - "src": "2459:328:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5145, - "nodeType": "Block", - "src": "2994:190:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5119, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3012:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5121, - "indexExpression": { - "argumentTypes": null, - "id": 5120, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3018:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3012:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5122, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creator", - "nodeType": "MemberAccess", - "referencedDeclaration": 4873, - "src": "3012:22:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5123, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3036:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5125, - "indexExpression": { - "argumentTypes": null, - "id": 5124, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3042:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3036:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5126, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "3036:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5127, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3059:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5129, - "indexExpression": { - "argumentTypes": null, - "id": 5128, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3065:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3059:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5130, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "3059:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5131, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3087:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5133, - "indexExpression": { - "argumentTypes": null, - "id": 5132, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3093:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3087:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5134, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "description", - "nodeType": "MemberAccess", - "referencedDeclaration": 4887, - "src": "3087:26:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5135, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3124:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5137, - "indexExpression": { - "argumentTypes": null, - "id": 5136, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3130:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3124:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 4890, - "src": "3124:21:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5139, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3147:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5141, - "indexExpression": { - "argumentTypes": null, - "id": 5140, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "3153:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3147:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5142, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "3147:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5143, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3011:166:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_address_$_t_enum$_PollStatus_$4871_$_t_uint256_$_t_string_storage_$_t_array$_t_address_$dyn_storage_$_t_uint256_$", - "typeString": "tuple(address,enum Votable.PollStatus,uint256,string storage ref,address[] storage ref,uint256)" - } - }, - "functionReturnParameters": 5118, - "id": 5144, - "nodeType": "Return", - "src": "3004:173:11" - } - ] - }, - "documentation": null, - "functionSelector": "896e1da9", - "id": 5146, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5103, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5100, - "src": "2904:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5104, - "modifierName": { - "argumentTypes": null, - "id": 5102, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "2894:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "2894:18:11" - } - ], - "name": "getPoolInformation", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5101, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5100, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2868:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5099, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "2868:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2867:14:11" - }, - "returnParameters": { - "id": 5118, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5106, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2922:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5105, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2922:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5108, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2931:10:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "typeName": { - "contractScope": null, - "id": 5107, - "name": "PollStatus", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4871, - "src": "2931:10:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5110, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2943:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2943:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5112, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2952:13:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5111, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2952:6:11", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5115, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2967:16:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5113, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2967:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5114, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2967:9:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5117, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5146, - "src": "2985:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5116, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2985:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2921:72:11" - }, - "scope": 5644, - "src": "2840:344:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5171, - "nodeType": "Block", - "src": "3334:102:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5158, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3352:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5160, - "indexExpression": { - "argumentTypes": null, - "id": 5159, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3358:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3352:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5161, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "3352:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5163, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3395:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5164, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3404:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5166, - "indexExpression": { - "argumentTypes": null, - "id": 5165, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3410:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3404:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5167, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "3404:23:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5162, - "name": "getPollOptionById", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5192, - "src": "3377:17:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) view returns (uint256)" - } - }, - "id": 5168, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3377:51:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5169, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3351:78:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 5157, - "id": 5170, - "nodeType": "Return", - "src": "3344:85:11" - } - ] - }, - "documentation": null, - "functionSelector": "8a0ce67d", - "id": 5172, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5151, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5148, - "src": "3298:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5152, - "modifierName": { - "argumentTypes": null, - "id": 5150, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "3288:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3288:18:11" - } - ], - "name": "getPoolWinner", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5149, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5148, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3262:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5147, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3262:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3261:14:11" - }, - "returnParameters": { - "id": 5157, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5154, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3316:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5153, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3316:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5156, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "3325:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5155, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3325:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3315:18:11" - }, - "scope": 5644, - "src": "3239:197:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5191, - "nodeType": "Block", - "src": "3599:50:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5184, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "3616:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5186, - "indexExpression": { - "argumentTypes": null, - "id": 5185, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5174, - "src": "3622:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3616:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5187, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "options", - "nodeType": "MemberAccess", - "referencedDeclaration": 4881, - "src": "3616:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5189, - "indexExpression": { - "argumentTypes": null, - "id": 5188, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5176, - "src": "3639:2:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3616:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5183, - "id": 5190, - "nodeType": "Return", - "src": "3609:33:11" - } - ] - }, - "documentation": null, - "functionSelector": "5beed676", - "id": 5192, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5179, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5174, - "src": "3572:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5180, - "modifierName": { - "argumentTypes": null, - "id": 5178, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "3562:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "3562:18:11" - } - ], - "name": "getPollOptionById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3524:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5173, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3524:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3541:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3541:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3523:26:11" - }, - "returnParameters": { - "id": 5183, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5182, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5192, - "src": "3590:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5181, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3590:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3589:9:11" - }, - "scope": 5644, - "src": "3497:152:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5205, - "nodeType": "Block", - "src": "3803:54:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5200, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "3820:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5202, - "indexExpression": { - "argumentTypes": null, - "id": 5201, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5194, - "src": "3825:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3820:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5203, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "3820:30:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 5199, - "id": 5204, - "nodeType": "Return", - "src": "3813:37:11" - } - ] - }, - "documentation": null, - "functionSelector": "0de88fd8", - "id": 5206, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getPollHistory", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5195, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5194, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5206, - "src": "3752:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5193, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3752:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3751:16:11" - }, - "returnParameters": { - "id": 5199, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5198, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5206, - "src": "3788:13:11", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5196, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3788:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5197, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3788:6:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3787:15:11" - }, - "scope": 5644, - "src": "3728:129:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5263, - "nodeType": "Block", - "src": "4067:313:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5221, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4085:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5223, - "indexExpression": { - "argumentTypes": null, - "id": 5222, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4091:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4085:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5224, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "4085:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5225, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "4110:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4110:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "4085:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5220, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4077:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5228, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4077:56:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5229, - "nodeType": "ExpressionStatement", - "src": "4077:56:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5232, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4164:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5233, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4173:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5231, - "name": "userHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5286, - "src": "4151:12:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 5234, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4151:29:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5230, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4143:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4143:38:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5236, - "nodeType": "ExpressionStatement", - "src": "4143:38:11" - }, - { - "assignments": [ - 5238 - ], - "declarations": [ - { - "constant": false, - "id": 5238, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4191:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5237, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "4191:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5242, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5239, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4214:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5241, - "indexExpression": { - "argumentTypes": null, - "id": 5240, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4220:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4214:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4191:37:11" - }, - { - "assignments": [ - 5244 - ], - "declarations": [ - { - "constant": false, - "id": 5244, - "name": "vote", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4238:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5243, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4238:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5250, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5245, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "4253:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5246, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4253:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5248, - "indexExpression": { - "argumentTypes": null, - "id": 5247, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4271:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4253:25:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5249, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "vote", - "nodeType": "MemberAccess", - "referencedDeclaration": 4903, - "src": "4253:30:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4238:45:11" - }, - { - "assignments": [ - 5252 - ], - "declarations": [ - { - "constant": false, - "id": 5252, - "name": "weight", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5263, - "src": "4293:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4293:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5258, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5253, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "4310:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5254, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4310:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5256, - "indexExpression": { - "argumentTypes": null, - "id": 5255, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "4328:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4310:25:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5257, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "weight", - "nodeType": "MemberAccess", - "referencedDeclaration": 4905, - "src": "4310:32:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4293:49:11" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 5259, - "name": "vote", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5244, - "src": "4360:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5260, - "name": "weight", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5252, - "src": "4366:6:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5261, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4359:14:11", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$", - "typeString": "tuple(uint256,uint256)" - } - }, - "functionReturnParameters": 5219, - "id": 5262, - "nodeType": "Return", - "src": "4352:21:11" - } - ] - }, - "documentation": null, - "functionSelector": "6cee7be5", - "id": 5264, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5213, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5208, - "src": "4031:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5214, - "modifierName": { - "argumentTypes": null, - "id": 5212, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4021:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4021:18:11" - } - ], - "name": "getPollInfoForVoter", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5211, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5208, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "3979:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5207, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "3979:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5210, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "3993:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5209, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3993:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3978:30:11" - }, - "returnParameters": { - "id": 5219, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5216, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "4049:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5215, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4049:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5218, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5264, - "src": "4058:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4058:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4048:18:11" - }, - "scope": 5644, - "src": "3950:430:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5285, - "nodeType": "Block", - "src": "4550:66:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5276, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4568:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5278, - "indexExpression": { - "argumentTypes": null, - "id": 5277, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "4574:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4568:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5279, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "4568:24:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5281, - "indexExpression": { - "argumentTypes": null, - "id": 5280, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5268, - "src": "4593:5:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4568:31:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5282, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "hasVoted", - "nodeType": "MemberAccess", - "referencedDeclaration": 4901, - "src": "4568:40:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5283, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4567:42:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5275, - "id": 5284, - "nodeType": "Return", - "src": "4560:49:11" - } - ] - }, - "documentation": null, - "functionSelector": "5fc48d7e", - "id": 5286, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5271, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5266, - "src": "4526:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5272, - "modifierName": { - "argumentTypes": null, - "id": 5270, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4516:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4516:18:11" - } - ], - "name": "userHasVoted", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5269, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5266, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4475:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5265, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4475:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5268, - "name": "_user", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4489:13:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4489:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:29:11" - }, - "returnParameters": { - "id": 5275, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5274, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5286, - "src": "4544:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5273, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4544:4:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4543:6:11" - }, - "scope": 5644, - "src": "4453:163:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5302, - "nodeType": "Block", - "src": "4717:96:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 5297, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5293, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5291, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "4735:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5292, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4745:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "4735:11:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5294, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5288, - "src": "4750:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 5295, - "name": "pollCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4926, - "src": "4761:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4750:20:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4735:35:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6f7420612076616c696420706f6c6c2049642e", - "id": 5298, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4772:22:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b81cd74f6d22e3451a7268a9b3488e7155724bcfac47f161acd873f90f75993", - "typeString": "literal_string \"Not a valid poll Id.\"" - }, - "value": "Not a valid poll Id." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8b81cd74f6d22e3451a7268a9b3488e7155724bcfac47f161acd873f90f75993", - "typeString": "literal_string \"Not a valid poll Id.\"" - } - ], - "id": 5290, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4727:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4727:68:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5300, - "nodeType": "ExpressionStatement", - "src": "4727:68:11" - }, - { - "id": 5301, - "nodeType": "PlaceholderStatement", - "src": "4805:1:11" - } - ] - }, - "documentation": null, - "id": 5303, - "name": "validPoll", - "nodeType": "ModifierDefinition", - "overrides": null, - "parameters": { - "id": 5289, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5288, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5303, - "src": "4703:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5287, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4703:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4702:14:11" - }, - "src": "4684:129:11", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5434, - "nodeType": "Block", - "src": "4974:928:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - }, - "id": 5320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5314, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "4992:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5316, - "indexExpression": { - "argumentTypes": null, - "id": 5315, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "4998:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4992:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5317, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "status", - "nodeType": "MemberAccess", - "referencedDeclaration": 4875, - "src": "4992:21:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5318, - "name": "PollStatus", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4871, - "src": "5017:10:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_PollStatus_$4871_$", - "typeString": "type(enum Votable.PollStatus)" - } - }, - "id": 5319, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "IN_PROGRESS", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5017:22:11", - "typeDescriptions": { - "typeIdentifier": "t_enum$_PollStatus_$4871", - "typeString": "enum Votable.PollStatus" - } - }, - "src": "4992:47:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "506f6c6c2068617320657870697265642e", - "id": 5321, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5041:19:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_656ca8e253f1290a6da961e39fb77da9e41bcbce9330eaf86dfeef5a633dd309", - "typeString": "literal_string \"Poll has expired.\"" - }, - "value": "Poll has expired." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_656ca8e253f1290a6da961e39fb77da9e41bcbce9330eaf86dfeef5a633dd309", - "typeString": "literal_string \"Poll has expired.\"" - } - ], - "id": 5313, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4984:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5322, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4984:77:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5323, - "nodeType": "ExpressionStatement", - "src": "4984:77:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "5079:34:11", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5326, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5093:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5327, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5102:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5102:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5325, - "name": "userHasVoted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5286, - "src": "5080:12:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_uint256_$_t_address_$returns$_t_bool_$", - "typeString": "function (uint256,address) view returns (bool)" - } - }, - "id": 5329, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5080:33:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "557365722068617320616c726561647920766f7465642e", - "id": 5331, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5115:25:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_40c06d9d147b4fada5503501abe9c619b5bf4815cd62c57e084c0aa49c5bef3f", - "typeString": "literal_string \"User has already voted.\"" - }, - "value": "User has already voted." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_40c06d9d147b4fada5503501abe9c619b5bf4815cd62c57e084c0aa49c5bef3f", - "typeString": "literal_string \"User has already voted.\"" - } - ], - "id": 5324, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5071:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5071:70:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5333, - "nodeType": "ExpressionStatement", - "src": "5071:70:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5335, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5159:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5337, - "indexExpression": { - "argumentTypes": null, - "id": 5336, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5165:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5159:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5338, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "expirationTime", - "nodeType": "MemberAccess", - "referencedDeclaration": 4892, - "src": "5159:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5339, - "name": "now", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -17, - "src": "5191:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5159:35:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5334, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5151:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5151:44:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5342, - "nodeType": "ExpressionStatement", - "src": "5151:44:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5344, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5213:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5345, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5223:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5347, - "indexExpression": { - "argumentTypes": null, - "id": 5346, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5229:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5223:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "id": 5348, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "5223:26:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5213:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "566f7465206f7074696f6e206973206e6f7420617661696c626c65", - "id": 5350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5251:29:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c7168b512d7ef0df706ff12e626ce1c0f9ac1ebf15c7b5a3d583e1f116fd716a", - "typeString": "literal_string \"Vote option is not availble\"" - }, - "value": "Vote option is not availble" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c7168b512d7ef0df706ff12e626ce1c0f9ac1ebf15c7b5a3d583e1f116fd716a", - "typeString": "literal_string \"Vote option is not availble\"" - } - ], - "id": 5343, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5205:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5205:76:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5352, - "nodeType": "ExpressionStatement", - "src": "5205:76:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5353, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "5329:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5356, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5354, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5334:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5355, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5334:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5329:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5357, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "5329:29:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5359, - "indexExpression": { - "argumentTypes": null, - "id": 5358, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5359:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5329:38:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5361, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5384:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5384:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5360, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5370:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5370:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5329:66:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5365, - "nodeType": "ExpressionStatement", - "src": "5329:66:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5372, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5445:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5366, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "5405:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5369, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5367, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5410:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5410:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5405:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5370, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "5405:34:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5405:39:11", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 5373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5405:48:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5374, - "nodeType": "ExpressionStatement", - "src": "5405:48:11" - }, - { - "assignments": [ - 5376 - ], - "declarations": [ - { - "constant": false, - "id": 5376, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5434, - "src": "5464:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5375, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "5464:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5380, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5377, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "5487:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5379, - "indexExpression": { - "argumentTypes": null, - "id": 5378, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5493:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5487:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5464:37:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5396, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5381, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5512:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5384, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "5512:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5385, - "indexExpression": { - "argumentTypes": null, - "id": 5383, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5535:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5512:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5392, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5596:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5596:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5391, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5582:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5394, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5582:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5386, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5546:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5387, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "5546:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5389, - "indexExpression": { - "argumentTypes": null, - "id": 5388, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5569:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5546:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 5882, - "src": "5546:35:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5546:62:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5512:96:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5397, - "nodeType": "ExpressionStatement", - "src": "5512:96:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5412, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5398, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5619:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5402, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voterInfo", - "nodeType": "MemberAccess", - "referencedDeclaration": 4898, - "src": "5619:17:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$4906_storage_$", - "typeString": "mapping(address => struct Votable.Voter storage ref)" - } - }, - "id": 5403, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5400, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5637:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5401, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5637:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5619:29:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 5405, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5681:4:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - { - "argumentTypes": null, - "id": 5406, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5705:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5408, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5748:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5409, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5748:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5407, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5734:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5734:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5404, - "name": "Voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4906, - "src": "5651:5:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Voter_$4906_storage_ptr_$", - "typeString": "type(struct Votable.Voter storage pointer)" - } - }, - "id": 5411, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "structConstructorCall", - "lValueRequested": false, - "names": [ - "hasVoted", - "vote", - "weight" - ], - "nodeType": "FunctionCall", - "src": "5651:119:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_memory", - "typeString": "struct Votable.Voter memory" - } - }, - "src": "5619:151:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$4906_storage", - "typeString": "struct Votable.Voter storage ref" - } - }, - "id": 5413, - "nodeType": "ExpressionStatement", - "src": "5619:151:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5419, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5801:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5801:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5414, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5376, - "src": "5781:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5417, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "voters", - "nodeType": "MemberAccess", - "referencedDeclaration": 4890, - "src": "5781:14:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5781:19:11", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5781:31:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5422, - "nodeType": "ExpressionStatement", - "src": "5781:31:11" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5424, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5839:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5425, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5839:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5426, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "5851:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5427, - "name": "_voteId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5307, - "src": "5860:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5883:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5883:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5428, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "5869:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5869:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5423, - "name": "voteCasted", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4854, - "src": "5828:10:11", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256,uint256,uint256)" - } - }, - "id": 5432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5828:67:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5433, - "nodeType": "EmitStatement", - "src": "5823:72:11" - } - ] - }, - "documentation": null, - "functionSelector": "2c0a3f89", - "id": 5435, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 5310, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5305, - "src": "4965:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 5311, - "modifierName": { - "argumentTypes": null, - "id": 5309, - "name": "validPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5303, - "src": "4955:9:11", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_uint256_$", - "typeString": "modifier (uint256)" - } - }, - "nodeType": "ModifierInvocation", - "src": "4955:18:11" - } - ], - "name": "castVote", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5308, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5305, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5435, - "src": "4915:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5304, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "4915:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "_voteId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5435, - "src": "4929:15:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4929:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4914:31:11" - }, - "returnParameters": { - "id": 5312, - "nodeType": "ParameterList", - "parameters": [], - "src": "4974:0:11" - }, - "scope": 5644, - "src": "4897:1005:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5493, - "nodeType": "Block", - "src": "6017:353:11", - "statements": [ - { - "assignments": [ - 5443 - ], - "declarations": [ - { - "constant": false, - "id": 5443, - "name": "curPoll", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5493, - "src": "6027:20:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - }, - "typeName": { - "contractScope": null, - "id": 5442, - "name": "Poll", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4899, - "src": "6027:4:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5447, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5444, - "name": "polls", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4920, - "src": "6050:5:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Poll_$4899_storage_$", - "typeString": "mapping(uint256 => struct Votable.Poll storage ref)" - } - }, - "id": 5446, - "indexExpression": { - "argumentTypes": null, - "id": 5445, - "name": "_pollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5437, - "src": "6056:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6050:14:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage", - "typeString": "struct Votable.Poll storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6027:37:11" - }, - { - "assignments": [ - 5449 - ], - "declarations": [ - { - "constant": false, - "id": 5449, - "name": "winnerId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5493, - "src": "6075:16:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5448, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6075:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5454, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5450, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6094:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5451, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6094:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5453, - "indexExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6117:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6094:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6075:44:11" - }, - { - "body": { - "id": 5483, - "nodeType": "Block", - "src": "6174:128:11", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5476, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6191:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5467, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6191:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5469, - "indexExpression": { - "argumentTypes": null, - "id": 5468, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6214:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6191:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5470, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6219:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5471, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesPerOption", - "nodeType": "MemberAccess", - "referencedDeclaration": 4885, - "src": "6219:22:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5475, - "indexExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5474, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5472, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6242:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6244:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6242:3:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6219:27:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6191:55:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5482, - "nodeType": "IfStatement", - "src": "6188:104:11", - "trueBody": { - "id": 5481, - "nodeType": "Block", - "src": "6247:45:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5477, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6265:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5478, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6276:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6265:12:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5480, - "nodeType": "ExpressionStatement", - "src": "6265:12:11" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5459, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6145:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5460, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6149:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5461, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "optionsSize", - "nodeType": "MemberAccess", - "referencedDeclaration": 4877, - "src": "6149:19:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6145:23:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5484, - "initializationExpression": { - "assignments": [ - 5456 - ], - "declarations": [ - { - "constant": false, - "id": 5456, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5484, - "src": "6133:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5455, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "6133:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5458, - "initialValue": { - "argumentTypes": null, - "hexValue": "31", - "id": 5457, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6142:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6133:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6170:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5463, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5456, - "src": "6170:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "6170:3:11" - }, - "nodeType": "ForStatement", - "src": "6129:173:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5485, - "name": "curPoll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "6311:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Poll_$4899_storage_ptr", - "typeString": "struct Votable.Poll storage pointer" - } - }, - "id": 5487, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "winnerId", - "nodeType": "MemberAccess", - "referencedDeclaration": 4894, - "src": "6311:16:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5488, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6330:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6311:27:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5490, - "nodeType": "ExpressionStatement", - "src": "6311:27:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5491, - "name": "winnerId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5449, - "src": "6355:8:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5441, - "id": 5492, - "nodeType": "Return", - "src": "6348:15:11" - } - ] - }, - "documentation": null, - "id": 5494, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_countVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5438, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5437, - "name": "_pollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5494, - "src": "5976:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5436, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "5976:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5975:14:11" - }, - "returnParameters": { - "id": 5441, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5440, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5494, - "src": "6008:7:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5439, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6008:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6007:9:11" - }, - "scope": 5644, - "src": "5955:415:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5532, - "nodeType": "Block", - "src": "6643:272:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5506, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5502, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6677:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6677:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "6661:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 6144, - "src": "6661:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6661:27:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5505, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6692:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6661:41:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220646f6573206e6f74206861766520656e6f75676820746f6b656e73", - "id": 5507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6704:34:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_99ff561f2ebb8c611843845fdc0f06dcbed04cfb2bca9c6e49d9e0513b371c21", - "typeString": "literal_string \"User does not have enough tokens\"" - }, - "value": "User does not have enough tokens" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_99ff561f2ebb8c611843845fdc0f06dcbed04cfb2bca9c6e49d9e0513b371c21", - "typeString": "literal_string \"User does not have enough tokens\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6653:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6653:86:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5509, - "nodeType": "ExpressionStatement", - "src": "6653:86:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5513, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6776:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6776:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5517, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "6796:4:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Votable_$5644", - "typeString": "contract Votable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_Votable_$5644", - "typeString": "contract Votable" - } - ], - "id": 5516, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6788:7:11", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6788:7:11", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6788:13:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5519, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6803:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5511, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "6757:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5512, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 6238, - "src": "6757:18:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5520, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6757:57:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220646964206e6f7420617070726f766520746f6b656e207472616e736665722e", - "id": 5521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6816:38:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d370b466d17e4f39036b370911199e303f2a0bb02715fa44e0cb542e7b1d46dd", - "typeString": "literal_string \"User did not approve token transfer.\"" - }, - "value": "User did not approve token transfer." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d370b466d17e4f39036b370911199e303f2a0bb02715fa44e0cb542e7b1d46dd", - "typeString": "literal_string \"User did not approve token transfer.\"" - } - ], - "id": 5510, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6749:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5522, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:106:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5523, - "nodeType": "ExpressionStatement", - "src": "6749:106:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5524, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "6865:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5527, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5525, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6870:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6870:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6865:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5528, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "6865:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 5529, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "6898:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6865:43:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5531, - "nodeType": "ExpressionStatement", - "src": "6865:43:11" - } - ] - }, - "documentation": null, - "functionSelector": "0da65600", - "id": 5533, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "stakeVotingTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5497, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5496, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5533, - "src": "6614:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5495, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6614:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6613:20:11" - }, - "returnParameters": { - "id": 5498, - "nodeType": "ParameterList", - "parameters": [], - "src": "6643:0:11" - }, - "scope": 5644, - "src": "6587:328:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5574, - "nodeType": "Block", - "src": "7107:284:11", - "statements": [ - { - "assignments": [ - 5539 - ], - "declarations": [ - { - "constant": false, - "id": 5539, - "name": "largest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5574, - "src": "7117:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5538, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7117:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5544, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5541, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7148:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7148:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5540, - "name": "getLockedAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5630, - "src": "7132:15:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:27:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7117:42:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5553, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5547, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7191:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7191:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5546, - "name": "getTokenStake", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5643, - "src": "7177:13:11", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view returns (uint256)" - } - }, - "id": 5549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7177:25:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 5550, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5539, - "src": "7205:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7177:35:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5552, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7216:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7177:49:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5573657220697320747279696e6720746f20776974686472617720746f6f206d616e7920746f6b656e732e", - "id": 5554, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7228:45:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5ecaca0dc17b4d9e218f57fe5e1780b0501c2968ace18989baf2dfdedadf4d3a", - "typeString": "literal_string \"User is trying to withdraw too many tokens.\"" - }, - "value": "User is trying to withdraw too many tokens." - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5ecaca0dc17b4d9e218f57fe5e1780b0501c2968ace18989baf2dfdedadf4d3a", - "typeString": "literal_string \"User is trying to withdraw too many tokens.\"" - } - ], - "id": 5545, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7169:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5555, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7169:105:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5556, - "nodeType": "ExpressionStatement", - "src": "7169:105:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5557, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "7284:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5560, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5558, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7289:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7289:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7284:16:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "7284:29:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "-=", - "rightHandSide": { - "argumentTypes": null, - "id": 5562, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7317:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7284:43:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5564, - "nodeType": "ExpressionStatement", - "src": "7284:43:11" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5568, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7360:3:11", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7360:10:11", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5570, - "name": "_numTokens", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5535, - "src": "7372:10:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5566, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4928, - "src": "7345:5:11", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$6532", - "typeString": "contract ERC20" - } - }, - "id": 5567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 6164, - "src": "7345:14:11", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7345:38:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5565, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7337:7:11", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7337:47:11", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "7337:47:11" - } - ] - }, - "documentation": null, - "functionSelector": "315a095d", - "id": 5575, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "withdrawTokens", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5535, - "name": "_numTokens", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5575, - "src": "7078:18:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5534, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7078:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7077:20:11" - }, - "returnParameters": { - "id": 5537, - "nodeType": "ParameterList", - "parameters": [], - "src": "7107:0:11" - }, - "scope": 5644, - "src": "7054:337:11", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 5629, - "nodeType": "Block", - "src": "7553:379:11", - "statements": [ - { - "assignments": [ - 5583 - ], - "declarations": [ - { - "constant": false, - "id": 5583, - "name": "manager", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5629, - "src": "7563:28:11", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - }, - "typeName": { - "contractScope": null, - "id": 5582, - "name": "TokenManager", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 4916, - "src": "7563:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5587, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5584, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "7594:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5586, - "indexExpression": { - "argumentTypes": null, - "id": 5585, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5577, - "src": "7599:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7594:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7563:43:11" - }, - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "largest", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5629, - "src": "7616:12:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5588, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7616:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5590, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "7616:12:11" - }, - { - "body": { - "id": 5625, - "nodeType": "Block", - "src": "7698:204:11", - "statements": [ - { - "assignments": [ - 5604 - ], - "declarations": [ - { - "constant": false, - "id": 5604, - "name": "curPollID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5625, - "src": "7712:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5603, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7712:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5609, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5605, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7729:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5606, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "7729:25:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5608, - "indexExpression": { - "argumentTypes": null, - "id": 5607, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7755:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7729:28:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7712:45:11" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5610, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7775:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "7775:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5613, - "indexExpression": { - "argumentTypes": null, - "id": 5612, - "name": "curPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5604, - "src": "7796:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7775:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5614, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7809:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7775:41:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5624, - "nodeType": "IfStatement", - "src": "7771:121:11", - "trueBody": { - "id": 5623, - "nodeType": "Block", - "src": "7818:74:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5616, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7836:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5617, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7846:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5618, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "lockedTokens", - "nodeType": "MemberAccess", - "referencedDeclaration": 4912, - "src": "7846:20:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 5620, - "indexExpression": { - "argumentTypes": null, - "id": 5619, - "name": "curPollID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5604, - "src": "7867:9:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7846:31:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7836:41:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5622, - "nodeType": "ExpressionStatement", - "src": "7836:41:11" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5595, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7655:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5596, - "name": "manager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "7659:7:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage_ptr", - "typeString": "struct Votable.TokenManager storage pointer" - } - }, - "id": 5597, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "participatedPolls", - "nodeType": "MemberAccess", - "referencedDeclaration": 4915, - "src": "7659:25:11", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7659:32:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7655:36:11", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 5626, - "initializationExpression": { - "assignments": [ - 5592 - ], - "declarations": [ - { - "constant": false, - "id": 5592, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5626, - "src": "7643:6:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5591, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7643:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 5593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7652:1:11", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7643:10:11" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7693:3:11", - "subExpression": { - "argumentTypes": null, - "id": 5600, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5592, - "src": "7693:1:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5602, - "nodeType": "ExpressionStatement", - "src": "7693:3:11" - }, - "nodeType": "ForStatement", - "src": "7638:264:11" - }, - { - "expression": { - "argumentTypes": null, - "id": 5627, - "name": "largest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "7918:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5581, - "id": 5628, - "nodeType": "Return", - "src": "7911:14:11" - } - ] - }, - "documentation": null, - "functionSelector": "929ec537", - "id": 5630, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getLockedAmount", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5578, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5577, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5630, - "src": "7510:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5576, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7510:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7509:16:11" - }, - "returnParameters": { - "id": 5581, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5580, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5630, - "src": "7547:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5579, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "7547:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7546:6:11" - }, - "scope": 5644, - "src": "7485:447:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5642, - "nodeType": "Block", - "src": "8076:49:11", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5637, - "name": "bank", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4924, - "src": "8093:4:11", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_TokenManager_$4916_storage_$", - "typeString": "mapping(address => struct Votable.TokenManager storage ref)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "id": 5638, - "name": "_voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5632, - "src": "8098:6:11", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8093:12:11", - "typeDescriptions": { - "typeIdentifier": "t_struct$_TokenManager_$4916_storage", - "typeString": "struct Votable.TokenManager storage ref" - } - }, - "id": 5640, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenBalance", - "nodeType": "MemberAccess", - "referencedDeclaration": 4908, - "src": "8093:25:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 5636, - "id": 5641, - "nodeType": "Return", - "src": "8086:32:11" - } - ] - }, - "documentation": null, - "functionSelector": "0ed70ed1", - "id": 5643, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getTokenStake", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5632, - "name": "_voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5643, - "src": "8034:14:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5631, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "8034:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8033:16:11" - }, - "returnParameters": { - "id": 5636, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5635, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5643, - "src": "8070:4:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5634, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "8070:4:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8069:6:11" - }, - "scope": 5644, - "src": "8011:114:11", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - } - ], - "scope": 5645, - "src": "134:7994:11" - } - ], - "src": "0:8128:11" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-06-01T17:14:28.169Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/contracts/_IERC20.json b/build/contracts/_IERC20.json deleted file mode 100644 index 9a5cdb16..00000000 --- a/build/contracts/_IERC20.json +++ /dev/null @@ -1,50038 +0,0 @@ -{ - "contractName": "_IERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.6.2+commit.bacdbe57\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard + mint & burn\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"burn(address,uint256)\":{\"details\":\"Burn Function\"},\"mint(address,uint256)\":{\"details\":\"Mint Function\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":\"_IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol\":{\"keccak256\":\"0xb09adde2809232da296346642c064fb6f3b89296ffc46850e217f0001c963c94\",\"urls\":[\"bzz-raw://a737e5eade1b2ae10989fc5aa27ceed93fb0bc7d41a565e02549f4aefd74d1ee\",\"dweb:/ipfs/QmampEb1f3BKRgqHZDyqZ2TKKKcu6ETYtyU9SVxfW247zZ\"]},\"/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol\":{\"keccak256\":\"0x74ce2f240b5487391f963709d54714f7b89b8666c45ce52d9c26469ae2b31ed9\",\"urls\":[\"bzz-raw://685f7bdcd36bec89e844d9da23fd6c72fdeeff6183f2d89f48acf2c0d49a6499\",\"dweb:/ipfs/QmbshMMhvUYKcaVi76wNNXpTjtZZ58AhhsbFNF9zX2fERv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"@openzeppelin/contracts/utils/Pausable.sol\":{\"keccak256\":\"0x212fb1b1d4beaf74354dad9bc329f44ee3c5375ef1c32acff76b4ecefc10f1d8\",\"urls\":[\"bzz-raw://d21c68cb321d1c8d0fa39fd9ecb6bbe3b2f26623b0f38af280a010c916c85f23\",\"dweb:/ipfs/Qmf2P51HRC4ekDHLYfbXu5SXR33gXrWtq6oKSmfyWqVRuC\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity >=0.6.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/utils/Pausable.sol\";\nimport \"../utils/Ownable.sol\";\n\n\n/**\n * @dev Interface of the ERC20 standard + mint & burn\n */\ninterface _IERC20 is IERC20 {\n\n /**\n * @dev Mint Function\n */\n function mint(address account, uint256 amount) external;\n\n /**\n * @dev Burn Function\n */\n function burn(address account, uint256 amount) external;\n\n}\n\n\n/**\n * @title BEPRO Network Contract\n */\ncontract BEPRONetwork is Pausable, Ownable{\n using SafeMath for uint256;\n\n _IERC20 public beproToken;\n\n uint256 constant private year = 365 days;\n uint256 public incrementIssueID = 1;\n uint256 public closedIdsCount = 0;\n uint256 public totalStaked = 0;\n address public feeAddress = 0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A;\n uint256 public feeShare = 2; // (%) - Share to go to marketplace manager\n uint256 public mergeCreatorFeeShare = 1; // (%) - Share to go to the merge proposal creator\n uint256 public percentageNeededForApprove = 10; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public percentageNeededForDispute = 3; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 constant public timeOpenForIssueApprove = 3 days;\n uint256 public percentageNeededForMerge = 20; // (%) - Amount needed to approve a PR and distribute the rewards\n uint256 public beproVotesStaked = 0;\n\n uint256 public COUNCIL_BEPRO_AMOUNT = 10000000; // 10M\n uint256 public OPERATOR_BEPRO_AMOUNT = 1000000; // 1M\n uint256 public DEVELOPER_BEPRO_AMOUNT = 10000; // 10k\n\n mapping(uint256 => Issue) public issues; /* Distribution object */\n mapping(address => uint256[]) public myIssues; /* Address Based Subcription */\n\n mapping(address => Voter) public voters; \n address[] public votersArray; \n\n\n struct MergeProposal {\n uint256 _id;\n mapping(address => uint256) votesForMergeByAddress; // Address -> Votes for that merge\n mapping(address => uint256) disputesForMergeByAddress; // Address -> Votes for that merge\n uint256 votes; // Amount of votes set\n uint256 disputes; // Amount of votes set\n address[] prAddresses;\n uint256[] prAmounts;\n address proposalAddress;\n }\n\n struct Issue {\n uint256 _id;\n uint256 creationDate;\n uint256 beproStaked;\n address issueGenerator;\n mapping(address => uint256) votesForApproveByAddress;\n uint256 votesForApprove;\n mapping(uint256 => MergeProposal) mergeProposals; // Id -> Merge Proposal\n uint256 mergeIDIncrement;\n bool finalized;\n bool canceled;\n }\n\n struct Voter {\n uint256 votesDelegatedByOthers;\n mapping(address => uint256) votesDelegated;\n address[] delegatedVotesAddresses;\n uint256 beproLocked;\n }\n\n event OpenIssue(uint256 indexed id, address indexed opener, uint256 indexed amount);\n event ApproveIssue(uint256 indexed id, uint256 indexed votes, address indexed approver);\n event MergeProposalCreated(uint256 indexed id, uint256 indexed mergeID, address indexed creator);\n event DisputeMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed disputer);\n event ApproveMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed approver);\n event CloseIssue(uint256 indexed id, uint256 indexed mergeID, address[] indexed addresses);\n\n constructor(address _tokenAddress) public { \n beproToken = _IERC20(_tokenAddress);\n }\n\n function lockBepro(uint256 _beproAmount) public {\n require(_beproAmount > 0, \"BEPRO Amount is to be higher than 0\");\n require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), \"Needs Allowance\");\n\n if(voters[msg.sender].beproLocked != 0){\n // Exists\n voters[msg.sender].votesDelegated[msg.sender] = voters[msg.sender].votesDelegated[msg.sender].add(_beproAmount);\n voters[msg.sender].beproLocked = voters[msg.sender].beproLocked.add(_beproAmount);\n }else{\n // Does not exist\n Voter storage voter = voters[msg.sender];\n voter.beproLocked = _beproAmount;\n voter.delegatedVotesAddresses = [msg.sender];\n voter.votesDelegated[msg.sender] = _beproAmount;\n votersArray.push(msg.sender);\n }\n }\n\n function unlockBepro(uint256 _beproAmount, address _from) public {\n Voter storage voter = voters[msg.sender];\n require(voter.beproLocked >= _beproAmount, \"Has to have bepro to unlock\");\n require(voter.votesDelegated[_from] >= _beproAmount, \"From has to have bepro to unlock\");\n\n voters[msg.sender].beproLocked = voter.beproLocked.sub(_beproAmount);\n voters[msg.sender].votesDelegated[_from] = voter.votesDelegated[_from].sub(_beproAmount);\n if(msg.sender != _from){\n voters[_from].votesDelegatedByOthers = voters[_from].votesDelegatedByOthers.sub(_beproAmount);\n }\n\n require(beproToken.transfer(msg.sender, _beproAmount), \"Transfer didnt work\");\n beproVotesStaked.sub(_beproAmount);\n }\n\n function delegateOracles(uint256 _beproAmount, address _delegatedTo) internal {\n Voter storage voter = voters[msg.sender];\n\n require(_delegatedTo != address(0), \"Cannot transfer to the zero address\");\n require(_delegatedTo != msg.sender, \"Cannot transfer to itself\");\n\n require(voter.beproLocked >= _beproAmount, \"Has to have bepro to unlock\");\n require(voter.votesDelegated[msg.sender] >= _beproAmount, \"From has to have bepro to unlock\");\n\n voters[msg.sender].votesDelegated[msg.sender] = voter.votesDelegated[msg.sender].sub(_beproAmount);\n voters[msg.sender].votesDelegated[_delegatedTo] = voter.votesDelegated[_delegatedTo].add(_beproAmount);\n\n require(voters[_delegatedTo].beproLocked != uint256(0), \"Delegated to has to have voted already\");\n voters[_delegatedTo].votesDelegatedByOthers = voters[_delegatedTo].votesDelegatedByOthers.add(_beproAmount);\n }\n\n function approveIssue(uint256 _issueID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n require(issue._id != 0, \"Issue does not exist\");\n require(isIssueApprovable(_issueID));\n require(issues[_issueID].votesForApproveByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n issues[_issueID].votesForApprove = issues[_issueID].votesForApprove.add(votesToAdd);\n issues[_issueID].votesForApproveByAddress[msg.sender] = votesToAdd;\n\n emit ApproveIssue(_issueID, votesToAdd, msg.sender);\n }\n\n function approveMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.votesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].votes = merge.votes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].votesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit ApproveMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function disputeMerge(uint256 _issueID, uint256 _mergeID) public {\n Voter memory voter = voters[msg.sender];\n Issue memory issue = issues[_issueID];\n MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID];\n require(issue._id != 0, \"Issue does not exist\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(merge.disputesForMergeByAddress[msg.sender] == 0, \"Has already voted\");\n\n uint256 votesToAdd = getVotesByAddress(msg.sender);\n \n issues[_issueID].mergeProposals[_mergeID].disputes = merge.disputes.add(votesToAdd);\n issues[_issueID].mergeProposals[_mergeID].disputesForMergeByAddress[msg.sender] = votesToAdd;\n \n emit DisputeMerge(_issueID, _mergeID, votesToAdd, msg.sender);\n }\n\n function isIssueApprovable(uint256 _issueID) public returns (bool){\n // Only if in the open window\n return (issues[_issueID].creationDate.add(timeOpenForIssueApprove) < block.timestamp);\n }\n\n function isIssueApproved(uint256 _issueID) public returns (bool) {\n return (issues[_issueID].votesForApprove >= beproVotesStaked.mul(percentageNeededForApprove).div(100));\n }\n\n function isMergeDisputed(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].disputes >= beproVotesStaked.mul(percentageNeededForDispute).div(100));\n }\n\n function isMergeApproved(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n return (issues[_issueID].mergeProposals[_mergeID].votes >= beproVotesStaked.mul(percentageNeededForMerge).div(100));\n }\n \n function isMergeTheOneWithMoreVotes(uint256 _issueID, uint256 _mergeID) public returns (bool) {\n uint256 thisMergeVotes = issues[_issueID].mergeProposals[_mergeID].votes;\n for(uint8 i = 0; i < issues[_issueID].mergeIDIncrement; i++){\n if(issues[_issueID].mergeProposals[i].votes > thisMergeVotes){\n return false;\n }\n }\n return true;\n }\n\n /**\n * @dev open an Issue with bepro owned\n * 1st step\n */\n function openIssue(uint256 _beproAmount) public whenNotPaused {\n // Open Issue\n Issue memory issue;\n issue._id = incrementIssueID;\n issue.beproStaked = _beproAmount;\n issue.issueGenerator = msg.sender;\n issue.creationDate = block.timestamp;\n issue.finalized = false;\n issues[incrementIssueID] = issue;\n myIssues[msg.sender].push(incrementIssueID);\n // Stake bepro\n require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), \"Needs Allowance\");\n totalStaked = totalStaked.add(_beproAmount);\n incrementIssueID = incrementIssueID + 1;\n emit OpenIssue(incrementIssueID, msg.sender, _beproAmount);\n }\n\n function redeemIssue(uint256 _issueId) public whenNotPaused {\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue has to not be approved\");\n require(!isIssueApprovable(_issueId), \"Time for approving has to be already passed\");\n issues[_issueId].finalized = true;\n issues[_issueId].canceled = true;\n require(beproToken.transfer(msg.sender, issues[_issueId].beproStaked), \"Transfer not sucessful\");\n }\n\n\n\n /**\n * @dev update an Issue with bepro owned\n * 2nd step (optional)\n */\n function updateIssue(uint256 _issueId, uint256 _newbeproAmount) public whenNotPaused {\n require(issues[_issueId].beproStaked != 0, \"Issue has to exist\");\n require(issues[_issueId].issueGenerator == msg.sender, \"Has to be the issue creator\");\n require(!isIssueApproved(_issueId), \"Issue is already Approved\");\n\n uint256 previousAmount = issues[_issueId].beproStaked;\n // Update Issue\n issues[_issueId].beproStaked = _newbeproAmount;\n // Stake bepro\n if(_newbeproAmount > previousAmount){\n require(beproToken.transferFrom(msg.sender, address(this), _newbeproAmount.sub(previousAmount)), \"Needs Allowance\");\n totalStaked = totalStaked.add(_newbeproAmount.sub(previousAmount));\n }else{\n require(beproToken.transfer(msg.sender, previousAmount.sub(_newbeproAmount)), \"Transfer not sucessful\");\n totalStaked = totalStaked.sub(previousAmount.sub(_newbeproAmount));\n }\n }\n\n /**\n * @dev Owner finalizes the issue and distributes the bepro or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _prAddresses PR Address\n * @param _prAmounts PR Amounts\n */\n function proposeIssueMerge(uint256 _issueID, address[] memory _prAddresses, uint256[] memory _prAmounts) public whenNotPaused {\n \n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(_prAmounts.length == _prAddresses.length, \"Amounts has to equal addresses length\");\n require(beproToken.balanceOf(msg.sender) > COUNCIL_BEPRO_AMOUNT*10**18, \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\");\n\n MergeProposal memory mergeProposal;\n mergeProposal._id = issue.mergeIDIncrement;\n mergeProposal.prAmounts = _prAmounts;\n mergeProposal.prAddresses = _prAddresses;\n mergeProposal.proposalAddress = msg.sender;\n\n uint256 total = ((issues[_issueID].beproStaked * (feeShare + mergeCreatorFeeShare)) / 100); // Fee + Merge Creator Fee + 0\n\n for(uint i = 0; i < _prAddresses.length; i++){\n require(beproToken.balanceOf(_prAddresses[i]) > DEVELOPER_BEPRO_AMOUNT*10**18, \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\");\n total = total.add((_prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100);\n }\n\n require(total == issues[_issueID].beproStaked, \"Totals dont match\");\n\n issues[_issueID].mergeProposals[issue.mergeIDIncrement] = mergeProposal;\n issues[_issueID].mergeIDIncrement = issues[_issueID].mergeIDIncrement + 1;\n emit MergeProposalCreated(_issueID, mergeProposal._id, msg.sender);\n }\n\n\n\n /**\n * @dev Owner finalizes the issue and distributes the bepro or rejects the PR\n * @param _issueID issue id (mapping with github)\n * @param _mergeID merge id \n */\n function closeIssue(uint256 _issueID, uint256 _mergeID) public whenNotPaused {\n Issue memory issue = issues[_issueID];\n require(issue._id != 0 , \"Issue has to exist\");\n require(issue.finalized == false, \"Issue has to be opened\");\n require(issue.mergeIDIncrement > _mergeID, \"Merge Proposal does not exist\");\n require(isMergeApproved(_issueID, _mergeID), \"Issue has to have passed voting\");\n require(!isMergeDisputed(_issueID, _mergeID), \"Merge has been disputed\");\n require(isMergeTheOneWithMoreVotes(_issueID, _mergeID), \"There is a merge proposal with more votes\");\n\n // Closes the issue\n issues[_issueID].finalized = true;\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeID];\n\n // Fee Transfer\n require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * feeShare) / 100), \"Has to transfer\");\n\n // Merge Creator Transfer\n require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * mergeCreatorFeeShare) / 100), \"Has to transfer\");\n \n // Generate Reputation Tokens\n for(uint i = 0; i < merge.prAddresses.length; i++){\n myIssues[merge.prAddresses[i]].push(_issueID);\n require(beproToken.transfer(merge.prAddresses[i], (merge.prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100), \"Has to transfer\");\n }\n\n closedIdsCount = closedIdsCount.add(1);\n totalStaked = totalStaked.sub(issue.beproStaked);\n emit CloseIssue(_issueID, _mergeID, merge.prAddresses);\n }\n\n function getIssuesByAddress(address _address) public returns (uint256[] memory){\n return myIssues[_address];\n }\n\n function getVotesByAddress(address _address) public returns (uint256){\n Voter storage voter = voters[_address];\n return voter.votesDelegatedByOthers.add(voter.votesDelegated[_address]);\n }\n \n function getIssueById(uint256 _issueID) public returns (uint256, uint256, uint256, address, uint256, uint256, bool, bool){\n Issue memory issue = issues[_issueID];\n return (issue._id, issue.beproStaked, issue.creationDate, issue.issueGenerator, issue.votesForApprove, issue.mergeIDIncrement, issue.finalized, issue.canceled);\n }\n\n function getMergeById(uint256 _issueID, uint256 _mergeId) public returns (uint256, uint256, uint256, address[] memory, uint256[] memory, address){\n MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeId];\n return (merge._id, merge.votes, merge.disputes, merge.prAddresses, merge.prAmounts, merge.proposalAddress);\n }\n\n /**\n * @dev Change BEPRO Token Address (Upgrade)\n */\n function changeBEPROAddress(address _newAddress) public onlyOwner {\n beproToken = _IERC20(_newAddress);\n }\n\n /**\n * @dev Change Fee Address\n */\n function editFeeAddress(address _newAddress) public onlyOwner {\n feeAddress = _newAddress;\n }\n\n /**\n * @dev Change Share Fee Amount\n */\n function editFeeShare(uint256 _feeShare) public onlyOwner {\n feeShare = _feeShare;\n }\n\n /**\n * @dev Upgrade Contract Version\n */\n function upgradeContract(address _newContract) public onlyOwner whenPaused {\n //To be done\n }\n}\n", - "sourcePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "ast": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6937 - ], - "_IERC20": [ - 5180 - ] - }, - "id": 6938, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5160, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5161, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 9319, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 5162, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 11875, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 5163, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 8431, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5164, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9387, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9387", - "typeString": "contract IERC20" - } - }, - "id": 5165, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 9387 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 5180, - "linearizedBaseContracts": [ - 5180, - 9387 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 5172, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5167, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5169, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 5171, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 5180, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 5179, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 5180, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6938, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5181, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 5182, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5183, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 5184, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6937, - "linearizedBaseContracts": [ - 6937, - 8430, - 11874, - 10777 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5187, - "libraryName": { - "contractScope": null, - "id": 5185, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 5186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 5189, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 5188, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5180, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 5192, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "656:8:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 5195, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "704:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 5198, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "743:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 5201, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 5204, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "814:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e9ade90e", - "id": 5207, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "888:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 5210, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 5213, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1079:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 5216, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1197:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2307debc", - "id": 5219, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1320:6:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 5222, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1374:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bdfd4524", - "id": 5225, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1482:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ccaf968", - "id": 5228, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:8:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6253faf8", - "id": 5231, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e38ebcf9", - "id": 5234, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1647:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 5238, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 5237, - "keyType": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1666:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 5236, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 5243, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1737:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 5242, - "keyType": { - "id": 5239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1745:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1737:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 5240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5241, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1756:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 5247, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 5246, - "keyType": { - "id": 5244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1821:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 5245, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 5250, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1867:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.MergeProposal", - "id": 5273, - "members": [ - { - "constant": false, - "id": 5252, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5256, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5255, - "keyType": { - "id": 5253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1956:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5260, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5259, - "keyType": { - "id": 5257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2059:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2051:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5262, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5264, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5267, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 5298, - "members": [ - { - "constant": false, - "id": 5275, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5279, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5281, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5285, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5284, - "keyType": { - "id": 5282, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2483:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2475:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5287, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5291, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 5290, - "keyType": { - "id": 5288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2570:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 5289, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 5310, - "members": [ - { - "constant": false, - "id": 5300, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5304, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5303, - "keyType": { - "id": 5301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2807:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2799:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5306, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2851:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5318, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5312, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5314, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5316, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2941:68:8" - }, - "src": "2926:84:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5326, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5320, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3077:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3033:69:8" - }, - "src": "3015:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5334, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5328, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5330, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5332, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:70:8" - }, - "src": "3108:97:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5344, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5336, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5338, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5340, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5342, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3228:86:8" - }, - "src": "3210:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5354, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5346, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5348, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5350, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5352, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3338:86:8" - }, - "src": "3320:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5363, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5356, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5358, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5361, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5360, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3492:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:74:8" - }, - "src": "3430:91:8" - }, - { - "body": { - "id": 5374, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5368, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5370, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5365, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5369, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5373, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 5375, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5365, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5375, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:23:8" - }, - "returnParameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6937, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5484, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5381, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3709:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3694:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424550524f20416d6f756e7420697320746f20626520686967686572207468616e2030", - "id": 5384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3712:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - }, - "value": "BEPRO Amount is to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - } - ], - "id": 5380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5386, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5394, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3804:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3819:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5388, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "3768:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 5387, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3760:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3760:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3873:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3866:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3866:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5482, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 5446 - ], - "declarations": [ - { - "constant": false, - "id": 5446, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5445, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5451, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5447, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5450, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5448, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4232:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4225:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5452, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5455, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5458, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5307, - "src": "4303:29:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4336:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 5463, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4335:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4303:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5471, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4382:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4361:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5472, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5474, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5478, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5475, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5250, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4422:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4422:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 5483, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 5444, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5408, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5415, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3972:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3938:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5425, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4036:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5416, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5419, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4020:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "3986:49:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:111:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5428, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5429, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5432, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4070:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4063:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5440, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4131:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5434, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4103:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4096:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "4096:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:81:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 5485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5377, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5485, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 5379, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6937, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5580, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 5493 - ], - "declarations": [ - { - "constant": false, - "id": 5493, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5492, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5498, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5494, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4577:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4570:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4548:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5502, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4627:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4641:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4598:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4598:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5506, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5508, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5511, - "indexExpression": { - "argumentTypes": null, - "id": 5510, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4720:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4689:43:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4681:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5517, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5525, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5522, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4813:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4813:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4780:68:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5528, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5529, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5532, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4865:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4858:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5535, - "indexExpression": { - "argumentTypes": null, - "id": 5534, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4892:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4858:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5541, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4933:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5536, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5539, - "indexExpression": { - "argumentTypes": null, - "id": 5538, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4922:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4901:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4901:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:88:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5544, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5545, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4959:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 5547, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5563, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5562, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5000:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4993:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5558, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5073:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5553, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5555, - "indexExpression": { - "argumentTypes": null, - "id": 5554, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5039:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5032:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5032:40:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4993:93:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5561, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5135:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5569, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5147:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5565, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "5115:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5115:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5162:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 5564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5107:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5107:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5577, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5574, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5194:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5487, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5489, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:37:8" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6937, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5692, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5692, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5588, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5590, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5351:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5329:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5596, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5388:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5416:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5380:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5604, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5606, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5488:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5500:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 5605, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5464:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5612, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5614, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5568:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5547:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5582:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5539:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5539:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5620, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5622, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5626, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5651:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5630:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5627, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5666:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5630:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5622:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5622:93:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5631, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5632, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5635, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5733:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5760:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5726:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5646, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5811:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5640, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5644, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5795:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5774:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5774:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5774:50:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5726:98:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5650, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5841:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5834:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5656, - "indexExpression": { - "argumentTypes": null, - "id": 5655, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5868:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5834:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5662, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5923:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5657, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5660, - "indexExpression": { - "argumentTypes": null, - "id": 5659, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5905:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5884:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5884:38:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5834:102:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5665, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5667, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5669, - "indexExpression": { - "argumentTypes": null, - "id": 5668, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5962:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5955:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5999:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5991:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5955:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6003:40:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5947:97:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5678, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5679, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5681, - "indexExpression": { - "argumentTypes": null, - "id": 5680, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6061:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5688, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6148:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5683, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5685, - "indexExpression": { - "argumentTypes": null, - "id": 5684, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6107:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6100:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6100:47:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6100:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6054:107:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5691, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5585, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5288:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:44:8" - }, - "returnParameters": { - "id": 5587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6937, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5775, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5699 - ], - "declarations": [ - { - "constant": false, - "id": 5699, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5698, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5704, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5700, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5703, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6259:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6252:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5705, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5710, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5707, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5709, - "indexExpression": { - "argumentTypes": null, - "id": 5708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6308:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6301:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6280:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5712, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6348:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6351:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5718, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5721, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5720, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6384:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5724, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5726, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6445:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5732, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6480:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6438:58:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6498:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6430:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5737, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5739 - ], - "declarations": [ - { - "constant": false, - "id": 5739, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5744, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5741, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6568:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5740, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6550:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6529:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5745, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5747, - "indexExpression": { - "argumentTypes": null, - "id": 5746, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5754, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6661:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6624:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6624:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6624:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6589:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5757, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5758, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5760, - "indexExpression": { - "argumentTypes": null, - "id": 5759, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6689:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6682:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5764, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6724:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6682:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5765, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5767, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5769, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5770, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6799:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5768, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6764:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5774, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5695, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5776, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5697, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6937, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5874, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5784 - ], - "declarations": [ - { - "constant": false, - "id": 5784, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5783, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5785, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6926:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6919:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5791 - ], - "declarations": [ - { - "constant": false, - "id": 5791, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5790, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5792, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5794, - "indexExpression": { - "argumentTypes": null, - "id": 5793, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "6975:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6968:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5797 - ], - "declarations": [ - { - "constant": false, - "id": 5797, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5796, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5798, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5800, - "indexExpression": { - "argumentTypes": null, - "id": 5799, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7031:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5803, - "indexExpression": { - "argumentTypes": null, - "id": 5802, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7056:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6994:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5806, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7083:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7099:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7075:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5812, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5814, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7140:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7176:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7132:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5820, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5822, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7226:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7270:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7226:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7273:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5831, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5833 - ], - "declarations": [ - { - "constant": false, - "id": 5833, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5838, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7343:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5834, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5839, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5841, - "indexExpression": { - "argumentTypes": null, - "id": 5840, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7380:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5844, - "indexExpression": { - "argumentTypes": null, - "id": 5843, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7405:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5849, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5846, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7423:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7423:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:77:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5852, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5855, - "indexExpression": { - "argumentTypes": null, - "id": 5854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7467:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5858, - "indexExpression": { - "argumentTypes": null, - "id": 5857, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7492:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5862, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5860, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7525:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7460:76:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5863, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5865, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5868, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5869, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5870, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7618:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5866, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5354, - "src": "7573:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5873, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5875, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5778, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5780, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6937, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5973, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5883 - ], - "declarations": [ - { - "constant": false, - "id": 5883, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5882, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5884, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5887, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7738:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5890 - ], - "declarations": [ - { - "constant": false, - "id": 5890, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5889, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5891, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5893, - "indexExpression": { - "argumentTypes": null, - "id": 5892, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7794:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7787:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5895, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5903, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5899, - "indexExpression": { - "argumentTypes": null, - "id": 5898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7850:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5902, - "indexExpression": { - "argumentTypes": null, - "id": 5901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7875:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7813:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5905, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7915:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7902:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7894:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5911, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5913, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5915, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7985:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7995:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5912, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7951:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7951:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5919, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5921, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5925, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8045:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8092:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8045:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8095:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8037:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8037:78:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5930, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5932 - ], - "declarations": [ - { - "constant": false, - "id": 5932, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5937, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8165:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5933, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8147:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8126:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5938, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5940, - "indexExpression": { - "argumentTypes": null, - "id": 5939, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8202:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5943, - "indexExpression": { - "argumentTypes": null, - "id": 5942, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8227:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5948, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5945, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8248:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8248:30:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8195:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5951, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5952, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5954, - "indexExpression": { - "argumentTypes": null, - "id": 5953, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8295:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5957, - "indexExpression": { - "argumentTypes": null, - "id": 5956, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8320:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5961, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8356:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8288:79:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5962, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5964, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5966, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5967, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5968, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8449:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5965, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5344, - "src": "8404:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8404:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5972, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5877, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5879, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6937, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5993, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5986, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "8629:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5981, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5983, - "indexExpression": { - "argumentTypes": null, - "id": 5982, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "8602:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8595:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8595:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8595:58:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8595:76:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5991, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5980, - "id": 5992, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5976, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5978, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6937, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6015, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6001, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6003, - "indexExpression": { - "argumentTypes": null, - "id": 6002, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5996, - "src": "8775:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8768:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8857:3:8", - "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": 6007, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6005, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8804:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8804:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8768:93:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6000, - "id": 6014, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 6016, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5996, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 6000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5999, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5998, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6937, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6042, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6025, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6027, - "indexExpression": { - "argumentTypes": null, - "id": 6026, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "8983:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6030, - "indexExpression": { - "argumentTypes": null, - "id": 6029, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "9008:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9083:3:8", - "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": 6034, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6032, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9030:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9030:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:111:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6040, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6024, - "id": 6041, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 6043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6018, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6020, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 6024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6937, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6069, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6052, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6054, - "indexExpression": { - "argumentTypes": null, - "id": 6053, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "9209:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6047, - "src": "9234:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:3:8", - "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": 6061, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5222, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6059, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9253:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9253:50:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:55:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9202:106:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6067, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6051, - "id": 6068, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 6070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6045, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 6051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6937, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6119, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 6080 - ], - "declarations": [ - { - "constant": false, - "id": 6080, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6119, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6081, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6083, - "indexExpression": { - "argumentTypes": null, - "id": 6082, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9462:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6086, - "indexExpression": { - "argumentTypes": null, - "id": 6085, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "9487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 6115, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6102, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6104, - "indexExpression": { - "argumentTypes": null, - "id": 6103, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6107, - "indexExpression": { - "argumentTypes": null, - "id": 6106, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9621:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:34:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6109, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6114, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 6113, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9672:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6078, - "id": 6112, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6093, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6094, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6096, - "indexExpression": { - "argumentTypes": null, - "id": 6095, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9540:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9533:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6116, - "initializationExpression": { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6116, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6089, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6092, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9526:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9516:11:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6101, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9718:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6078, - "id": 6118, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 6120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6072, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6071, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6074, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 6078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6077, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6076, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6937, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6210, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 6128 - ], - "declarations": [ - { - "constant": false, - "id": 6128, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6210, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6127, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6129, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6130, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6133, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6135, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6136, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6139, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6141, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6142, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6145, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6152, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10076:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10055:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6155, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6156, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10119:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10101:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6161, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6162, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6164, - "indexExpression": { - "argumentTypes": null, - "id": 6163, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10141:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10134:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6165, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6167, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6173, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6171, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10185:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10176:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10176:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10176:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6175, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10284:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10296:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10311:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6177, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "10260:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10260:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10326:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6176, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10252:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10252:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6190, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6193, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "10368:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10368:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10354:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6196, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6197, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6198, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10445:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10426:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10407:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6202, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6205, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10489:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6207, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10501:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6203, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:53:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6209, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 6211, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6125, - "modifierName": { - "argumentTypes": null, - "id": 6124, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6122, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6211, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 6126, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6937, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6272, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6219, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6221, - "indexExpression": { - "argumentTypes": null, - "id": 6220, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10612:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10605:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10640:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10597:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10597:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6228, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6231, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6230, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10701:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10728:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 6229, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10692:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6236, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6239, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6238, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10778:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10807:45:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 6237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10769:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:84:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6244, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6245, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6247, - "indexExpression": { - "argumentTypes": null, - "id": 6246, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10870:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10863:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10892:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10863:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6251, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6252, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6254, - "indexExpression": { - "argumentTypes": null, - "id": 6253, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10913:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10906:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10934:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10906:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6258, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10976:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6264, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6266, - "indexExpression": { - "argumentTypes": null, - "id": 6265, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10995:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10988:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "10988:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6260, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "10956:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10956:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10948:96:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6271, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 6273, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6216, - "modifierName": { - "argumentTypes": null, - "id": 6215, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6213, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 6217, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6937, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6381, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6283, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6285, - "indexExpression": { - "argumentTypes": null, - "id": 6284, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11258:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11283:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11286:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11243:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11243:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6291, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6293, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6295, - "indexExpression": { - "argumentTypes": null, - "id": 6294, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11332:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11325:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11360:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11325:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11372:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11317:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6302, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11421:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11448:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 6303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11412:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11412:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6310, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 6312 - ], - "declarations": [ - { - "constant": false, - "id": 6312, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6381, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6317, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6313, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6315, - "indexExpression": { - "argumentTypes": null, - "id": 6314, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11519:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11512:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6318, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6320, - "indexExpression": { - "argumentTypes": null, - "id": 6319, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11581:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11574:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6324, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6325, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6326, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6379, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11955:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6363, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6361, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11967:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6357, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "11935:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11935:68:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12005:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11927:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11927:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6369, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6374, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12074:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12058:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12058:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12044:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6378, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 6380, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 6355, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11747:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6339, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6337, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11762:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11762:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "11711:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11711:87:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11800:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11703:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:115:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6345, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6350, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6348, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11862:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11862:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11846:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11846:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11832:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6354, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 6382, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6280, - "modifierName": { - "argumentTypes": null, - "id": 6279, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6275, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6277, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 6281, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6937, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6574, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 6396 - ], - "declarations": [ - { - "constant": false, - "id": 6396, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6395, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6397, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6399, - "indexExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "12530:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12523:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12502:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12570:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12557:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12574:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12549:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6408, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12632:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12613:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12639:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12605:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12605:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6416, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6418, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12682:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6420, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12703:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12682:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 6423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12724:39:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 6417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12674:90:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12803:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 6427, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12782:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6432, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5228, - "src": "12817:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12838:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12842:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12838:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12817:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12782:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429", - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12846:75:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - } - ], - "id": 6426, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12774:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12774:148:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 6442 - ], - "declarations": [ - { - "constant": false, - "id": 6442, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6441, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6443, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6444, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6447, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6451, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6454, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13055:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13029:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6460, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13103:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13075:40:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6462, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6463, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13157:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13125:42:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6469, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6485, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6472, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6474, - "indexExpression": { - "argumentTypes": null, - "id": 6473, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13203:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13196:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13196:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6476, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6477, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6479, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13227:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13196:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6481, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13195:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13264:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13195:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13194:74:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13178:90:8" - }, - { - "body": { - "id": 6532, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6500, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6502, - "indexExpression": { - "argumentTypes": null, - "id": 6501, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13411:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13398:15:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 6498, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13377:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5234, - "src": "13417:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13440:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13444:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "13440:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "13417:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13377:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429", - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13448:92:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - }, - "value": "To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - } - ], - "id": 6497, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13369:172:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6512, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6513, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13555:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6516, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6518, - "indexExpression": { - "argumentTypes": null, - "id": 6517, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13585:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13591:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6520, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13595:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6522, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13590:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13574:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13573:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13629:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13573:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6514, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "13563:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13563:70:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6531, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6490, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6491, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13330:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13326:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6533, - "initializationExpression": { - "assignments": [ - 6487 - ], - "declarations": [ - { - "constant": false, - "id": 6487, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6533, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6489, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13323:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13314:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6496, - "nodeType": "ExpressionStatement", - "src": "13351:3:8" - }, - "nodeType": "ForStatement", - "src": "13310:334:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6535, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6536, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6538, - "indexExpression": { - "argumentTypes": null, - "id": 6537, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13678:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13671:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13671:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13662:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13701:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 6534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13654:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13654:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6543, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6544, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6546, - "indexExpression": { - "argumentTypes": null, - "id": 6545, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13739:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13732:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6550, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13764:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13732:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6551, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6553, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6554, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6556, - "indexExpression": { - "argumentTypes": null, - "id": 6555, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13820:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13813:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6558, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "id": 6559, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13856:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13849:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13885:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13849:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:73:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6565, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6567, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13951:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 6566, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5334, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6573, - "nodeType": "EmitStatement", - "src": "13896:66:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 6575, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6393, - "modifierName": { - "argumentTypes": null, - "id": 6392, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6384, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6387, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6386, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12402:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6389, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12433:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12383:78:8" - }, - "returnParameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6937, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6760, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6585 - ], - "declarations": [ - { - "constant": false, - "id": 6585, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6584, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6586, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6588, - "indexExpression": { - "argumentTypes": null, - "id": 6587, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14277:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14270:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14249:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6591, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14317:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14304:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14321:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14296:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14379:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14360:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14386:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14352:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6605, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6609, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14455:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14429:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14465:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 6606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14421:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14421:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6613, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6616, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6617, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6615, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14515:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14552:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 6614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14507:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14507:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6624, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6623, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14605:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14642:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 6622, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14596:72:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6632, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14686:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14734:43:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 6631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14678:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14678:100:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6638, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6639, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6641, - "indexExpression": { - "argumentTypes": null, - "id": 6640, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14824:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14817:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14846:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14817:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6645, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6647 - ], - "declarations": [ - { - "constant": false, - "id": 6647, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6646, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6654, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6648, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "id": 6649, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14896:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6653, - "indexExpression": { - "argumentTypes": null, - "id": 6652, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14921:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6661, - "indexExpression": { - "argumentTypes": null, - "id": 6660, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15013:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15006:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6663, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15005:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15005:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6656, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "14973:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14973:80:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15055:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14965:108:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6671, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6675, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6676, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6678, - "indexExpression": { - "argumentTypes": null, - "id": 6677, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15159:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6680, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6682, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15158:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15214:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15158:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6673, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15126:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15126:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15220:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6672, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15118:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6736, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6701, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6702, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15386:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15368:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15359:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15359:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6714, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6717, - "indexExpression": { - "argumentTypes": null, - "id": 6716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15464:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15446:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15485:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15469:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15491:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6723, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15495:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6725, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15490:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:56:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6729, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:58:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15529:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15468:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6712, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15426:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15426:107:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15535:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15418:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15418:135:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6735, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6693, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15315:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15311:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6737, - "initializationExpression": { - "assignments": [ - 6690 - ], - "declarations": [ - { - "constant": false, - "id": 6690, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6737, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6689, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6692, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15308:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15299:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6700, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6738, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15610:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6739, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15591:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15574:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6744, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6745, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6748, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6746, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15636:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15636:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15622:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6752, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6754, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6755, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6756, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15716:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 6753, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "15685:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 6758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15685:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6759, - "nodeType": "EmitStatement", - "src": "15680:54:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 6761, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6582, - "modifierName": { - "argumentTypes": null, - "id": 6581, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6577, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6579, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6583, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6937, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6773, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6769, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6771, - "indexExpression": { - "argumentTypes": null, - "id": 6770, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "15852:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15843:18:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6768, - "id": 6772, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6763, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15775:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15774:18:8" - }, - "returnParameters": { - "id": 6768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6767, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15809:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15808:18:8" - }, - "scope": 6937, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6796, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6796, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "15982:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15975:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15953:38:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6790, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6793, - "indexExpression": { - "argumentTypes": null, - "id": 6792, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "16062:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16041:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "16008:32:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16008:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6780, - "id": 6795, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6797, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6776, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15901:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15900:18:8" - }, - "returnParameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6779, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6937, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6842, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6819 - ], - "declarations": [ - { - "constant": false, - "id": 6819, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6842, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6818, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6823, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6820, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6822, - "indexExpression": { - "argumentTypes": null, - "id": 6821, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6799, - "src": "16248:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16241:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6824, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6826, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6828, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6830, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6832, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6834, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6836, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6838, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6840, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16274:152:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 6817, - "id": 6841, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6799, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6802, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6804, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6806, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6808, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6810, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6812, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6815, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6937, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6887, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6865 - ], - "declarations": [ - { - "constant": false, - "id": 6865, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6887, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6864, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6872, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6866, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6868, - "indexExpression": { - "argumentTypes": null, - "id": 6867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6845, - "src": "16630:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6871, - "indexExpression": { - "argumentTypes": null, - "id": 6870, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6847, - "src": "16655:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6873, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6875, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6877, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6879, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16681:99:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 6863, - "id": 6886, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6845, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6847, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6850, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6854, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6856, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16540:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6859, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16558:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16576:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16512:72:8" - }, - "scope": 6937, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6901, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6897, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6896, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6900, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6902, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6890, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6902, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16886:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16885:21:8" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6937, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6913, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6909, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6910, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6912, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6914, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6907, - "modifierName": { - "argumentTypes": null, - "id": 6906, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6904, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6914, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17050:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17049:21:8" - }, - "returnParameters": { - "id": 6908, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6937, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6925, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6921, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6922, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6916, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6924, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6926, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6919, - "modifierName": { - "argumentTypes": null, - "id": 6918, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6926, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6920, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6937, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6935, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6936, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6931, - "modifierName": { - "argumentTypes": null, - "id": 6930, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6933, - "modifierName": { - "argumentTypes": null, - "id": 6932, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11843, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6928, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6936, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17365:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17364:22:8" - }, - "returnParameters": { - "id": 6934, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6937, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6938, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "legacyAST": { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/bepro/Network.sol", - "exportedSymbols": { - "BEPRONetwork": [ - 6937 - ], - "_IERC20": [ - 5180 - ] - }, - "id": 6938, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5160, - "literals": [ - "solidity", - ">=", - "0.6", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:24:8" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 5161, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 9319, - "src": "26:55:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/utils/Pausable.sol", - "file": "@openzeppelin/contracts/utils/Pausable.sol", - "id": 5162, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 11875, - "src": "82:52:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/Users/ruipedro/Desktop/projects/Bepro/@bepro-js/contracts/utils/Ownable.sol", - "file": "../utils/Ownable.sol", - "id": 5163, - "nodeType": "ImportDirective", - "scope": 6938, - "sourceUnit": 8431, - "src": "135:30:8", - "symbolAliases": [], - "unitAlias": "" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5164, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 9387, - "src": "251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$9387", - "typeString": "contract IERC20" - } - }, - "id": 5165, - "nodeType": "InheritanceSpecifier", - "src": "251:6:8" - } - ], - "contractDependencies": [ - 9387 - ], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard + mint & burn", - "fullyImplemented": false, - "id": 5180, - "linearizedBaseContracts": [ - 5180, - 9387 - ], - "name": "_IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Mint Function", - "functionSelector": "40c10f19", - "id": 5172, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5170, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5167, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "320:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5166, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "320:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5169, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5172, - "src": "337:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5168, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "337:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "319:33:8" - }, - "returnParameters": { - "id": 5171, - "nodeType": "ParameterList", - "parameters": [], - "src": "361:0:8" - }, - "scope": 5180, - "src": "306:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Burn Function", - "functionSelector": "9dc29fac", - "id": 5179, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5177, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5174, - "name": "account", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "422:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5173, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "422:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5176, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5179, - "src": "439:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5175, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "439:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "421:33:8" - }, - "returnParameters": { - "id": 5178, - "nodeType": "ParameterList", - "parameters": [], - "src": "463:0:8" - }, - "scope": 5180, - "src": "408:56:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "scope": 6938, - "src": "230:237:8" - }, - { - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5181, - "name": "Pausable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 11874, - "src": "536:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Pausable_$11874", - "typeString": "contract Pausable" - } - }, - "id": 5182, - "nodeType": "InheritanceSpecifier", - "src": "536:8:8" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 5183, - "name": "Ownable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8430, - "src": "546:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Ownable_$8430", - "typeString": "contract Ownable" - } - }, - "id": 5184, - "nodeType": "InheritanceSpecifier", - "src": "546:7:8" - } - ], - "contractDependencies": [ - 8430, - 10777, - 11874 - ], - "contractKind": "contract", - "documentation": "@title BEPRO Network Contract", - "fullyImplemented": true, - "id": 6937, - "linearizedBaseContracts": [ - 6937, - 8430, - 11874, - 10777 - ], - "name": "BEPRONetwork", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 5187, - "libraryName": { - "contractScope": null, - "id": 5185, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 8834, - "src": "565:8:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$8834", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "559:27:8", - "typeName": { - "id": 5186, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "functionSelector": "e113e452", - "id": 5189, - "name": "beproToken", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "592:25:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - }, - "typeName": { - "contractScope": null, - "id": 5188, - "name": "_IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5180, - "src": "592:7:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": true, - "id": 5192, - "name": "year", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "624:40:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5190, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "333635", - "id": 5191, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "656:8:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_31536000_by_1", - "typeString": "int_const 31536000" - }, - "value": "365" - }, - "visibility": "private" - }, - { - "constant": false, - "functionSelector": "729911a8", - "id": 5195, - "name": "incrementIssueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "670:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5193, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "670:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "704:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6ba7fa82", - "id": 5198, - "name": "closedIdsCount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "711:33:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5196, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "711:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "743:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "817b1cd2", - "id": 5201, - "name": "totalStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "750:30:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5199, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "750:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5200, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "41275358", - "id": 5204, - "name": "feeAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "786:70:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5202, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307843463343384265326532433432333331446138304546323130653942316233303743303364333641", - "id": 5203, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "814:42:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e9ade90e", - "id": 5207, - "name": "feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "862:27:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5205, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "862:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "32", - "id": 5206, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "888:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "c881bbe8", - "id": 5210, - "name": "mergeCreatorFeeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "939:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5208, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31", - "id": 5209, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "977:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e2b6b3d9", - "id": 5213, - "name": "percentageNeededForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1035:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5211, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1035:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130", - "id": 5212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1079:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "f7848049", - "id": 5216, - "name": "percentageNeededForDispute", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1153:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5214, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1153:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5215, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1197:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3_by_1", - "typeString": "int_const 3" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "2307debc", - "id": 5219, - "name": "timeOpenForIssueApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1270:56:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5217, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1270:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "33", - "id": 5218, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1320:6:8", - "subdenomination": "days", - "typeDescriptions": { - "typeIdentifier": "t_rational_259200_by_1", - "typeString": "int_const 259200" - }, - "value": "3" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "4ca8b9eb", - "id": 5222, - "name": "percentageNeededForMerge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1332:44:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5220, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1332:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3230", - "id": 5221, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1374:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_20_by_1", - "typeString": "int_const 20" - }, - "value": "20" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "bdfd4524", - "id": 5225, - "name": "beproVotesStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1448:35:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1448:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30", - "id": 5224, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1482:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "8ccaf968", - "id": 5228, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1490:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1490:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030303030", - "id": 5227, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1528:8:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000000_by_1", - "typeString": "int_const 10000000" - }, - "value": "10000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "6253faf8", - "id": 5231, - "name": "OPERATOR_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1549:46:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5229, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "31303030303030", - "id": 5230, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1588:7:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000_by_1", - "typeString": "int_const 1000000" - }, - "value": "1000000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "e38ebcf9", - "id": 5234, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1607:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5232, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1607:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "3130303030", - "id": 5233, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1647:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10000_by_1", - "typeString": "int_const 10000" - }, - "value": "10000" - }, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "04e15de5", - "id": 5238, - "name": "issues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1666:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "typeName": { - "id": 5237, - "keyType": { - "id": 5235, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "1666:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue)" - }, - "valueType": { - "contractScope": null, - "id": 5236, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "1685:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "1ac63d92", - "id": 5243, - "name": "myIssues", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1737:45:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "typeName": { - "id": 5242, - "keyType": { - "id": 5239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1745:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1737:29:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[])" - }, - "valueType": { - "baseType": { - "id": 5240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1756:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5241, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1756:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "a3ec138d", - "id": 5247, - "name": "voters", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1821:39:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "typeName": { - "id": 5246, - "keyType": { - "id": 5244, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1821:25:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter)" - }, - "valueType": { - "contractScope": null, - "id": 5245, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "1840:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "functionSelector": "53da4247", - "id": 5250, - "name": "votersArray", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6937, - "src": "1867:28:8", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5248, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1867:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5249, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1867:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.MergeProposal", - "id": 5273, - "members": [ - { - "constant": false, - "id": 5252, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1935:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5256, - "name": "votesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "1956:50:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5255, - "keyType": { - "id": 5253, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1964:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1956:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5254, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1975:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5260, - "name": "disputesForMergeByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2051:53:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5259, - "keyType": { - "id": 5257, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2059:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2051:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5258, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2070:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5262, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2149:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5261, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2149:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5264, - "name": "disputes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2195:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5263, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2195:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5267, - "name": "prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2244:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2244:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5266, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5270, - "name": "prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2275:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 5268, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2275:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5269, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5272, - "name": "proposalAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5273, - "src": "2304:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5271, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "MergeProposal", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "1904:430:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Issue", - "id": 5298, - "members": [ - { - "constant": false, - "id": 5275, - "name": "_id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2363:11:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2363:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5277, - "name": "creationDate", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2384:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5279, - "name": "beproStaked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2414:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5278, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2414:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5281, - "name": "issueGenerator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2443:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5280, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2443:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5285, - "name": "votesForApproveByAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2475:52:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5284, - "keyType": { - "id": 5282, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2483:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2475:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5283, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5287, - "name": "votesForApprove", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2537:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5286, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2537:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5291, - "name": "mergeProposals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2570:48:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "typeName": { - "id": 5290, - "keyType": { - "id": 5288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2578:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "2570:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal)" - }, - "valueType": { - "contractScope": null, - "id": 5289, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "2589:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "name": "mergeIDIncrement", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2652:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5292, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2652:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "name": "finalized", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2686:14:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5294, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2686:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "name": "canceled", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5298, - "src": "2710:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5296, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2710:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Issue", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2340:390:8", - "visibility": "public" - }, - { - "canonicalName": "BEPRONetwork.Voter", - "id": 5310, - "members": [ - { - "constant": false, - "id": 5300, - "name": "votesDelegatedByOthers", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2759:30:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5299, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2759:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5304, - "name": "votesDelegated", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2799:42:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 5303, - "keyType": { - "id": 5301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2807:7:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "2799:27:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 5302, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2818:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5307, - "name": "delegatedVotesAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2851:33:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5305, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2851:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5306, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2851:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5309, - "name": "beproLocked", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5310, - "src": "2894:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Voter", - "nodeType": "StructDefinition", - "scope": 6937, - "src": "2736:184:8", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 5318, - "name": "OpenIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5317, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5312, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2942:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2942:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5314, - "indexed": true, - "name": "opener", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2962:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5313, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2962:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5316, - "indexed": true, - "name": "amount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5318, - "src": "2986:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5315, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2986:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2941:68:8" - }, - "src": "2926:84:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5326, - "name": "ApproveIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5325, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5320, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3034:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3034:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5322, - "indexed": true, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3054:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3054:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5324, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5326, - "src": "3077:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3077:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3033:69:8" - }, - "src": "3015:88:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5334, - "name": "MergeProposalCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 5333, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5328, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3135:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3135:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5330, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3155:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5329, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3155:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5332, - "indexed": true, - "name": "creator", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5334, - "src": "3180:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3180:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3134:70:8" - }, - "src": "3108:97:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5344, - "name": "DisputeMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5343, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5336, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3229:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5335, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3229:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5338, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3249:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5337, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3249:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5340, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3274:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3274:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5342, - "indexed": true, - "name": "disputer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5344, - "src": "3289:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5341, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3289:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3228:86:8" - }, - "src": "3210:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5354, - "name": "ApproveMerge", - "nodeType": "EventDefinition", - "parameters": { - "id": 5353, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5346, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3339:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5345, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3339:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5348, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3359:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5347, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3359:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5350, - "indexed": false, - "name": "votes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3384:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5352, - "indexed": true, - "name": "approver", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5354, - "src": "3399:24:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5351, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3399:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3338:86:8" - }, - "src": "3320:105:8" - }, - { - "anonymous": false, - "documentation": null, - "id": 5363, - "name": "CloseIssue", - "nodeType": "EventDefinition", - "parameters": { - "id": 5362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5356, - "indexed": true, - "name": "id", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3447:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3447:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5358, - "indexed": true, - "name": "mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3467:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5357, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3467:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5361, - "indexed": true, - "name": "addresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5363, - "src": "3492:27:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 5359, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3492:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 5360, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3492:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3446:74:8" - }, - "src": "3430:91:8" - }, - { - "body": { - "id": 5374, - "nodeType": "Block", - "src": "3569:53:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5372, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 5368, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3580:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5370, - "name": "_tokenAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5365, - "src": "3601:13:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 5369, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "3593:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 5371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3593:22:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "3580:35:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5373, - "nodeType": "ExpressionStatement", - "src": "3580:35:8" - } - ] - }, - "documentation": null, - "id": 5375, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5365, - "name": "_tokenAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5375, - "src": "3539:21:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5364, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3539:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3538:23:8" - }, - "returnParameters": { - "id": 5367, - "nodeType": "ParameterList", - "parameters": [], - "src": "3569:0:8" - }, - "scope": 6937, - "src": "3527:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5484, - "nodeType": "Block", - "src": "3676:791:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5383, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5381, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3694:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5382, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3709:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3694:16:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "424550524f20416d6f756e7420697320746f20626520686967686572207468616e2030", - "id": 5384, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3712:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - }, - "value": "BEPRO Amount is to be higher than 0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_123f28a19f50285a56d4be4e42fb93d2c176dc3512345ad9fcdcf20a0e78383e", - "typeString": "literal_string \"BEPRO Amount is to be higher than 0\"" - } - ], - "id": 5380, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3686:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3686:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5386, - "nodeType": "ExpressionStatement", - "src": "3686:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5390, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3792:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5391, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3792:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5394, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "3812:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 5393, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5392, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3804:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5395, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3804:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 5396, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "3819:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5388, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "3768:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5389, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "3768:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 5397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3768:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 5398, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3834:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 5387, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3760:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3760:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5400, - "nodeType": "ExpressionStatement", - "src": "3760:92:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5401, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3866:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5404, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5402, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3873:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3873:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3866:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5405, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "3866:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3900:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "3866:35:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 5482, - "nodeType": "Block", - "src": "4159:302:8", - "statements": [ - { - "assignments": [ - 5446 - ], - "declarations": [ - { - "constant": false, - "id": 5446, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5482, - "src": "4203:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5445, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4203:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5451, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5447, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4225:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5450, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5448, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4232:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4232:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4225:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4203:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5456, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5452, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4257:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5454, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4257:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5455, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4277:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4257:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5457, - "nodeType": "ExpressionStatement", - "src": "4257:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5458, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4303:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5460, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "delegatedVotesAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5307, - "src": "4303:29:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5461, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4336:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4336:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "id": 5463, - "isConstant": false, - "isInlineArray": true, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4335:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_payable_$1_memory_ptr", - "typeString": "address payable[1] memory" - } - }, - "src": "4303:44:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5465, - "nodeType": "ExpressionStatement", - "src": "4303:44:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5466, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5446, - "src": "4361:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5470, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4361:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5471, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5468, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4382:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4382:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4361:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5472, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4396:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4361:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5474, - "nodeType": "ExpressionStatement", - "src": "4361:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5478, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4439:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5479, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 5475, - "name": "votersArray", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5250, - "src": "4422:11:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 5477, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4422:16:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 5480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4422:28:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5481, - "nodeType": "ExpressionStatement", - "src": "4422:28:8" - } - ] - }, - "id": 5483, - "nodeType": "IfStatement", - "src": "3863:598:8", - "trueBody": { - "id": 5444, - "nodeType": "Block", - "src": "3902:253:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5408, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3938:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5411, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5409, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3945:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5410, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3938:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5412, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3938:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5415, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5413, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3972:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5414, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3972:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3938:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5425, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4036:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5416, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "3986:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5419, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5417, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3993:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5418, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5420, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "3986:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5423, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5421, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4020:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4020:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3986:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "3986:49:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3986:63:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3938:111:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5428, - "nodeType": "ExpressionStatement", - "src": "3938:111:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5429, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4063:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5432, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5430, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4070:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4070:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4063:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5433, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4063:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5440, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5377, - "src": "4131:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5434, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4096:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5437, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5435, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4103:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4103:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4096:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5438, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4096:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "4096:34:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4096:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4063:81:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5443, - "nodeType": "ExpressionStatement", - "src": "4063:81:8" - } - ] - } - } - ] - }, - "documentation": null, - "functionSelector": "9816c170", - "id": 5485, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "lockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5378, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5377, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5485, - "src": "3647:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5376, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3647:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3646:22:8" - }, - "returnParameters": { - "id": 5379, - "nodeType": "ParameterList", - "parameters": [], - "src": "3676:0:8" - }, - "scope": 6937, - "src": "3628:839:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5580, - "nodeType": "Block", - "src": "4538:697:8", - "statements": [ - { - "assignments": [ - 5493 - ], - "declarations": [ - { - "constant": false, - "id": 5493, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5580, - "src": "4548:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5492, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "4548:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5498, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5494, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4570:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5497, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5495, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4577:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4577:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4570:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4548:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5500, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4606:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5501, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4606:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5502, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4627:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4606:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5504, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4641:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5499, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4598:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4598:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5506, - "nodeType": "ExpressionStatement", - "src": "4598:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5513, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5508, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4689:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5509, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4689:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5511, - "indexExpression": { - "argumentTypes": null, - "id": 5510, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4710:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4689:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5512, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4720:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4689:43:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4734:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5507, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4681:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4681:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5516, - "nodeType": "ExpressionStatement", - "src": "4681:88:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5517, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4780:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5520, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5518, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4787:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5519, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4780:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5521, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4780:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5525, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4835:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5522, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4813:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5523, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "4813:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4813:21:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4813:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4780:68:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5528, - "nodeType": "ExpressionStatement", - "src": "4780:68:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5543, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5529, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4858:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5532, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5530, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4865:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4865:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4858:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5533, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4858:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5535, - "indexExpression": { - "argumentTypes": null, - "id": 5534, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4892:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4858:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5541, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "4933:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5536, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5493, - "src": "4901:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5537, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "4901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5539, - "indexExpression": { - "argumentTypes": null, - "id": 5538, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4922:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4901:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "4901:31:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4901:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4858:88:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5544, - "nodeType": "ExpressionStatement", - "src": "4858:88:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5548, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5545, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "4959:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5546, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4959:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 5547, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "4973:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4959:19:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 5563, - "nodeType": "IfStatement", - "src": "4956:141:8", - "trueBody": { - "id": 5562, - "nodeType": "Block", - "src": "4979:118:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 5560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5549, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "4993:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5551, - "indexExpression": { - "argumentTypes": null, - "id": 5550, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5000:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4993:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5552, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "4993:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5558, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5073:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5553, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5032:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5555, - "indexExpression": { - "argumentTypes": null, - "id": 5554, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5489, - "src": "5039:5:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5032:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5556, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "5032:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5032:40:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5032:54:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4993:93:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5561, - "nodeType": "ExpressionStatement", - "src": "4993:93:8" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5567, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5135:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5135:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 5569, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5147:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5565, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "5115:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 5566, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "5115:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 5570, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5115:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206469646e7420776f726b", - "id": 5571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5162:21:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - }, - "value": "Transfer didnt work" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8e964efc116487cc479f26853a2139c6dce58196032653c43d452e489fb2ed39", - "typeString": "literal_string \"Transfer didnt work\"" - } - ], - "id": 5564, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5107:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5107:77:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5573, - "nodeType": "ExpressionStatement", - "src": "5107:77:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5577, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5487, - "src": "5215:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 5574, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "5194:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5194:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5194:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5579, - "nodeType": "ExpressionStatement", - "src": "5194:34:8" - } - ] - }, - "documentation": null, - "functionSelector": "f38b79b7", - "id": 5581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "unlockBepro", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5490, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5487, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4494:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5486, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4494:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5489, - "name": "_from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5581, - "src": "4516:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5488, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4516:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4493:37:8" - }, - "returnParameters": { - "id": 5491, - "nodeType": "ParameterList", - "parameters": [], - "src": "4538:0:8" - }, - "scope": 6937, - "src": "4473:762:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5692, - "nodeType": "Block", - "src": "5319:849:8", - "statements": [ - { - "assignments": [ - 5589 - ], - "declarations": [ - { - "constant": false, - "id": 5589, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5692, - "src": "5329:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5588, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "5329:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5594, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5590, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5351:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5593, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5591, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5358:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5592, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5358:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5351:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5329:40:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5601, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5596, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5388:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5412:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5598, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 5597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5404:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5404:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5388:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 5602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5416:37:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - }, - "value": "Cannot transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_deea2fa463cdaca7bcc6c65f53b7ae24609806e88ca4fdb7ade049dc06112288", - "typeString": "literal_string \"Cannot transfer to the zero address\"" - } - ], - "id": 5595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5603, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5380:74:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5604, - "nodeType": "ExpressionStatement", - "src": "5380:74:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 5609, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 5606, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5472:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5607, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5488:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5608, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5488:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5472:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e6e6f74207472616e7366657220746f20697473656c66", - "id": 5610, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5500:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - }, - "value": "Cannot transfer to itself" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2daad380f59b3d7169f4422bdb947ba9e37b282cf94e1f46279963cdcda8ed4d", - "typeString": "literal_string \"Cannot transfer to itself\"" - } - ], - "id": 5605, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5464:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5611, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5464:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5612, - "nodeType": "ExpressionStatement", - "src": "5464:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5617, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5614, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5547:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5615, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5547:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5616, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5568:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5547:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5618, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5582:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - }, - "value": "Has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ac6ff12730965ff3179f1d3c594a1deea98f5ef887dc922d960f80e22f23983f", - "typeString": "literal_string \"Has to have bepro to unlock\"" - } - ], - "id": 5613, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5539:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5539:73:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5620, - "nodeType": "ExpressionStatement", - "src": "5539:73:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5622, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5630:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5623, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5630:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5626, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5624, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5651:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5625, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5651:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5630:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 5627, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5666:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5630:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "46726f6d2068617320746f206861766520626570726f20746f20756e6c6f636b", - "id": 5629, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5680:34:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - }, - "value": "From has to have bepro to unlock" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92740a0f4c9a4716b7c3cfcde575ae69da3385e2f27992a0e28c26712992d8d2", - "typeString": "literal_string \"From has to have bepro to unlock\"" - } - ], - "id": 5621, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5622:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5630, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5622:93:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5631, - "nodeType": "ExpressionStatement", - "src": "5622:93:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5632, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5726:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5635, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5633, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5733:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5733:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5726:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5636, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5726:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5639, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5637, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5760:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5638, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5760:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5726:45:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5646, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5811:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5640, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5774:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5641, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5774:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5644, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5642, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5795:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5795:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5774:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5645, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "5774:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5774:50:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5726:98:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5649, - "nodeType": "ExpressionStatement", - "src": "5726:98:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5650, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5834:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5653, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5651, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "5841:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5841:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5834:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5654, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5834:33:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5656, - "indexExpression": { - "argumentTypes": null, - "id": 5655, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5868:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5834:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5662, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "5923:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5657, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5589, - "src": "5884:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 5658, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "5884:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5660, - "indexExpression": { - "argumentTypes": null, - "id": 5659, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5905:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5884:34:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "5884:38:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5663, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5884:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5834:102:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5665, - "nodeType": "ExpressionStatement", - "src": "5834:102:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5675, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5667, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "5955:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5669, - "indexExpression": { - "argumentTypes": null, - "id": 5668, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "5962:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5955:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5670, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproLocked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5309, - "src": "5955:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 5673, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5999:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 5672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 5671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5991:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 5674, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5991:10:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5955:46:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "44656c65676174656420746f2068617320746f206861766520766f74656420616c7265616479", - "id": 5676, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6003:40:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - }, - "value": "Delegated to has to have voted already" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_1ccaeb259131956d2e88249fb1135f682326cb1a54bb46c32bdca6bed0eb6368", - "typeString": "literal_string \"Delegated to has to have voted already\"" - } - ], - "id": 5666, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "5947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5677, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5947:97:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5678, - "nodeType": "ExpressionStatement", - "src": "5947:97:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5690, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5679, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6054:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5681, - "indexExpression": { - "argumentTypes": null, - "id": 5680, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6061:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6054:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5682, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6054:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5688, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5583, - "src": "6148:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5683, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6100:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5685, - "indexExpression": { - "argumentTypes": null, - "id": 5684, - "name": "_delegatedTo", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5585, - "src": "6107:12:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6100:20:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "id": 5686, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "6100:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6100:47:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6100:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6054:107:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5691, - "nodeType": "ExpressionStatement", - "src": "6054:107:8" - } - ] - }, - "documentation": null, - "id": 5693, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "delegateOracles", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5583, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5266:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5582, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5266:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5585, - "name": "_delegatedTo", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5693, - "src": "5288:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5584, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5288:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5265:44:8" - }, - "returnParameters": { - "id": 5587, - "nodeType": "ParameterList", - "parameters": [], - "src": "5319:0:8" - }, - "scope": 6937, - "src": "5241:927:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 5775, - "nodeType": "Block", - "src": "6221:596:8", - "statements": [ - { - "assignments": [ - 5699 - ], - "declarations": [ - { - "constant": false, - "id": 5699, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6231:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5698, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6231:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5704, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5700, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6252:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5703, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5701, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6259:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5702, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6259:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6252:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6231:39:8" - }, - { - "assignments": [ - 5706 - ], - "declarations": [ - { - "constant": false, - "id": 5706, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6280:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5705, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6280:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5710, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5707, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6301:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5709, - "indexExpression": { - "argumentTypes": null, - "id": 5708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6308:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6301:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6280:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5715, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5712, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5706, - "src": "6335:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5713, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "6335:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5714, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6348:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6335:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5716, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6351:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6327:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5717, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6327:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5718, - "nodeType": "ExpressionStatement", - "src": "6327:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5721, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6410:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 5720, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "6392:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 5722, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6392:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 5719, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$", - "typeString": "function (bool) pure" - } - }, - "id": 5723, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6384:36:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5724, - "nodeType": "ExpressionStatement", - "src": "6384:36:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5726, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6438:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5728, - "indexExpression": { - "argumentTypes": null, - "id": 5727, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6445:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5729, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6438:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5732, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6480:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6480:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6438:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6495:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "6438:58:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5735, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6498:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5725, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "6430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5736, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6430:88:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5737, - "nodeType": "ExpressionStatement", - "src": "6430:88:8" - }, - { - "assignments": [ - 5739 - ], - "declarations": [ - { - "constant": false, - "id": 5739, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5775, - "src": "6529:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5738, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6529:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5744, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5741, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6568:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6568:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5740, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "6550:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6550:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6529:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5756, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5745, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5747, - "indexExpression": { - "argumentTypes": null, - "id": 5746, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5748, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6589:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5754, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6661:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5749, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6624:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5751, - "indexExpression": { - "argumentTypes": null, - "id": 5750, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6624:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5752, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "6624:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5753, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "6624:36:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6624:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6589:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5757, - "nodeType": "ExpressionStatement", - "src": "6589:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5766, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5758, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6682:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5760, - "indexExpression": { - "argumentTypes": null, - "id": 5759, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6689:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6682:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5761, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApproveByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5285, - "src": "6682:41:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5764, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5762, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6724:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5763, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6724:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6682:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5765, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6738:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6682:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5767, - "nodeType": "ExpressionStatement", - "src": "6682:66:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5769, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5695, - "src": "6777:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5770, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5739, - "src": "6787:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6799:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6799:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5768, - "name": "ApproveIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5326, - "src": "6764:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 5773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6764:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5774, - "nodeType": "EmitStatement", - "src": "6759:51:8" - } - ] - }, - "documentation": null, - "functionSelector": "56036543", - "id": 5776, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5695, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5776, - "src": "6196:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5694, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6196:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6195:18:8" - }, - "returnParameters": { - "id": 5697, - "nodeType": "ParameterList", - "parameters": [], - "src": "6221:0:8" - }, - "scope": 6937, - "src": "6174:643:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5874, - "nodeType": "Block", - "src": "6888:748:8", - "statements": [ - { - "assignments": [ - 5784 - ], - "declarations": [ - { - "constant": false, - "id": 5784, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6898:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5783, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "6898:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5789, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5785, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "6919:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5788, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5786, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "6926:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5787, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6926:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6919:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6898:39:8" - }, - { - "assignments": [ - 5791 - ], - "declarations": [ - { - "constant": false, - "id": 5791, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6947:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5790, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "6947:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5795, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5792, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "6968:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5794, - "indexExpression": { - "argumentTypes": null, - "id": 5793, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "6975:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6968:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6947:37:8" - }, - { - "assignments": [ - 5797 - ], - "declarations": [ - { - "constant": false, - "id": 5797, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "6994:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5796, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "6994:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5804, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5798, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7024:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5800, - "indexExpression": { - "argumentTypes": null, - "id": 5799, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7031:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5801, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7024:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5803, - "indexExpression": { - "argumentTypes": null, - "id": 5802, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7056:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7024:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6994:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5806, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7083:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5807, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7083:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5808, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7096:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7083:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5810, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7099:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5805, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7075:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7075:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5812, - "nodeType": "ExpressionStatement", - "src": "7075:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5814, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5791, - "src": "7140:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5815, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7140:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5816, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7140:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5818, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7176:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5813, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7132:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7132:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5820, - "nodeType": "ExpressionStatement", - "src": "7132:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5828, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5822, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7226:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5823, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7226:28:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5826, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5824, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7255:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5825, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7255:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7226:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5827, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7270:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7226:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5829, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7273:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5821, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7218:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5830, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7218:75:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5831, - "nodeType": "ExpressionStatement", - "src": "7218:75:8" - }, - { - "assignments": [ - 5833 - ], - "declarations": [ - { - "constant": false, - "id": 5833, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5874, - "src": "7304:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5832, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7304:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5838, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5835, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7343:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7343:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5834, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "7325:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5837, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7325:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7304:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5839, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7373:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5841, - "indexExpression": { - "argumentTypes": null, - "id": 5840, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7380:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5842, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7373:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5844, - "indexExpression": { - "argumentTypes": null, - "id": 5843, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7405:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7373:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5845, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7373:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5849, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7439:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5846, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5797, - "src": "7423:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5847, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "7423:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5848, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "7423:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5850, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7423:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7373:77:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5852, - "nodeType": "ExpressionStatement", - "src": "7373:77:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5864, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5853, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7460:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5855, - "indexExpression": { - "argumentTypes": null, - "id": 5854, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7467:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5856, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7460:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5858, - "indexExpression": { - "argumentTypes": null, - "id": 5857, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7492:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7460:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5859, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5256, - "src": "7460:64:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5862, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5860, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7525:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7525:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7460:76:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5863, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7539:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7460:89:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5865, - "nodeType": "ExpressionStatement", - "src": "7460:89:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5778, - "src": "7586:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5868, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5780, - "src": "7596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5869, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5833, - "src": "7606:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5870, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7618:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7618:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5866, - "name": "ApproveMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5354, - "src": "7573:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5872, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7573:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5873, - "nodeType": "EmitStatement", - "src": "7568:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "953030c5", - "id": 5875, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approveMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5781, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5778, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6845:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5777, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6845:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5780, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5875, - "src": "6863:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5779, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6863:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6844:36:8" - }, - "returnParameters": { - "id": 5782, - "nodeType": "ParameterList", - "parameters": [], - "src": "6888:0:8" - }, - "scope": 6937, - "src": "6823:813:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5973, - "nodeType": "Block", - "src": "7707:760:8", - "statements": [ - { - "assignments": [ - 5883 - ], - "declarations": [ - { - "constant": false, - "id": 5883, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7717:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_memory_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 5882, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "7717:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5888, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5884, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "7738:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 5887, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5885, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "7745:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5886, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7745:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7738:18:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7717:39:8" - }, - { - "assignments": [ - 5890 - ], - "declarations": [ - { - "constant": false, - "id": 5890, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7766:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 5889, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "7766:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5894, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5891, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7787:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5893, - "indexExpression": { - "argumentTypes": null, - "id": 5892, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7794:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7787:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7766:37:8" - }, - { - "assignments": [ - 5896 - ], - "declarations": [ - { - "constant": false, - "id": 5896, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "7813:27:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 5895, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "7813:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5903, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5897, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "7843:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5899, - "indexExpression": { - "argumentTypes": null, - "id": 5898, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "7850:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5900, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "7843:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5902, - "indexExpression": { - "argumentTypes": null, - "id": 5901, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7875:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7843:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7813:71:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5908, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5905, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7902:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5906, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "7902:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5907, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7915:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "7902:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520646f6573206e6f74206578697374", - "id": 5909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7918:22:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - }, - "value": "Issue does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5648a5d201e632acd30680ac3a2e81605e8b070d1fa386038701bb26717342b0", - "typeString": "literal_string \"Issue does not exist\"" - } - ], - "id": 5904, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7894:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5910, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7894:47:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5911, - "nodeType": "ExpressionStatement", - "src": "7894:47:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5916, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5913, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5890, - "src": "7959:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 5914, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "7959:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 5915, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "7985:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7959:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 5917, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7995:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 5912, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "7951:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5918, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7951:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5919, - "nodeType": "ExpressionStatement", - "src": "7951:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5927, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5921, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8045:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5922, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8045:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5925, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5923, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8077:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5924, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8077:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8045:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 5926, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8092:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "8045:48:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320616c726561647920766f746564", - "id": 5928, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8095:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - }, - "value": "Has already voted" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2518304a6666317fd339edcdfb4b88fefa92655a2a89fad410d99e9513ce3339", - "typeString": "literal_string \"Has already voted\"" - } - ], - "id": 5920, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "8037:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 5929, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8037:78:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5930, - "nodeType": "ExpressionStatement", - "src": "8037:78:8" - }, - { - "assignments": [ - 5932 - ], - "declarations": [ - { - "constant": false, - "id": 5932, - "name": "votesToAdd", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5973, - "src": "8126:18:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5931, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 5937, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5934, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8165:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5935, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8165:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5933, - "name": "getVotesByAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6797, - "src": "8147:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 5936, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8147:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "8126:50:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5950, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5938, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8195:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5940, - "indexExpression": { - "argumentTypes": null, - "id": 5939, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8202:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5941, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8195:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5943, - "indexExpression": { - "argumentTypes": null, - "id": 5942, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8227:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8195:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5944, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8195:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5948, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8267:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5945, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5896, - "src": "8248:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal storage pointer" - } - }, - "id": 5946, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8248:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5947, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8248:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5949, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8248:30:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8195:83:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5951, - "nodeType": "ExpressionStatement", - "src": "8195:83:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 5963, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5952, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8288:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5954, - "indexExpression": { - "argumentTypes": null, - "id": 5953, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8295:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5955, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8288:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 5957, - "indexExpression": { - "argumentTypes": null, - "id": 5956, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8320:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8288:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 5958, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputesForMergeByAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5260, - "src": "8288:67:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 5961, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5959, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8356:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5960, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8356:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "8288:79:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 5962, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8370:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8288:92:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5964, - "nodeType": "ExpressionStatement", - "src": "8288:92:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5966, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5877, - "src": "8417:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5967, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5879, - "src": "8427:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 5968, - "name": "votesToAdd", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5932, - "src": "8437:10:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5969, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "8449:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 5970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8449:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 5965, - "name": "DisputeMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5344, - "src": "8404:12:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,uint256,address)" - } - }, - "id": 5971, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8404:56:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 5972, - "nodeType": "EmitStatement", - "src": "8399:61:8" - } - ] - }, - "documentation": null, - "functionSelector": "f87be2d4", - "id": 5974, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "disputeMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5880, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5877, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7664:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5876, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7664:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 5879, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5974, - "src": "7682:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7682:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7663:36:8" - }, - "returnParameters": { - "id": 5881, - "nodeType": "ParameterList", - "parameters": [], - "src": "7707:0:8" - }, - "scope": 6937, - "src": "7642:825:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 5993, - "nodeType": "Block", - "src": "8539:140:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 5990, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 5986, - "name": "timeOpenForIssueApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5219, - "src": "8629:23:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 5981, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8595:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 5983, - "indexExpression": { - "argumentTypes": null, - "id": 5982, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5976, - "src": "8602:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8595:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 5984, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "8595:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 5985, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "8595:33:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 5987, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8595:58:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 5988, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "8656:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 5989, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "8656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8595:76:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 5991, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8594:78:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 5980, - "id": 5992, - "nodeType": "Return", - "src": "8587:85:8" - } - ] - }, - "documentation": null, - "functionSelector": "96983822", - "id": 5994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApprovable", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5977, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5976, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8500:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5975, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8500:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8499:18:8" - }, - "returnParameters": { - "id": 5980, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5979, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 5994, - "src": "8534:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5978, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8534:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8533:6:8" - }, - "scope": 6937, - "src": "8473:206:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6015, - "nodeType": "Block", - "src": "8750:119:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6012, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6001, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8768:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6003, - "indexExpression": { - "argumentTypes": null, - "id": 6002, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5996, - "src": "8775:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8768:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6004, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "8768:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6010, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8857:3:8", - "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": 6007, - "name": "percentageNeededForApprove", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5213, - "src": "8825:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6005, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "8804:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6006, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "8804:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "8804:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6011, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8804:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8768:93:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6013, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8767:95:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6000, - "id": 6014, - "nodeType": "Return", - "src": "8760:102:8" - } - ] - }, - "documentation": null, - "functionSelector": "3d734948", - "id": 6016, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isIssueApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 5997, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5996, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8710:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5995, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8710:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8709:18:8" - }, - "returnParameters": { - "id": 6000, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5999, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6016, - "src": "8744:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5998, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8744:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8743:6:8" - }, - "scope": 6937, - "src": "8685:184:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6042, - "nodeType": "Block", - "src": "8958:137:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6039, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6025, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "8976:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6027, - "indexExpression": { - "argumentTypes": null, - "id": 6026, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6018, - "src": "8983:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6028, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "8976:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6030, - "indexExpression": { - "argumentTypes": null, - "id": 6029, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6020, - "src": "9008:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "8976:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6031, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "8976:50:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6037, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9083:3:8", - "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": 6034, - "name": "percentageNeededForDispute", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5216, - "src": "9051:26:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6032, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9030:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9030:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6035, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:48:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9030:52:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6038, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9030:57:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "8976:111:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6040, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "8975:113:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6024, - "id": 6041, - "nodeType": "Return", - "src": "8968:120:8" - } - ] - }, - "documentation": null, - "functionSelector": "f29b4250", - "id": 6043, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeDisputed", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6018, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8900:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8900:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6020, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8918:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "8918:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8899:36:8" - }, - "returnParameters": { - "id": 6024, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6023, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6043, - "src": "8952:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6022, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "8952:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8951:6:8" - }, - "scope": 6937, - "src": "8875:220:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6069, - "nodeType": "Block", - "src": "9184:132:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6066, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6052, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9202:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6054, - "indexExpression": { - "argumentTypes": null, - "id": 6053, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6045, - "src": "9209:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6055, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9202:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6057, - "indexExpression": { - "argumentTypes": null, - "id": 6056, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6047, - "src": "9234:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9202:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6058, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9202:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "313030", - "id": 6064, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9304:3:8", - "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": 6061, - "name": "percentageNeededForMerge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5222, - "src": "9274:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6059, - "name": "beproVotesStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5225, - "src": "9253:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mul", - "nodeType": "MemberAccess", - "referencedDeclaration": 8722, - "src": "9253:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6063, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "div", - "nodeType": "MemberAccess", - "referencedDeclaration": 8743, - "src": "9253:50:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6065, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "9253:55:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9202:106:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6067, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "9201:108:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 6051, - "id": 6068, - "nodeType": "Return", - "src": "9194:115:8" - } - ] - }, - "documentation": null, - "functionSelector": "ce13eae6", - "id": 6070, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeApproved", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6048, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6045, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9126:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6044, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9126:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6047, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9144:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6046, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9144:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9125:36:8" - }, - "returnParameters": { - "id": 6051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6050, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6070, - "src": "9178:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6049, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9178:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9177:6:8" - }, - "scope": 6937, - "src": "9101:215:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6119, - "nodeType": "Block", - "src": "9420:309:8", - "statements": [ - { - "assignments": [ - 6080 - ], - "declarations": [ - { - "constant": false, - "id": 6080, - "name": "thisMergeVotes", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6119, - "src": "9430:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6079, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9430:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6088, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6081, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9455:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6083, - "indexExpression": { - "argumentTypes": null, - "id": 6082, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9462:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6084, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9455:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6086, - "indexExpression": { - "argumentTypes": null, - "id": 6085, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6074, - "src": "9487:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9455:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6087, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9455:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "9430:72:8" - }, - { - "body": { - "id": 6115, - "nodeType": "Block", - "src": "9572:130:8", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6110, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6102, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9589:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6104, - "indexExpression": { - "argumentTypes": null, - "id": 6103, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9596:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6105, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "9589:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6107, - "indexExpression": { - "argumentTypes": null, - "id": 6106, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9621:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9589:34:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6108, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "9589:40:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6109, - "name": "thisMergeVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6080, - "src": "9632:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9589:57:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 6114, - "nodeType": "IfStatement", - "src": "9586:106:8", - "trueBody": { - "id": 6113, - "nodeType": "Block", - "src": "9647:45:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6111, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9672:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 6078, - "id": 6112, - "nodeType": "Return", - "src": "9665:12:8" - } - ] - } - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6098, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6093, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9529:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6094, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "9533:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6096, - "indexExpression": { - "argumentTypes": null, - "id": 6095, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6072, - "src": "9540:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "9533:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6097, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "9533:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9529:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6116, - "initializationExpression": { - "assignments": [ - 6090 - ], - "declarations": [ - { - "constant": false, - "id": 6090, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6116, - "src": "9516:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 6089, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "9516:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6092, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6091, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9526:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "9516:11:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "9568:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6099, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6090, - "src": "9568:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 6101, - "nodeType": "ExpressionStatement", - "src": "9568:3:8" - }, - "nodeType": "ForStatement", - "src": "9512:190:8" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6117, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9718:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 6078, - "id": 6118, - "nodeType": "Return", - "src": "9711:11:8" - } - ] - }, - "documentation": null, - "functionSelector": "839408a5", - "id": 6120, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6072, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9362:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6071, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9362:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6074, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9380:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9380:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9361:36:8" - }, - "returnParameters": { - "id": 6078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6077, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6120, - "src": "9414:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6076, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9414:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9413:6:8" - }, - "scope": 6937, - "src": "9326:403:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6210, - "nodeType": "Block", - "src": "9872:649:8", - "statements": [ - { - "assignments": [ - 6128 - ], - "declarations": [ - { - "constant": false, - "id": 6128, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6210, - "src": "9904:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6127, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "9904:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6129, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "9904:18:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6134, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6130, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9932:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6132, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "9932:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6133, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "9944:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9932:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6135, - "nodeType": "ExpressionStatement", - "src": "9932:28:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6140, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6136, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "9970:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6138, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "9970:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6139, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "9990:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "9970:32:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6141, - "nodeType": "ExpressionStatement", - "src": "9970:32:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6147, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6142, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10012:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6144, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10012:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6145, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10035:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10035:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10012:33:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6148, - "nodeType": "ExpressionStatement", - "src": "10012:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6154, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6149, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10055:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6151, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "10055:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6152, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "10076:5:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 6153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10076:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10055:36:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6155, - "nodeType": "ExpressionStatement", - "src": "10055:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6156, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10101:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6158, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10101:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6159, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10119:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "10101:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6161, - "nodeType": "ExpressionStatement", - "src": "10101:23:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6162, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10134:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6164, - "indexExpression": { - "argumentTypes": null, - "id": 6163, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10141:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "10134:24:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6165, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6128, - "src": "10161:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "src": "10134:32:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6167, - "nodeType": "ExpressionStatement", - "src": "10134:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6173, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10202:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6168, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "10176:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6171, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6169, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10185:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10185:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10176:20:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6172, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10176:25:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10176:43:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6175, - "nodeType": "ExpressionStatement", - "src": "10176:43:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6179, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10284:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6180, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10284:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6183, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "10304:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6182, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6181, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "10296:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6184, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10296:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 6185, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10311:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6177, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10260:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6178, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "10260:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6186, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10260:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6187, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10326:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6176, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10252:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6188, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10252:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6189, - "nodeType": "ExpressionStatement", - "src": "10252:92:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6190, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10354:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6193, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10384:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6191, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "10368:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6192, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "10368:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6194, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10368:29:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10354:43:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6196, - "nodeType": "ExpressionStatement", - "src": "10354:43:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6197, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10407:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6200, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6198, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10426:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6199, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10445:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "10426:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "10407:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6202, - "nodeType": "ExpressionStatement", - "src": "10407:39:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6204, - "name": "incrementIssueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5195, - "src": "10471:16:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6205, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10489:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10489:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 6207, - "name": "_beproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6122, - "src": "10501:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6203, - "name": "OpenIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5318, - "src": "10461:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (uint256,address,uint256)" - } - }, - "id": 6208, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10461:53:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6209, - "nodeType": "EmitStatement", - "src": "10456:58:8" - } - ] - }, - "documentation": "@dev open an Issue with bepro owned\n1st step", - "functionSelector": "b2bb95f5", - "id": 6211, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6125, - "modifierName": { - "argumentTypes": null, - "id": 6124, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "9858:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "9858:13:8" - } - ], - "name": "openIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6122, - "name": "_beproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6211, - "src": "9829:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6121, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "9829:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9828:22:8" - }, - "returnParameters": { - "id": 6126, - "nodeType": "ParameterList", - "parameters": [], - "src": "9872:0:8" - }, - "scope": 6937, - "src": "9810:711:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6272, - "nodeType": "Block", - "src": "10587:464:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6225, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6219, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10605:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6221, - "indexExpression": { - "argumentTypes": null, - "id": 6220, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10612:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10605:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6222, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "10605:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6223, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10640:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6224, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10640:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "10605:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6226, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10652:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6218, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10597:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6227, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10597:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6228, - "nodeType": "ExpressionStatement", - "src": "10597:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10700:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6231, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10717:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6230, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "10701:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6232, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10701:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206e6f7420626520617070726f766564", - "id": 6234, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10728:30:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - }, - "value": "Issue has to not be approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_335cd7f4e97f58257d23fdcf4c84e47ac523bcc5a8af010d084a70bde9a06705", - "typeString": "literal_string \"Issue has to not be approved\"" - } - ], - "id": 6229, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10692:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10692:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6236, - "nodeType": "ExpressionStatement", - "src": "10692:67:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6241, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "10777:28:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6239, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10796:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6238, - "name": "isIssueApprovable", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5994, - "src": "10778:17:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6240, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10778:27:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54696d6520666f7220617070726f76696e672068617320746f20626520616c726561647920706173736564", - "id": 6242, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10807:45:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - }, - "value": "Time for approving has to be already passed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_813b5b10e7db2acf598054d2360800de51ee711a33ed5f29e5f1e91bddd0f10c", - "typeString": "literal_string \"Time for approving has to be already passed\"" - } - ], - "id": 6237, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10769:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10769:84:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6244, - "nodeType": "ExpressionStatement", - "src": "10769:84:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6250, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6245, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10863:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6247, - "indexExpression": { - "argumentTypes": null, - "id": 6246, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10870:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10863:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6248, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "10863:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10892:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10863:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6251, - "nodeType": "ExpressionStatement", - "src": "10863:33:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6257, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6252, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10906:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6254, - "indexExpression": { - "argumentTypes": null, - "id": 6253, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10913:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10906:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6255, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "10906:25:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6256, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "10934:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "10906:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6258, - "nodeType": "ExpressionStatement", - "src": "10906:32:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6262, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "10976:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6263, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "10976:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6264, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "10988:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6266, - "indexExpression": { - "argumentTypes": null, - "id": 6265, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6213, - "src": "10995:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "10988:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6267, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "10988:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6260, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "10956:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6261, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "10956:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6268, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10956:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6269, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11019:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6259, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "10948:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6270, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "10948:96:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6271, - "nodeType": "ExpressionStatement", - "src": "10948:96:8" - } - ] - }, - "documentation": null, - "functionSelector": "202996fb", - "id": 6273, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6216, - "modifierName": { - "argumentTypes": null, - "id": 6215, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "10573:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "10573:13:8" - } - ], - "name": "redeemIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6214, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6213, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6273, - "src": "10548:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6212, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "10548:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "10547:18:8" - }, - "returnParameters": { - "id": 6217, - "nodeType": "ParameterList", - "parameters": [], - "src": "10587:0:8" - }, - "scope": 6937, - "src": "10527:524:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6381, - "nodeType": "Block", - "src": "11233:894:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6283, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11251:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6285, - "indexExpression": { - "argumentTypes": null, - "id": 6284, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11258:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11251:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6286, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11251:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6287, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11283:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "11251:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11286:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11243:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11243:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6291, - "nodeType": "ExpressionStatement", - "src": "11243:64:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 6299, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6293, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11325:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6295, - "indexExpression": { - "argumentTypes": null, - "id": 6294, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11332:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11325:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6296, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "11325:31:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6297, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11360:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6298, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11360:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "11325:45:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f206265207468652069737375652063726561746f72", - "id": 6300, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11372:29:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - }, - "value": "Has to be the issue creator" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_bd8e26fe5883726d459ad0fb75f1d8c303ee8366c969f9495d1949c87f8c01f7", - "typeString": "literal_string \"Has to be the issue creator\"" - } - ], - "id": 6292, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11317:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11317:85:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6302, - "nodeType": "ExpressionStatement", - "src": "11317:85:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "11420:26:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6305, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11437:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6304, - "name": "isIssueApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6016, - "src": "11421:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256) returns (bool)" - } - }, - "id": 6306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11421:25:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "497373756520697320616c726561647920417070726f766564", - "id": 6308, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11448:27:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - }, - "value": "Issue is already Approved" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f90de902c01d75e81cd053663d49d2cc16fc2f3a08fae2e80a61cd334dcbd7bd", - "typeString": "literal_string \"Issue is already Approved\"" - } - ], - "id": 6303, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11412:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6309, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11412:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6310, - "nodeType": "ExpressionStatement", - "src": "11412:64:8" - }, - { - "assignments": [ - 6312 - ], - "declarations": [ - { - "constant": false, - "id": 6312, - "name": "previousAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6381, - "src": "11487:22:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6311, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11487:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6317, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6313, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11512:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6315, - "indexExpression": { - "argumentTypes": null, - "id": 6314, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11519:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11512:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6316, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11512:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "11487:53:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6323, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6318, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "11574:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6320, - "indexExpression": { - "argumentTypes": null, - "id": 6319, - "name": "_issueId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6275, - "src": "11581:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "11574:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6321, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "11574:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6322, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11574:46:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6324, - "nodeType": "ExpressionStatement", - "src": "11574:46:8" - }, - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6325, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11656:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6326, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11674:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11656:32:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": { - "id": 6379, - "nodeType": "Block", - "src": "11913:208:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6359, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11955:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11955:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6363, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11986:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6361, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11967:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11967:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6364, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11967:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6357, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11935:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "11935:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11935:68:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5472616e73666572206e6f742073756365737366756c", - "id": 6366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12005:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - }, - "value": "Transfer not sucessful" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f43346cc6823bfab44cdf0a92ae6bfbd17118f6108192c25bb004b1c8260208", - "typeString": "literal_string \"Transfer not sucessful\"" - } - ], - "id": 6356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11927:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11927:103:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6368, - "nodeType": "ExpressionStatement", - "src": "11927:103:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6369, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12044:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6374, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "12093:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6372, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "12074:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12074:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6375, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12074:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6370, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "12058:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "12058:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6376, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12058:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12044:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6378, - "nodeType": "ExpressionStatement", - "src": "12044:66:8" - } - ] - }, - "id": 6380, - "nodeType": "IfStatement", - "src": "11653:468:8", - "trueBody": { - "id": 6355, - "nodeType": "Block", - "src": "11689:220:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6331, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "11735:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "11735:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6335, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "11755:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_BEPRONetwork_$6937", - "typeString": "contract BEPRONetwork" - } - ], - "id": 6334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 6333, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "11747:7:8", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 6336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11747:13:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6339, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11782:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6337, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11762:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6338, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11762:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6340, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11762:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6329, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "11711:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 9370, - "src": "11711:23:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) external returns (bool)" - } - }, - "id": 6341, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11711:87:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4e6565647320416c6c6f77616e6365", - "id": 6342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "11800:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - }, - "value": "Needs Allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_f152f9a35e9ae5f7bce3dc850dced8ab7e684814d118496793343955c3547ae1", - "typeString": "literal_string \"Needs Allowance\"" - } - ], - "id": 6328, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "11703:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6343, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11703:115:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6344, - "nodeType": "ExpressionStatement", - "src": "11703:115:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6353, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6345, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11832:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6350, - "name": "previousAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6312, - "src": "11882:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6348, - "name": "_newbeproAmount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6277, - "src": "11862:15:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "11862:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11862:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6346, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "11846:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6347, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "11846:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6352, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "11846:52:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "11832:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6354, - "nodeType": "ExpressionStatement", - "src": "11832:66:8" - } - ] - } - } - ] - }, - "documentation": "@dev update an Issue with bepro owned\n2nd step (optional)", - "functionSelector": "05563309", - "id": 6382, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6280, - "modifierName": { - "argumentTypes": null, - "id": 6279, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "11219:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "11219:13:8" - } - ], - "name": "updateIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6278, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6275, - "name": "_issueId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11169:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6274, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11169:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6277, - "name": "_newbeproAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6382, - "src": "11187:23:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6276, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "11187:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "11168:43:8" - }, - "returnParameters": { - "id": 6281, - "nodeType": "ParameterList", - "parameters": [], - "src": "11233:0:8" - }, - "scope": 6937, - "src": "11148:979:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6574, - "nodeType": "Block", - "src": "12483:1486:8", - "statements": [ - { - "assignments": [ - 6396 - ], - "declarations": [ - { - "constant": false, - "id": 6396, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12502:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6395, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "12502:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6400, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6397, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "12523:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6399, - "indexExpression": { - "argumentTypes": null, - "id": 6398, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "12530:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "12523:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "12502:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6405, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6402, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12557:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6403, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "12557:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6404, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12570:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "12557:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6406, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12574:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6401, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12549:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6407, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12549:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6408, - "nodeType": "ExpressionStatement", - "src": "12549:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6413, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6410, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12613:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6411, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "12613:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6412, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12632:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "12613:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6414, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12639:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6409, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12605:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6415, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12605:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6416, - "nodeType": "ExpressionStatement", - "src": "12605:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6422, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6418, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "12682:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12682:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6420, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "12703:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6421, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12703:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12682:40:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "416d6f756e74732068617320746f20657175616c20616464726573736573206c656e677468", - "id": 6423, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12724:39:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - }, - "value": "Amounts has to equal addresses length" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c79ad407800bb54bc1a97e3365b76454060bdbec05be330d831549ad01f0509a", - "typeString": "literal_string \"Amounts has to equal addresses length\"" - } - ], - "id": 6417, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12674:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12674:90:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6425, - "nodeType": "ExpressionStatement", - "src": "12674:90:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6429, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "12803:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "12803:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 6427, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "12782:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "12782:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12782:32:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6432, - "name": "COUNCIL_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5228, - "src": "12817:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6435, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6433, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12838:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6434, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12842:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "12838:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "12817:27:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12782:62:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f2070726f706f7365206d6572676573207468652070726f706f7365722068617320746f206265206120436f756e63696c2028434f554e43494c5f424550524f5f414d4f554e5429", - "id": 6438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "12846:75:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - }, - "value": "To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_8f30de0fb32fd9d8cd1035de375a83bdefa620d33d3ce242f721f5978eb29aff", - "typeString": "literal_string \"To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)\"" - } - ], - "id": 6426, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "12774:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "12774:148:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6440, - "nodeType": "ExpressionStatement", - "src": "12774:148:8" - }, - { - "assignments": [ - 6442 - ], - "declarations": [ - { - "constant": false, - "id": 6442, - "name": "mergeProposal", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "12933:34:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6441, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "12933:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6443, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "12933:34:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6449, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6444, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "12977:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6446, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "12977:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6447, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "12997:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6448, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "12997:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "12977:42:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6450, - "nodeType": "ExpressionStatement", - "src": "12977:42:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6451, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13029:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6453, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "13029:23:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6454, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13055:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "src": "13029:36:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6456, - "nodeType": "ExpressionStatement", - "src": "13029:36:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6461, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6457, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13075:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6459, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "13075:25:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6460, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13103:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "src": "13075:40:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6462, - "nodeType": "ExpressionStatement", - "src": "13075:40:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6463, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13125:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6465, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "13125:29:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6466, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13157:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13157:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "13125:42:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6469, - "nodeType": "ExpressionStatement", - "src": "13125:42:8" - }, - { - "assignments": [ - 6471 - ], - "declarations": [ - { - "constant": false, - "id": 6471, - "name": "total", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6574, - "src": "13178:13:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6470, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "13178:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6485, - "initialValue": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6483, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6472, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13196:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6474, - "indexExpression": { - "argumentTypes": null, - "id": 6473, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13203:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13196:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6475, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13196:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6476, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13228:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 6477, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13239:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13228:31:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6479, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13227:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13196:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6481, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13195:66:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6482, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13264:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13195:72:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6484, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13194:74:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "13178:90:8" - }, - { - "body": { - "id": 6532, - "nodeType": "Block", - "src": "13355:289:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6509, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6500, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13398:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6502, - "indexExpression": { - "argumentTypes": null, - "id": 6501, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13411:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13398:15:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 6498, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "13377:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6499, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "balanceOf", - "nodeType": "MemberAccess", - "referencedDeclaration": 9332, - "src": "13377:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) view external returns (uint256)" - } - }, - "id": 6503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13377:37:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6504, - "name": "DEVELOPER_BEPRO_AMOUNT", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5234, - "src": "13417:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - }, - "id": 6507, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 6505, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13440:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3138", - "id": 6506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13444:2:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_18_by_1", - "typeString": "int_const 18" - }, - "value": "18" - }, - "src": "13440:6:8", - "typeDescriptions": { - "typeIdentifier": "t_rational_1000000000000000000_by_1", - "typeString": "int_const 1000000000000000000" - } - }, - "src": "13417:29:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13377:69:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f207265636569766520646576656c6f706d656e742072657761726473207468652072657761726465642068617320746f206265206120446576656c6f7065722028444556454c4f5045525f424550524f5f414d4f554e5429", - "id": 6510, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13448:92:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - }, - "value": "To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b5170a9705c6bb61364cdab550027030494ee80cb89ef3fcb157dd8cd7a08582", - "typeString": "literal_string \"To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)\"" - } - ], - "id": 6497, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13369:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13369:172:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6512, - "nodeType": "ExpressionStatement", - "src": "13369:172:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6530, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6513, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13555:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6516, - "name": "_prAmounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6390, - "src": "13574:10:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 6518, - "indexExpression": { - "argumentTypes": null, - "id": 6517, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13585:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13574:13:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6521, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6519, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13591:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6520, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "13595:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6522, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "13604:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13591:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6524, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13590:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13574:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6526, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "13573:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13629:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "13573:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6514, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13563:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6515, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "13563:9:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13563:70:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13555:78:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6531, - "nodeType": "ExpressionStatement", - "src": "13555:78:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6490, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13326:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6491, - "name": "_prAddresses", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6387, - "src": "13330:12:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 6492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13330:19:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13326:23:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6533, - "initializationExpression": { - "assignments": [ - 6487 - ], - "declarations": [ - { - "constant": false, - "id": 6487, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6533, - "src": "13314:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6486, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "13314:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6489, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6488, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13323:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "13314:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "13351:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6487, - "src": "13351:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6496, - "nodeType": "ExpressionStatement", - "src": "13351:3:8" - }, - "nodeType": "ForStatement", - "src": "13310:334:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6540, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6535, - "name": "total", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6471, - "src": "13662:5:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6536, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13671:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6538, - "indexExpression": { - "argumentTypes": null, - "id": 6537, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13678:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13671:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6539, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "13671:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13662:37:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "546f74616c7320646f6e74206d61746368", - "id": 6541, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13701:19:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - }, - "value": "Totals dont match" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_486ef91125f700f5a865a58b4d3575f684555d86226e55a336c72ae73b16d610", - "typeString": "literal_string \"Totals dont match\"" - } - ], - "id": 6534, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "13654:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13654:67:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6543, - "nodeType": "ExpressionStatement", - "src": "13654:67:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6544, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13732:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6546, - "indexExpression": { - "argumentTypes": null, - "id": 6545, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13739:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13732:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6547, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "13732:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6550, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6548, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6396, - "src": "13764:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6549, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13764:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "13732:55:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6551, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13790:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "src": "13732:71:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "id": 6553, - "nodeType": "ExpressionStatement", - "src": "13732:71:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6554, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13813:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6556, - "indexExpression": { - "argumentTypes": null, - "id": 6555, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13820:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13813:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6557, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13813:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6558, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "13849:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6560, - "indexExpression": { - "argumentTypes": null, - "id": 6559, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13856:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "13849:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6561, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13849:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 6562, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "13885:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "13849:37:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "13813:73:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6565, - "nodeType": "ExpressionStatement", - "src": "13813:73:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6567, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6384, - "src": "13922:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6568, - "name": "mergeProposal", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6442, - "src": "13932:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6569, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "13932:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6570, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "13951:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 6571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "13951:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 6566, - "name": "MergeProposalCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5334, - "src": "13901:20:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$", - "typeString": "function (uint256,uint256,address)" - } - }, - "id": 6572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "13901:61:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6573, - "nodeType": "EmitStatement", - "src": "13896:66:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _prAddresses PR Address\n@param _prAmounts PR Amounts", - "functionSelector": "c5763155", - "id": 6575, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6393, - "modifierName": { - "argumentTypes": null, - "id": 6392, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "12469:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "12469:13:8" - } - ], - "name": "proposeIssueMerge", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6391, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6384, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12384:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6383, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12384:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6387, - "name": "_prAddresses", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12402:29:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "12402:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6386, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12402:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6390, - "name": "_prAmounts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6575, - "src": "12433:27:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6388, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "12433:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6389, - "length": null, - "nodeType": "ArrayTypeName", - "src": "12433:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "12383:78:8" - }, - "returnParameters": { - "id": 6394, - "nodeType": "ParameterList", - "parameters": [], - "src": "12483:0:8" - }, - "scope": 6937, - "src": "12357:1612:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6760, - "nodeType": "Block", - "src": "14239:1502:8", - "statements": [ - { - "assignments": [ - 6585 - ], - "declarations": [ - { - "constant": false, - "id": 6585, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14249:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6584, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "14249:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6589, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6586, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14270:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6588, - "indexExpression": { - "argumentTypes": null, - "id": 6587, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14277:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14270:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14249:37:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6591, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14304:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6592, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "14304:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 6593, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14317:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "14304:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206578697374", - "id": 6595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14321:20:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - }, - "value": "Issue has to exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_78ae34eecc99c49fafea1db8dfec3b6952bda5a30728c118808a148deeeffa44", - "typeString": "literal_string \"Issue has to exist\"" - } - ], - "id": 6590, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14296:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6596, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14296:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6597, - "nodeType": "ExpressionStatement", - "src": "14296:46:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 6602, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6599, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14360:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6600, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14360:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 6601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14379:5:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "14360:24:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f206265206f70656e6564", - "id": 6603, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14386:24:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - }, - "value": "Issue has to be opened" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_36fd3a31b8309a299b8d5243a4ee56feef7fc4b8c25a60bdb6bbc6c05392cb29", - "typeString": "literal_string \"Issue has to be opened\"" - } - ], - "id": 6598, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14352:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6604, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14352:59:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6605, - "nodeType": "ExpressionStatement", - "src": "14352:59:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6610, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6607, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "14429:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6608, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "14429:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "id": 6609, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14455:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "14429:34:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d657267652050726f706f73616c20646f6573206e6f74206578697374", - "id": 6611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14465:31:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - }, - "value": "Merge Proposal does not exist" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_09484feb7de9ac3c00ed9d304cd33a1c45595cb17eeb90512f7995e90e686a20", - "typeString": "literal_string \"Merge Proposal does not exist\"" - } - ], - "id": 6606, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14421:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6612, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14421:76:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6613, - "nodeType": "ExpressionStatement", - "src": "14421:76:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6616, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14531:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6617, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14541:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6615, - "name": "isMergeApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6070, - "src": "14515:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14515:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "49737375652068617320746f20686176652070617373656420766f74696e67", - "id": 6619, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14552:33:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - }, - "value": "Issue has to have passed voting" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_cffb9ba8f0d7978b8ef0a0d084d95066d7a05e8c6697b8c70838a4764ee3218e", - "typeString": "literal_string \"Issue has to have passed voting\"" - } - ], - "id": 6614, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14507:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14507:79:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6621, - "nodeType": "ExpressionStatement", - "src": "14507:79:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "14604:36:8", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6624, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14621:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6625, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14631:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6623, - "name": "isMergeDisputed", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6043, - "src": "14605:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6626, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14605:35:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d6572676520686173206265656e206469737075746564", - "id": 6628, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14642:25:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - }, - "value": "Merge has been disputed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d978353dddca553b74b9f9661d56db974b6fb3be9de8c625f341f500e2133d7a", - "typeString": "literal_string \"Merge has been disputed\"" - } - ], - "id": 6622, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14596:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6629, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14596:72:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6630, - "nodeType": "ExpressionStatement", - "src": "14596:72:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6633, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14713:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6634, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14723:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 6632, - "name": "isMergeTheOneWithMoreVotes", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6120, - "src": "14686:26:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (uint256,uint256) returns (bool)" - } - }, - "id": 6635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14686:46:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686572652069732061206d657267652070726f706f73616c2077697468206d6f726520766f746573", - "id": 6636, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14734:43:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - }, - "value": "There is a merge proposal with more votes" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_ca4e8e1e99f0dbec3bfa83ab3a6199175e1ec6f347990547d4c3b8ab0266280f", - "typeString": "literal_string \"There is a merge proposal with more votes\"" - } - ], - "id": 6631, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14678:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6637, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14678:100:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6638, - "nodeType": "ExpressionStatement", - "src": "14678:100:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6644, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6639, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14817:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6641, - "indexExpression": { - "argumentTypes": null, - "id": 6640, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14824:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14817:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6642, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "14817:26:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 6643, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "14846:4:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "14817:33:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6645, - "nodeType": "ExpressionStatement", - "src": "14817:33:8" - }, - { - "assignments": [ - 6647 - ], - "declarations": [ - { - "constant": false, - "id": 6647, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6760, - "src": "14860:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6646, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "14860:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6654, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6648, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "14889:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6650, - "indexExpression": { - "argumentTypes": null, - "id": 6649, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "14896:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6651, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "14889:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6653, - "indexExpression": { - "argumentTypes": null, - "id": 6652, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "14921:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "14889:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "14860:70:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6658, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "14993:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6664, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6659, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15006:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6661, - "indexExpression": { - "argumentTypes": null, - "id": 6660, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15013:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15006:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6662, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15006:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6663, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15037:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15006:39:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6665, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15005:41:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15049:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15005:47:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6656, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "14973:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "14973:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6668, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14973:80:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6669, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15055:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "14965:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "14965:108:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6671, - "nodeType": "ExpressionStatement", - "src": "14965:108:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6675, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "15146:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6684, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6681, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6676, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "15159:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6678, - "indexExpression": { - "argumentTypes": null, - "id": 6677, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15166:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15159:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6679, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15159:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 6680, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15190:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15159:51:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6682, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15158:53:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15214:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15158:59:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6673, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15126:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15126:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15126:92:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15220:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6672, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15118:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6687, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15118:120:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6688, - "nodeType": "ExpressionStatement", - "src": "15118:120:8" - }, - { - "body": { - "id": 6736, - "nodeType": "Block", - "src": "15345:219:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6708, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15395:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6701, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15359:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6706, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6702, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15368:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6703, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15368:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6705, - "indexExpression": { - "argumentTypes": null, - "id": 6704, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15386:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15368:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15359:30:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "id": 6707, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15359:35:8", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256)" - } - }, - "id": 6709, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15359:45:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6710, - "nodeType": "ExpressionStatement", - "src": "15359:45:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6714, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15446:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6715, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15446:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6717, - "indexExpression": { - "argumentTypes": null, - "id": 6716, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15464:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15446:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6728, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6718, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15469:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6719, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "15469:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "id": 6721, - "indexExpression": { - "argumentTypes": null, - "id": 6720, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15485:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15469:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6726, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6724, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6722, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15491:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6723, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "15495:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:12:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 6725, - "name": "mergeCreatorFeeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5210, - "src": "15504:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15491:33:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6727, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15490:35:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15469:56:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 6729, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "15468:58:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "hexValue": "313030", - "id": 6730, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15529:3:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_100_by_1", - "typeString": "int_const 100" - }, - "value": "100" - }, - "src": "15468:64:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6712, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "15426:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 9341, - "src": "15426:19:8", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 6732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15426:107:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "48617320746f207472616e73666572", - "id": 6733, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15535:17:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - }, - "value": "Has to transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_04f29716e9e1c0143ab6ff607cadabe192cb139bafc1a15c1cb5d9b0fa520af4", - "typeString": "literal_string \"Has to transfer\"" - } - ], - "id": 6711, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "15418:7:8", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 6734, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15418:135:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6735, - "nodeType": "ExpressionStatement", - "src": "15418:135:8" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 6697, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 6693, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15311:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6694, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15315:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6695, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15315:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "id": 6696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "15315:24:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15311:28:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 6737, - "initializationExpression": { - "assignments": [ - 6690 - ], - "declarations": [ - { - "constant": false, - "id": 6690, - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6737, - "src": "15299:6:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6689, - "name": "uint", - "nodeType": "ElementaryTypeName", - "src": "15299:4:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6692, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 6691, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15308:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "15299:10:8" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 6699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "15341:3:8", - "subExpression": { - "argumentTypes": null, - "id": 6698, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6690, - "src": "15341:1:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6700, - "nodeType": "ExpressionStatement", - "src": "15341:3:8" - }, - "nodeType": "ForStatement", - "src": "15295:269:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6743, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6738, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15574:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "31", - "id": 6741, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "15610:1:8", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - } - ], - "expression": { - "argumentTypes": null, - "id": 6739, - "name": "closedIdsCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5198, - "src": "15591:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "15591:18:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6742, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15591:21:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15574:38:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6744, - "nodeType": "ExpressionStatement", - "src": "15574:38:8" - }, - { - "expression": { - "argumentTypes": null, - "id": 6751, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6745, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15622:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6748, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6585, - "src": "15652:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6749, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "15652:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 6746, - "name": "totalStaked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5201, - "src": "15636:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6747, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 8689, - "src": "15636:15:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15636:34:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "15622:48:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6752, - "nodeType": "ExpressionStatement", - "src": "15622:48:8" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6754, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6577, - "src": "15696:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 6755, - "name": "_mergeID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6579, - "src": "15706:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6756, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6647, - "src": "15716:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6757, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "15716:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - ], - "id": 6753, - "name": "CloseIssue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5363, - "src": "15685:10:8", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (uint256,uint256,address[] memory)" - } - }, - "id": 6758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "15685:49:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 6759, - "nodeType": "EmitStatement", - "src": "15680:54:8" - } - ] - }, - "documentation": "@dev Owner finalizes the issue and distributes the bepro or rejects the PR\n@param _issueID issue id (mapping with github)\n@param _mergeID merge id ", - "functionSelector": "6931e725", - "id": 6761, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6582, - "modifierName": { - "argumentTypes": null, - "id": 6581, - "name": "whenNotPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11833, - "src": "14225:13:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "14225:13:8" - } - ], - "name": "closeIssue", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6580, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6577, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14182:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6576, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14182:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6579, - "name": "_mergeID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6761, - "src": "14200:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6578, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "14200:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "14181:36:8" - }, - "returnParameters": { - "id": 6583, - "nodeType": "ParameterList", - "parameters": [], - "src": "14239:0:8" - }, - "scope": 6937, - "src": "14162:1579:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6773, - "nodeType": "Block", - "src": "15826:42:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6769, - "name": "myIssues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5243, - "src": "15843:8:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", - "typeString": "mapping(address => uint256[] storage ref)" - } - }, - "id": 6771, - "indexExpression": { - "argumentTypes": null, - "id": 6770, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6763, - "src": "15852:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15843:18:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage", - "typeString": "uint256[] storage ref" - } - }, - "functionReturnParameters": 6768, - "id": 6772, - "nodeType": "Return", - "src": "15836:25:8" - } - ] - }, - "documentation": null, - "functionSelector": "5d795bd2", - "id": 6774, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssuesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6763, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15775:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6762, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15775:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15774:18:8" - }, - "returnParameters": { - "id": 6768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6767, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6774, - "src": "15809:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15809:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6766, - "length": null, - "nodeType": "ArrayTypeName", - "src": "15809:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15808:18:8" - }, - "scope": 6937, - "src": "15747:121:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6796, - "nodeType": "Block", - "src": "15943:136:8", - "statements": [ - { - "assignments": [ - 6782 - ], - "declarations": [ - { - "constant": false, - "id": 6782, - "name": "voter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6796, - "src": "15953:19:8", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - }, - "typeName": { - "contractScope": null, - "id": 6781, - "name": "Voter", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5310, - "src": "15953:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6786, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6783, - "name": "voters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5247, - "src": "15975:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Voter_$5310_storage_$", - "typeString": "mapping(address => struct BEPRONetwork.Voter storage ref)" - } - }, - "id": 6785, - "indexExpression": { - "argumentTypes": null, - "id": 6784, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "15982:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "15975:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage", - "typeString": "struct BEPRONetwork.Voter storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "15953:38:8" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6790, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16041:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6791, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegated", - "nodeType": "MemberAccess", - "referencedDeclaration": 5304, - "src": "16041:20:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 6793, - "indexExpression": { - "argumentTypes": null, - "id": 6792, - "name": "_address", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6776, - "src": "16062:8:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16041:30:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6787, - "name": "voter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6782, - "src": "16008:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Voter_$5310_storage_ptr", - "typeString": "struct BEPRONetwork.Voter storage pointer" - } - }, - "id": 6788, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesDelegatedByOthers", - "nodeType": "MemberAccess", - "referencedDeclaration": 5300, - "src": "16008:28:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6789, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 8668, - "src": "16008:32:8", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 6794, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16008:64:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 6780, - "id": 6795, - "nodeType": "Return", - "src": "16001:71:8" - } - ] - }, - "documentation": null, - "functionSelector": "1e63c0a5", - "id": 6797, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getVotesByAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6776, - "name": "_address", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15901:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6775, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "15901:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15900:18:8" - }, - "returnParameters": { - "id": 6780, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6779, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6797, - "src": "15935:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "15935:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "15934:9:8" - }, - "scope": 6937, - "src": "15874:205:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6842, - "nodeType": "Block", - "src": "16210:223:8", - "statements": [ - { - "assignments": [ - 6819 - ], - "declarations": [ - { - "constant": false, - "id": 6819, - "name": "issue", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6842, - "src": "16220:18:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue" - }, - "typeName": { - "contractScope": null, - "id": 6818, - "name": "Issue", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5298, - "src": "16220:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage_ptr", - "typeString": "struct BEPRONetwork.Issue" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6823, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6820, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16241:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6822, - "indexExpression": { - "argumentTypes": null, - "id": 6821, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6799, - "src": "16248:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16241:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16220:37:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6824, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16275:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6825, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5275, - "src": "16275:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6826, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16286:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6827, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "beproStaked", - "nodeType": "MemberAccess", - "referencedDeclaration": 5279, - "src": "16286:17:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6828, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16305:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6829, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "creationDate", - "nodeType": "MemberAccess", - "referencedDeclaration": 5277, - "src": "16305:18:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6830, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16325:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6831, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "issueGenerator", - "nodeType": "MemberAccess", - "referencedDeclaration": 5281, - "src": "16325:20:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6832, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16347:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6833, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votesForApprove", - "nodeType": "MemberAccess", - "referencedDeclaration": 5287, - "src": "16347:21:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6834, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16370:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6835, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeIDIncrement", - "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "16370:22:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6836, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16394:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6837, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "finalized", - "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "16394:15:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6838, - "name": "issue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6819, - "src": "16411:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_memory_ptr", - "typeString": "struct BEPRONetwork.Issue memory" - } - }, - "id": 6839, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "canceled", - "nodeType": "MemberAccess", - "referencedDeclaration": 5297, - "src": "16411:14:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 6840, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16274:152:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$_t_uint256_$_t_bool_$_t_bool_$", - "typeString": "tuple(uint256,uint256,uint256,address,uint256,uint256,bool,bool)" - } - }, - "functionReturnParameters": 6817, - "id": 6841, - "nodeType": "Return", - "src": "16267:159:8" - } - ] - }, - "documentation": null, - "functionSelector": "c98244d0", - "id": 6843, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getIssueById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6800, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6799, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16111:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6798, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16111:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16110:18:8" - }, - "returnParameters": { - "id": 6817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6802, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16145:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6801, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16145:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6804, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16154:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16154:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6806, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16163:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6805, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16163:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6808, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16172:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16172:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6810, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16181:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6809, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16181:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6812, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16190:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16190:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6814, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16199:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6813, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16199:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6816, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6843, - "src": "16205:4:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 6815, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "16205:4:8", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16144:66:8" - }, - "scope": 6937, - "src": "16089:344:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6887, - "nodeType": "Block", - "src": "16584:203:8", - "statements": [ - { - "assignments": [ - 6865 - ], - "declarations": [ - { - "constant": false, - "id": 6865, - "name": "merge", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6887, - "src": "16594:26:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - }, - "typeName": { - "contractScope": null, - "id": 6864, - "name": "MergeProposal", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 5273, - "src": "16594:13:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage_ptr", - "typeString": "struct BEPRONetwork.MergeProposal" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 6872, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 6866, - "name": "issues", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5238, - "src": "16623:6:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Issue_$5298_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.Issue storage ref)" - } - }, - "id": 6868, - "indexExpression": { - "argumentTypes": null, - "id": 6867, - "name": "_issueID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6845, - "src": "16630:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:16:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Issue_$5298_storage", - "typeString": "struct BEPRONetwork.Issue storage ref" - } - }, - "id": 6869, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "mergeProposals", - "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "16623:31:8", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_MergeProposal_$5273_storage_$", - "typeString": "mapping(uint256 => struct BEPRONetwork.MergeProposal storage ref)" - } - }, - "id": 6871, - "indexExpression": { - "argumentTypes": null, - "id": 6870, - "name": "_mergeId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6847, - "src": "16655:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "16623:41:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_storage", - "typeString": "struct BEPRONetwork.MergeProposal storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "16594:70:8" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6873, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16682:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6874, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "_id", - "nodeType": "MemberAccess", - "referencedDeclaration": 5252, - "src": "16682:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6875, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16693:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6876, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "votes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5262, - "src": "16693:11:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6877, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16706:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6878, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "disputes", - "nodeType": "MemberAccess", - "referencedDeclaration": 5264, - "src": "16706:14:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6879, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16722:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6880, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAddresses", - "nodeType": "MemberAccess", - "referencedDeclaration": 5267, - "src": "16722:17:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6881, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16741:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6882, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "prAmounts", - "nodeType": "MemberAccess", - "referencedDeclaration": 5270, - "src": "16741:15:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 6883, - "name": "merge", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6865, - "src": "16758:5:8", - "typeDescriptions": { - "typeIdentifier": "t_struct$_MergeProposal_$5273_memory_ptr", - "typeString": "struct BEPRONetwork.MergeProposal memory" - } - }, - "id": 6884, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "proposalAddress", - "nodeType": "MemberAccess", - "referencedDeclaration": 5272, - "src": "16758:21:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 6885, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "16681:99:8", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_$_t_array$_t_uint256_$dyn_memory_$_t_address_$", - "typeString": "tuple(uint256,uint256,uint256,address[] memory,uint256[] memory,address)" - } - }, - "functionReturnParameters": 6863, - "id": 6886, - "nodeType": "Return", - "src": "16674:106:8" - } - ] - }, - "documentation": null, - "functionSelector": "6106e4eb", - "id": 6888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMergeById", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6848, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6845, - "name": "_issueID", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16461:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6844, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16461:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6847, - "name": "_mergeId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16479:16:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6846, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16479:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16460:36:8" - }, - "returnParameters": { - "id": 6863, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6850, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16513:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6849, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16513:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6852, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16522:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6851, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16522:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6854, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16531:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6853, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16531:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6857, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16540:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 6855, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16540:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6856, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16540:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6860, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16558:16:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 6858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "16558:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6859, - "length": null, - "nodeType": "ArrayTypeName", - "src": "16558:9:8", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6862, - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6888, - "src": "16576:7:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6861, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16576:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16512:72:8" - }, - "scope": 6937, - "src": "16439:348:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6901, - "nodeType": "Block", - "src": "16924:50:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6899, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6895, - "name": "beproToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5189, - "src": "16934:10:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 6897, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6890, - "src": "16955:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 6896, - "name": "_IERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5180, - "src": "16947:7:8", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$__IERC20_$5180_$", - "typeString": "type(contract _IERC20)" - } - }, - "id": 6898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "16947:20:8", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "src": "16934:33:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$__IERC20_$5180", - "typeString": "contract _IERC20" - } - }, - "id": 6900, - "nodeType": "ExpressionStatement", - "src": "16934:33:8" - } - ] - }, - "documentation": "@dev Change BEPRO Token Address (Upgrade)", - "functionSelector": "5ac203cf", - "id": 6902, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6893, - "modifierName": { - "argumentTypes": null, - "id": 6892, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "16914:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "16914:9:8" - } - ], - "name": "changeBEPROAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6890, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6902, - "src": "16886:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "16886:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "16885:21:8" - }, - "returnParameters": { - "id": 6894, - "nodeType": "ParameterList", - "parameters": [], - "src": "16924:0:8" - }, - "scope": 6937, - "src": "16858:116:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6913, - "nodeType": "Block", - "src": "17088:41:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6911, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6909, - "name": "feeAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5204, - "src": "17098:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6910, - "name": "_newAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6904, - "src": "17111:11:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "17098:24:8", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 6912, - "nodeType": "ExpressionStatement", - "src": "17098:24:8" - } - ] - }, - "documentation": "@dev Change Fee Address", - "functionSelector": "70c9c791", - "id": 6914, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6907, - "modifierName": { - "argumentTypes": null, - "id": 6906, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17078:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17078:9:8" - } - ], - "name": "editFeeAddress", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6904, - "name": "_newAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6914, - "src": "17050:19:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6903, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17050:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17049:21:8" - }, - "returnParameters": { - "id": 6908, - "nodeType": "ParameterList", - "parameters": [], - "src": "17088:0:8" - }, - "scope": 6937, - "src": "17026:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6925, - "nodeType": "Block", - "src": "17244:37:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 6923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 6921, - "name": "feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 5207, - "src": "17254:8:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 6922, - "name": "_feeShare", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 6916, - "src": "17265:9:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "17254:20:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 6924, - "nodeType": "ExpressionStatement", - "src": "17254:20:8" - } - ] - }, - "documentation": "@dev Change Share Fee Amount", - "functionSelector": "88632e28", - "id": 6926, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6919, - "modifierName": { - "argumentTypes": null, - "id": 6918, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17234:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17234:9:8" - } - ], - "name": "editFeeShare", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6917, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6916, - "name": "_feeShare", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6926, - "src": "17208:17:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 6915, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "17208:7:8", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17207:19:8" - }, - "returnParameters": { - "id": 6920, - "nodeType": "ParameterList", - "parameters": [], - "src": "17244:0:8" - }, - "scope": 6937, - "src": "17186:95:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 6935, - "nodeType": "Block", - "src": "17415:28:8", - "statements": [] - }, - "documentation": "@dev Upgrade Contract Version", - "functionSelector": "eb2c0223", - "id": 6936, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 6931, - "modifierName": { - "argumentTypes": null, - "id": 6930, - "name": "onlyOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 8403, - "src": "17394:9:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17394:9:8" - }, - { - "arguments": null, - "id": 6933, - "modifierName": { - "argumentTypes": null, - "id": 6932, - "name": "whenPaused", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 11843, - "src": "17404:10:8", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "17404:10:8" - } - ], - "name": "upgradeContract", - "nodeType": "FunctionDefinition", - "overrides": null, - "parameters": { - "id": 6929, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 6928, - "name": "_newContract", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 6936, - "src": "17365:20:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 6927, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "17365:7:8", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "17364:22:8" - }, - "returnParameters": { - "id": 6934, - "nodeType": "ParameterList", - "parameters": [], - "src": "17415:0:8" - }, - "scope": 6937, - "src": "17340:103:8", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "scope": 6938, - "src": "511:16934:8" - } - ], - "src": "0:17446:8" - }, - "compiler": { - "name": "solc", - "version": "0.6.2+commit.bacdbe57.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.20", - "updatedAt": "2021-09-02T17:01:47.461Z", - "devdoc": { - "details": "Interface of the ERC20 standard + mint & burn", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "burn(address,uint256)": { - "details": "Burn Function" - }, - "mint(address,uint256)": { - "details": "Mint Function" - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/build/index.js b/build/index.js deleted file mode 100644 index 2723e776..00000000 --- a/build/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.ERC721Standard = exports.ERC721Collectibles = exports.ERC20TokenLock = exports.StakingContract = exports.Network = exports.ERC20Contract = exports.DexStorage = exports.Application = undefined;var _Application = require('./Application');var _Application2 = _interopRequireDefault(_Application); -var _IPFS = require('./utils/IPFS');var _IPFS2 = _interopRequireDefault(_IPFS); -var _ERC20Contract = require('./models/ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _StakingContract = require('./models/Staking/StakingContract');var _StakingContract2 = _interopRequireDefault(_StakingContract); -var _ERC20TokenLock = require('./models/ERC20/ERC20TokenLock');var _ERC20TokenLock2 = _interopRequireDefault(_ERC20TokenLock); -var _ERC721Collectibles = require('./models/ERC721/ERC721Collectibles');var _ERC721Collectibles2 = _interopRequireDefault(_ERC721Collectibles); -var _ERC721Standard = require('./models/ERC721/ERC721Standard');var _ERC721Standard2 = _interopRequireDefault(_ERC721Standard); -var _Network = require('./models/BEPRO/Network');var _Network2 = _interopRequireDefault(_Network);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}exports. - - -Application = _Application2.default;exports. -DexStorage = _IPFS2.default;exports. -ERC20Contract = _ERC20Contract2.default;exports. -Network = _Network2.default;exports. -StakingContract = _StakingContract2.default;exports. -ERC20TokenLock = _ERC20TokenLock2.default;exports. -ERC721Collectibles = _ERC721Collectibles2.default;exports. -ERC721Standard = _ERC721Standard2.default; \ No newline at end of file diff --git a/build/interfaces/index.js b/build/interfaces/index.js deleted file mode 100644 index 40065ca3..00000000 --- a/build/interfaces/index.js +++ /dev/null @@ -1,14 +0,0 @@ -'use strict'; /* eslint-disable global-require */ -var index = { - exchange: require('../../build/contracts/Exchange.json'), - staking: require('../../build/contracts/StakingContract.json'), - tokenlock: require('../../build/contracts/ERC20TokenLock.json'), - ierc20: require('../../build/contracts/Token.json'), - erc721collectibles: require('../../build/contracts/ERC721Colectibles.json'), - erc721contract: require('../../build/contracts/ERC721Standard.json'), - beproNetwork: require('../../build/contracts/BEPRONetwork.json'), - openerRealFvr: require('../../build/contracts/OpenerRealFvr.json'), - marketplaceRealFvr: require('../../build/contracts/MarketplaceRealFvr.json') }; - - -module.exports = index; \ No newline at end of file diff --git a/build/models/BEPRO/Network.js b/build/models/BEPRO/Network.js deleted file mode 100644 index c741cbbb..00000000 --- a/build/models/BEPRO/Network.js +++ /dev/null @@ -1,539 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2); - -var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _ERC20Contract = require('../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var beproAddress = '0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A'; - -/** - * BEPRONetwork Object - * @class BEPRONetwork - * @param {Object} params Parameters - * @param {Address} params.contractAddress Optional/If Existent - */ /* eslint-disable no-underscore-dangle */ // eslint-disable-next-line no-unused-vars -var BEPRONetwork = function (_IContract) {(0, _inherits3.default)(BEPRONetwork, _IContract); - function BEPRONetwork(params) {(0, _classCallCheck3.default)(this, BEPRONetwork);var _this = (0, _possibleConstructorReturn3.default)(this, (BEPRONetwork.__proto__ || (0, _getPrototypeOf2.default)(BEPRONetwork)).call(this, (0, _extends3.default)({ - abi: _interfaces.beproNetwork }, params)));_initialiseProps.call(_this);return _this; - }(0, _createClass3.default)(BEPRONetwork, [{ key: 'getIssuesByAddress', - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Get Open Issues Available - * @param {Address} address - * @returns {Integer | Array} - */value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee( - address) {var res;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - this.params.contract. - getContract(). - methods.getIssuesByAddress(address). - call());case 2:res = _context.sent;return _context.abrupt('return', - - res.map(function (r) {return parseInt(r, 10);}));case 4:case 'end':return _context.stop();}}}, _callee, this);}));function getIssuesByAddress(_x) {return _ref.apply(this, arguments);}return getIssuesByAddress;}() - - - /** - * @function - * @description Get Amount of Issues Opened in the network - * @returns {Integer} - */ }, { key: 'getAmountofIssuesOpened', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.t0 = - - parseInt;_context2.next = 3;return ( - this.params.contract.getContract().methods.incrementIssueID().call());case 3:_context2.t1 = _context2.sent;return _context2.abrupt('return', (0, _context2.t0)(_context2.t1, - 10));case 5:case 'end':return _context2.stop();}}}, _callee2, this);}));function getAmountofIssuesOpened() {return _ref2.apply(this, arguments);}return getAmountofIssuesOpened;}() - - - - /** - * @function - * @description Get Amount of Issues Closed in the network - * @returns {Integer} - */ }, { key: 'getAmountofIssuesClosed', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.t0 = - - parseInt;_context3.next = 3;return ( - this.params.contract.getContract().methods.closedIdsCount().call());case 3:_context3.t1 = _context3.sent;return _context3.abrupt('return', (0, _context3.t0)(_context3.t1, - 10));case 5:case 'end':return _context3.stop();}}}, _callee3, this);}));function getAmountofIssuesClosed() {return _ref3.apply(this, arguments);}return getAmountofIssuesClosed;}() - - - - /** - * @function - * @description Get Amount of Needed for Approve - * @returns {Integer} - */ }, { key: 'percentageNeededForApprove', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.t0 = - - parseInt;_context4.next = 3;return ( - this.params.contract. - getContract(). - methods.percentageNeededForApprove(). - call());case 3:_context4.t1 = _context4.sent;return _context4.abrupt('return', (0, _context4.t0)(_context4.t1, - 10));case 5:case 'end':return _context4.stop();}}}, _callee4, this);}));function percentageNeededForApprove() {return _ref4.apply(this, arguments);}return percentageNeededForApprove;}() - - - - /** - * @function - * @description Get Amount of Needed for Dispute - * @returns {Integer} - */ }, { key: 'percentageNeededForDispute', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.t0 = - - parseInt;_context5.next = 3;return ( - this.params.contract. - getContract(). - methods.percentageNeededForDispute(). - call());case 3:_context5.t1 = _context5.sent;return _context5.abrupt('return', (0, _context5.t0)(_context5.t1, - 10));case 5:case 'end':return _context5.stop();}}}, _callee5, this);}));function percentageNeededForDispute() {return _ref5.apply(this, arguments);}return percentageNeededForDispute;}() - - - - - /** - * @function - * @description Get Amount of Needed for Merge - * @returns {Integer} - */ }, { key: 'percentageNeededForMerge', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6() {return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.t0 = - - parseInt;_context6.next = 3;return ( - this.params.contract. - getContract(). - methods.percentageNeededForMerge(). - call());case 3:_context6.t1 = _context6.sent;return _context6.abrupt('return', (0, _context6.t0)(_context6.t1, - 10));case 5:case 'end':return _context6.stop();}}}, _callee6, this);}));function percentageNeededForMerge() {return _ref6.apply(this, arguments);}return percentageNeededForMerge;}() - - - - /** - * @function - * @description Get Total Amount of BEPRO Staked for Tickets in the network - * @returns {Integer} - */ }, { key: 'getBEPROStaked', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.t0 = - - _Numbers2.default;_context7.next = 3;return ( - this.params.contract.getContract().methods.totalStaked().call());case 3:_context7.t1 = _context7.sent;return _context7.abrupt('return', _context7.t0.fromDecimals.call(_context7.t0, _context7.t1, - 18));case 5:case 'end':return _context7.stop();}}}, _callee7, this);}));function getBEPROStaked() {return _ref7.apply(this, arguments);}return getBEPROStaked;}() - - - - /** - * @function - * @description GetTotal amount of time where an issue has to be approved - * @returns {Date} - */ }, { key: 'timeOpenForIssueApprove', value: function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8() {return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.t0 = - - _Numbers2.default;_context8.next = 3;return ( - this.params.contract. - getContract(). - methods.timeOpenForIssueApprove(). - call());case 3:_context8.t1 = _context8.sent;return _context8.abrupt('return', _context8.t0.fromSmartContractTimeToMinutes.call(_context8.t0, _context8.t1));case 5:case 'end':return _context8.stop();}}}, _callee8, this);}));function timeOpenForIssueApprove() {return _ref8.apply(this, arguments);}return timeOpenForIssueApprove;}() - - - - /** - * @function - * @description Get Total Amount of BEPRO Staked for Tickets in the network - * @returns {Integer} - */ }, { key: 'beproVotesStaked', value: function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() {return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.t0 = - - _Numbers2.default;_context9.next = 3;return ( - this.params.contract. - getContract(). - methods.beproVotesStaked(). - call());case 3:_context9.t1 = _context9.sent;return _context9.abrupt('return', _context9.t0.fromDecimals.call(_context9.t0, _context9.t1, - 18));case 5:case 'end':return _context9.stop();}}}, _callee9, this);}));function beproVotesStaked() {return _ref9.apply(this, arguments);}return beproVotesStaked;}() - - - - /** - * @function - * @description Get Total Amount of BEPRO Staked for Council in the network - * @returns {Integer} - */ }, { key: 'COUNCIL_BEPRO_AMOUNT', value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() {return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.t0 = - - _Numbers2.default;_context10.next = 3;return ( - this.params.contract. - getContract(). - methods.COUNCIL_BEPRO_AMOUNT(). - call());case 3:_context10.t1 = _context10.sent;return _context10.abrupt('return', _context10.t0.fromDecimals.call(_context10.t0, _context10.t1, - 18));case 5:case 'end':return _context10.stop();}}}, _callee10, this);}));function COUNCIL_BEPRO_AMOUNT() {return _ref10.apply(this, arguments);}return COUNCIL_BEPRO_AMOUNT;}() - - - - /** - * @function - * @description Get Total Amount of BEPRO Staked for Operator in the network - * @returns {Integer} - */ }, { key: 'OPERATOR_BEPRO_AMOUNT', value: function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() {return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.t0 = - - _Numbers2.default;_context11.next = 3;return ( - this.params.contract. - getContract(). - methods.OPERATOR_BEPRO_AMOUNT(). - call());case 3:_context11.t1 = _context11.sent;return _context11.abrupt('return', _context11.t0.fromDecimals.call(_context11.t0, _context11.t1, - 18));case 5:case 'end':return _context11.stop();}}}, _callee11, this);}));function OPERATOR_BEPRO_AMOUNT() {return _ref11.apply(this, arguments);}return OPERATOR_BEPRO_AMOUNT;}() - - - - /** - * @function - * @description Get Total Amount of BEPRO Staked for Developer in the network - * @returns {Integer} - */ }, { key: 'DEVELOPER_BEPRO_AMOUNT', value: function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() {return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.t0 = - - _Numbers2.default;_context12.next = 3;return ( - this.params.contract. - getContract(). - methods.DEVELOPER_BEPRO_AMOUNT(). - call());case 3:_context12.t1 = _context12.sent;return _context12.abrupt('return', _context12.t0.fromDecimals.call(_context12.t0, _context12.t1, - 18));case 5:case 'end':return _context12.stop();}}}, _callee12, this);}));function DEVELOPER_BEPRO_AMOUNT() {return _ref12.apply(this, arguments);}return DEVELOPER_BEPRO_AMOUNT;}() - - - - /** - * @function - * @description Is issue Approved - * @param {Integer} issueId - * @returns {Bool} - */ }, { key: 'isIssueApproved', value: function () {var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref14) {var - issueId = _ref14.issueId;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return ( - this.params.contract. - getContract(). - methods.isIssueApproved(issueId). - call());case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, this);}));function isIssueApproved(_x2) {return _ref13.apply(this, arguments);}return isIssueApproved;}() - - - /** - * @function - * @description Is issue available to be approved (time wise) - * @param {Integer} issueId - * @returns {Bool} - */ }, { key: 'isIssueApprovable', value: function () {var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref16) {var - issueId = _ref16.issueId;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:_context14.next = 2;return ( - this.params.contract. - getContract(). - methods.isIssueApprovable(issueId). - call());case 2:return _context14.abrupt('return', _context14.sent);case 3:case 'end':return _context14.stop();}}}, _callee14, this);}));function isIssueApprovable(_x3) {return _ref15.apply(this, arguments);}return isIssueApprovable;}() - - - /** - * @function - * @description Is issue mergeable - * @param {Integer} issueId - * @param {Integer} mergeId - * @returns {Bool} - */ }, { key: 'isIssueMergeable', value: function () {var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(_ref18) {var - issueId = _ref18.issueId,mergeId = _ref18.mergeId;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return ( - this.params.contract. - getContract(). - methods.isIssueMergeable(issueId, mergeId). - call());case 2:return _context15.abrupt('return', _context15.sent);case 3:case 'end':return _context15.stop();}}}, _callee15, this);}));function isIssueMergeable(_x4) {return _ref17.apply(this, arguments);}return isIssueMergeable;}() - - - /** - * @function - * @description Is issue mergeable - * @param {Integer} issueId - * @param {Integer} mergeId - * @returns {Bool} - */ }, { key: 'isMergeTheOneWithMoreVotes', value: function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(_ref20) {var - issueId = _ref20.issueId,mergeId = _ref20.mergeId;return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return ( - this.params.contract. - getContract(). - methods.isMergeTheOneWithMoreVotes(issueId, mergeId). - call());case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, this);}));function isMergeTheOneWithMoreVotes(_x5) {return _ref19.apply(this, arguments);}return isMergeTheOneWithMoreVotes;}() - - - /** - * @function - * @description Get Issue Id Info - * @param {Address} address - * @returns {Integer} votes - */ }, { key: 'getVotesByAddress', value: function () {var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_ref22) {var - - address = _ref22.address;var r;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.next = 2;return ( - this.params.contract. - getContract(). - methods.getVotesByAddress(address). - call());case 2:r = _context17.sent;return _context17.abrupt('return', - _Numbers2.default.fromDecimals(r, 18));case 4:case 'end':return _context17.stop();}}}, _callee17, this);}));function getVotesByAddress(_x6) {return _ref21.apply(this, arguments);}return getVotesByAddress;}() - - - /** - * @function - * @description Get Issue Id Info - * @param {Integer} issue_id - * @returns {Integer} _id - * @returns {Integer} beproStaked - * @returns {Date} creationDate - * @returns {Address} issueGenerator - * @returns {Integer} votesForApprove - * @returns {Integer} mergeProposalsAmount - * @returns {Bool} finalized - * @returns {Bool} canceled - */ }, { key: 'getIssueById', value: function () {var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(_ref24) {var - - issue_id = _ref24.issue_id;var r;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:_context18.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.getIssueById(issue_id), - true));case 2:r = _context18.sent;return _context18.abrupt('return', - - - { - _id: _Numbers2.default.fromHex(r[0]), - beproStaked: _Numbers2.default.fromDecimals(r[1], 18), - creationDate: _Numbers2.default.fromSmartContractTimeToMinutes(r[2]), - issueGenerator: r[3], - votesForApprove: _Numbers2.default.fromDecimals(r[4], 18), - mergeProposalsAmount: parseInt(r[5], 10), - finalized: r[6], - canceled: r[7] });case 4:case 'end':return _context18.stop();}}}, _callee18, this);}));function getIssueById(_x7) {return _ref23.apply(this, arguments);}return getIssueById;}() - - - - /** - * @function - * @description Get Issue Id Info - * @param {Integer} issue_id - * @param {Integer} merge_id - * @returns {Integer} _id - * @returns {Integer} votes - * @returns {Integer} disputes - * @returns {Address | Array} prAddresses - * @returns {Integer | Array} prAmounts - * @returns {Address} proposalAddress - */ }, { key: 'getMergeById', value: function () {var _ref25 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(_ref26) {var - - issue_id = _ref26.issue_id,merge_id = _ref26.merge_id;var r;return _regenerator2.default.wrap(function _callee19$(_context19) {while (1) {switch (_context19.prev = _context19.next) {case 0:_context19.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.getMergeById(issue_id, merge_id), - true));case 2:r = _context19.sent;return _context19.abrupt('return', - - - { - _id: _Numbers2.default.fromHex(r[0]), - votes: _Numbers2.default.fromDecimals(r[1], 18), - disputes: _Numbers2.default.fromDecimals(r[2], 18), - prAddresses: r[3], - prAmounts: r[4] ? r[4].map(function (a) {return _Numbers2.default.fromDecimals(a, 18);}) : 0, - proposalAddress: r[5] });case 4:case 'end':return _context19.stop();}}}, _callee19, this);}));function getMergeById(_x8) {return _ref25.apply(this, arguments);}return getMergeById;}() - - - - /** - * @function - * @description Approve ERC20 Allowance - */ - - - - - - - - - /** - * @function - * @description Verify if Approved - */ }, { key: 'lockBepro', - - - - - - - /** - * @function - * @description lock BEPRO for oracles - * @param {integer} beproAmount - */value: function () {var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(_ref28) {var - beproAmount = _ref28.beproAmount;return _regenerator2.default.wrap(function _callee20$(_context20) {while (1) {switch (_context20.prev = _context20.next) {case 0:if (!( - beproAmount <= 0)) {_context20.next = 2;break;}throw ( - new Error('Bepro Amount has to be higher than 0'));case 2:_context20.next = 4;return ( - - - this.isApprovedERC20({ amount: amount, address: address }));case 4:if (_context20.sent) {_context20.next = 6;break;}throw ( - new Error("Bepro not approve for tx, first use 'approveERC20'"));case 6:_context20.next = 8;return ( - - - this.__sendTx( - this.params.contract.getContract().methods.lockBepro(beproAmount)));case 8:return _context20.abrupt('return', _context20.sent);case 9:case 'end':return _context20.stop();}}}, _callee20, this);}));function lockBepro(_x9) {return _ref27.apply(this, arguments);}return lockBepro;}() - - - - /** - * @function - * @description Unlock BEPRO for oracles - * @param {integer} beproAmount - * @param {address} from - */ }, { key: 'unlockBepro', value: function () {var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(_ref30) {var - beproAmount = _ref30.beproAmount,from = _ref30.from;return _regenerator2.default.wrap(function _callee21$(_context21) {while (1) {switch (_context21.prev = _context21.next) {case 0:if (!( - beproAmount <= 0)) {_context21.next = 2;break;}throw ( - new Error('Bepro Amount has to be higher than 0'));case 2:_context21.next = 4;return ( - - - this.__sendTx( - this.params.contract.getContract().methods.unlockBepro(beproAmount, from)));case 4:return _context21.abrupt('return', _context21.sent);case 5:case 'end':return _context21.stop();}}}, _callee21, this);}));function unlockBepro(_x10) {return _ref29.apply(this, arguments);}return unlockBepro;}() - - - - /** - * @function - * @description Delegated Oracles to others - * @param {integer} beproAmount - * @param {address} delegatedTo - */ }, { key: 'delegateOracles', value: function () {var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(_ref32) {var - beproAmount = _ref32.beproAmount,delegatedTo = _ref32.delegatedTo;return _regenerator2.default.wrap(function _callee22$(_context22) {while (1) {switch (_context22.prev = _context22.next) {case 0:if (!( - beproAmount <= 0)) {_context22.next = 2;break;}throw ( - new Error('Bepro Amount has to be higher than 0'));case 2:_context22.next = 4;return ( - - - this.__sendTx( - this.params.contract. - getContract(). - methods.unlockBepro(beproAmount, delegatedTo)));case 4:return _context22.abrupt('return', _context22.sent);case 5:case 'end':return _context22.stop();}}}, _callee22, this);}));function delegateOracles(_x11) {return _ref31.apply(this, arguments);}return delegateOracles;}() - - - - /** - * @function - * @description open Issue - * @param {integer} beproAmount - * @param {address} address - */ }, { key: 'openIssue', value: function () {var _ref33 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(_ref34) {var - beproAmount = _ref34.beproAmount,address = _ref34.address;return _regenerator2.default.wrap(function _callee23$(_context23) {while (1) {switch (_context23.prev = _context23.next) {case 0:if (!( - beproAmount < 0)) {_context23.next = 2;break;}throw ( - new Error('Bepro Amount has to be higher than 0'));case 2:_context23.next = 4;return ( - - - this.isApprovedERC20({ amount: amount, address: address }));case 4:if (_context23.sent) {_context23.next = 6;break;}throw ( - new Error("Bepro not approve for tx, first use 'approveERC20'"));case 6:_context23.next = 8;return ( - - - this.__sendTx( - this.params.contract.getContract().methods.openIssue(beproAmount)));case 8:return _context23.abrupt('return', _context23.sent);case 9:case 'end':return _context23.stop();}}}, _callee23, this);}));function openIssue(_x12) {return _ref33.apply(this, arguments);}return openIssue;}() - - - - /** - * @function - * @description open Issue - * @param {integer} issueId - */ }, { key: 'approveIssue', value: function () {var _ref35 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24(_ref36) {var - issueId = _ref36.issueId;return _regenerator2.default.wrap(function _callee24$(_context24) {while (1) {switch (_context24.prev = _context24.next) {case 0:_context24.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.approveIssue(issueId)));case 2:return _context24.abrupt('return', _context24.sent);case 3:case 'end':return _context24.stop();}}}, _callee24, this);}));function approveIssue(_x13) {return _ref35.apply(this, arguments);}return approveIssue;}() - - - - /** - * @function - * @description redeem Issue - */ }, { key: 'redeemIssue', value: function () {var _ref37 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25(_ref38) {var - issueId = _ref38.issueId;return _regenerator2.default.wrap(function _callee25$(_context25) {while (1) {switch (_context25.prev = _context25.next) {case 0:_context25.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.redeemIssue(issueId)));case 2:return _context25.abrupt('return', _context25.sent);case 3:case 'end':return _context25.stop();}}}, _callee25, this);}));function redeemIssue(_x14) {return _ref37.apply(this, arguments);}return redeemIssue;}() - - - - /** - * @function - * @description open Issue - * @param {integer} issueId - * @param {integer} mergeId - */ }, { key: 'approveMerge', value: function () {var _ref39 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26(_ref40) {var - issueId = _ref40.issueId,mergeId = _ref40.mergeId;return _regenerator2.default.wrap(function _callee26$(_context26) {while (1) {switch (_context26.prev = _context26.next) {case 0:_context26.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.approveMerge(issueId, mergeId)));case 2:return _context26.abrupt('return', _context26.sent);case 3:case 'end':return _context26.stop();}}}, _callee26, this);}));function approveMerge(_x15) {return _ref39.apply(this, arguments);}return approveMerge;}() - - - - /** - * @function - * @description open Issue - * @param {integer} issueID - * @param {integer} beproAmount - * @param {address} address - */ }, { key: 'updateIssue', value: function () {var _ref41 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(_ref42) {var - issueID = _ref42.issueID,beproAmount = _ref42.beproAmount,address = _ref42.address;return _regenerator2.default.wrap(function _callee27$(_context27) {while (1) {switch (_context27.prev = _context27.next) {case 0:if (!( - beproAmount < 0)) {_context27.next = 2;break;}throw ( - new Error('Bepro Amount has to be higher than 0'));case 2:_context27.next = 4;return ( - - - this.isApprovedERC20({ amount: amount, address: address }));case 4:if (_context27.sent) {_context27.next = 6;break;}throw ( - new Error("Bepro not approve for tx, first use 'approveERC20'"));case 6:_context27.next = 8;return ( - - - this.__sendTx( - this.params.contract. - getContract(). - methods.updateIssue(issueID, beproAmount, address)));case 8:return _context27.abrupt('return', _context27.sent);case 9:case 'end':return _context27.stop();}}}, _callee27, this);}));function updateIssue(_x16) {return _ref41.apply(this, arguments);}return updateIssue;}() - - - - /** - * @function - * @description Propose Merge of Issue - * @param {integer} issueID - * @param {address | Array} prAddresses - * @param {address | Integer} prAmounts - */ }, { key: 'proposeIssueMerge', value: function () {var _ref43 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee28(_ref44) {var - issueID = _ref44.issueID,prAddresses = _ref44.prAddresses,prAmounts = _ref44.prAmounts;return _regenerator2.default.wrap(function _callee28$(_context28) {while (1) {switch (_context28.prev = _context28.next) {case 0:if (!( - prAddresses.length != prAmounts.length)) {_context28.next = 2;break;}throw ( - new Error('prAddresses dont match prAmounts size'));case 2:_context28.next = 4;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.proposeIssueMerge(issueID, prAddresses, prAmounts)));case 4:return _context28.abrupt('return', _context28.sent);case 5:case 'end':return _context28.stop();}}}, _callee28, this);}));function proposeIssueMerge(_x17) {return _ref43.apply(this, arguments);}return proposeIssueMerge;}() - - - - /** - * @function - * @description close Issue - * @param {integer} issueID - * @param {integer} mergeID - */ }, { key: 'closeIssue', value: function () {var _ref45 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee29(_ref46) {var - issueID = _ref46.issueID,mergeID = _ref46.mergeID;return _regenerator2.default.wrap(function _callee29$(_context29) {while (1) {switch (_context29.prev = _context29.next) {case 0:_context29.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.closeIssue(issueID, mergeID)));case 2:return _context29.abrupt('return', _context29.sent);case 3:case 'end':return _context29.stop();}}}, _callee29, this);}));function closeIssue(_x18) {return _ref45.apply(this, arguments);}return closeIssue;}() }]);return BEPRONetwork;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee30() {return _regenerator2.default.wrap(function _callee30$(_context30) {while (1) {switch (_context30.prev = _context30.next) {case 0:if (_this2.getAddress()) {_context30.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: // Use ABI - _this2.params.contract.use(_interfaces.beproNetwork, _this2.getAddress()); // Set Token Address Contract for easy access - _this2.params.ERC20Contract = new _ERC20Contract2.default({ web3: _this2.web3, contractAddress: beproAddress, acc: _this2.acc }); // Assert Token Contract - _context30.next = 6;return _this2.params.ERC20Contract.__assert();case 6:case 'end':return _context30.stop();}}}, _callee30, _this2);}));this.approveERC20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee31() {var totalMaxAmount;return _regenerator2.default.wrap(function _callee31$(_context31) {while (1) {switch (_context31.prev = _context31.next) {case 0:_context31.next = 2;return _this2.getERC20Contract().totalSupply();case 2:totalMaxAmount = _context31.sent;_context31.next = 5;return _this2.getERC20Contract().approve({ address: _this2.getAddress(), amount: totalMaxAmount });case 5:return _context31.abrupt('return', _context31.sent);case 6:case 'end':return _context31.stop();}}}, _callee31, _this2);}));this.isApprovedERC20 = function () {var _ref49 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee32(_ref50) {var amount = _ref50.amount,address = _ref50.address;return _regenerator2.default.wrap(function _callee32$(_context32) {while (1) {switch (_context32.prev = _context32.next) {case 0:_context32.next = 2;return _this2.getERC20Contract().isApproved({ address: address, amount: amount, spenderAddress: _this2.getAddress() });case 2:return _context32.abrupt('return', _context32.sent);case 3:case 'end':return _context32.stop();}}}, _callee32, _this2);}));return function (_x19) {return _ref49.apply(this, arguments);};}();this. - deploy = function () {var _ref51 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee33(_ref52) {var tokenAddress = _ref52.tokenAddress,callback = _ref52.callback;var params, res;return _regenerator2.default.wrap(function _callee33$(_context33) {while (1) {switch (_context33.prev = _context33.next) {case 0: - params = [tokenAddress];_context33.next = 3;return ( - _this2.__deploy(params, callback));case 3:res = _context33.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context33.next = 7;return ( - _this2.__assert());case 7:return _context33.abrupt('return', - res);case 8:case 'end':return _context33.stop();}}}, _callee33, _this2);}));return function (_x20) {return _ref51.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -BEPRONetwork; \ No newline at end of file diff --git a/build/models/ERC20/ERC20Contract.js b/build/models/ERC20/ERC20Contract.js deleted file mode 100644 index b9f0f578..00000000 --- a/build/models/ERC20/ERC20Contract.js +++ /dev/null @@ -1,182 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _interfaces = require('../../interfaces'); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * @class ERC20Contract - * @param {Object} params Parameters - * @param {Address} params.contractAddress Optional/If Existent - */var -ERC20Contract = function (_IContract) {(0, _inherits3.default)(ERC20Contract, _IContract); - function ERC20Contract() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC20Contract);var _this = (0, _possibleConstructorReturn3.default)(this, (ERC20Contract.__proto__ || (0, _getPrototypeOf2.default)(ERC20Contract)).call(this, (0, _extends3.default)({ - abi: _interfaces.ierc20 }, params)));_initialiseProps.call(_this);return _this; - }(0, _createClass3.default)(ERC20Contract, [{ key: 'getContract', value: function getContract() - - - - - - - { - return this.params.contract.getContract(); - } - - /** - * @function - * @description Get Token Address - * @returns {Address} address - */ }, { key: 'getAddress', value: function getAddress() - { - return this.params.contractAddress; - } - - /** - * @function - * @description Transfer Tokens - * @param {Object} params Parameters - * @param {Address} params.toAddress To Address - * @param {Integer} params.tokenAmount Amount of Tokens - * @returns {Transaction} Transaction - */ - - - - - - - - - - - - - /** - * @function - * @description Get Amount of Tokens User Holds - * @param {Address} address User Address - * @returns {Transaction} Transaction - */ - - - - - - /** - * @function - * @description Get Total Supply of Token - * @returns {Integer} Total supply - */ }, { key: 'getABI', value: function getABI() - - - - - - { - return this.params.contract; - } - - /** - * @function - * @description Get Decimals of Token - * @returns {Integer} Total supply - */ }, { key: 'getDecimals', value: function getDecimals() - { - return this.params.decimals; - } - - - - /** - * @function - * @description Verify if Spender is Approved to use tokens - * @param {Object} params Parameters - * @param {Address} params.address Sender Address - * @param {Integer} params.amount Amount of Tokens - * @param {Address} params.spenderAddress Spender Address - * @returns {Bool} isApproved - */ - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Approve tokens to be used by another address/contract - * @param {Object} params Parameters - * @param {Address} params.address Spender Address/Contract - * @param {Integer} params.amount Amount of Tokens - * @returns {Transaction} Transaction - */ - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Deploy ERC20 Token - * @param {Object} params Parameters - * @param {String} params.name Name of token - * @param {String} params.symbol Symbol of token - * @param {Integer} params.cap Max supply of Token (ex : 100M) - * @param {Address} params.distributionAddress Where tokens should be sent to initially - * @returns {Transaction} Transaction - */ }]);return ERC20Contract;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_this2.params.contract.use(_interfaces.ierc20, _this2.getAddress());_context.next = 3;return _this2.getDecimalsAsync();case 3:_this2.params.decimals = _context.sent;case 4:case 'end':return _context.stop();}}}, _callee, _this2);}));this.transferTokenAmount = function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref3) {var toAddress = _ref3.toAddress,tokenAmount = _ref3.tokenAmount;var amountWithDecimals;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:amountWithDecimals = _Numbers2.default.toSmartContractDecimals(tokenAmount, _this2.getDecimals());_context2.next = 3;return _this2.__sendTx(_this2.params.contract.getContract().methods.transfer(toAddress, amountWithDecimals));case 3:return _context2.abrupt('return', _context2.sent);case 4:case 'end':return _context2.stop();}}}, _callee2, _this2);}));return function (_x2) {return _ref2.apply(this, arguments);};}();this.getTokenAmount = function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(address) {return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.t0 = _Numbers2.default;_context3.next = 3;return _this2.getContract().methods.balanceOf(address).call();case 3:_context3.t1 = _context3.sent;_context3.t2 = _this2.getDecimals();return _context3.abrupt('return', _context3.t0.fromDecimals.call(_context3.t0, _context3.t1, _context3.t2));case 6:case 'end':return _context3.stop();}}}, _callee3, _this2);}));return function (_x3) {return _ref4.apply(this, arguments);};}();this.totalSupply = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.t0 = _Numbers2.default;_context4.next = 3;return _this2.getContract().methods.totalSupply().call();case 3:_context4.t1 = _context4.sent;_context4.t2 = _this2.getDecimals();return _context4.abrupt('return', _context4.t0.fromDecimals.call(_context4.t0, _context4.t1, _context4.t2));case 6:case 'end':return _context4.stop();}}}, _callee4, _this2);}));this.getDecimalsAsync = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return _this2.getContract().methods.decimals().call();case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, _this2);}));this.isApproved = function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref8) {var address = _ref8.address,amount = _ref8.amount,spenderAddress = _ref8.spenderAddress;var approvedAmount, amountWithDecimal;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.prev = 0;_context6.t0 = _Numbers2.default;_context6.next = 4;return _this2.getContract().methods.allowance(address, spenderAddress).call();case 4:_context6.t1 = _context6.sent;_context6.t2 = _this2.getDecimals();approvedAmount = _context6.t0.fromDecimals.call(_context6.t0, _context6.t1, _context6.t2);amountWithDecimal = _Numbers2.default.fromDecimals(amount, _this2.getDecimals());return _context6.abrupt('return', approvedAmount >= amountWithDecimal);case 11:_context6.prev = 11;_context6.t3 = _context6['catch'](0);throw _context6.t3;case 14:case 'end':return _context6.stop();}}}, _callee6, _this2, [[0, 11]]);}));return function (_x4) {return _ref7.apply(this, arguments);};}();this.approve = function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref10) {var address = _ref10.address,amount = _ref10.amount,callback = _ref10.callback;var amountWithDecimals, res;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.prev = 0;amountWithDecimals = _Numbers2.default.toSmartContractDecimals(amount, _this2.getDecimals());_context7.next = 4;return _this2.__sendTx(_this2.params.contract.getContract().methods.approve(address, amountWithDecimals), null, null, callback);case 4:res = _context7.sent;return _context7.abrupt('return', res);case 8:_context7.prev = 8;_context7.t0 = _context7['catch'](0);throw _context7.t0;case 11:case 'end':return _context7.stop();}}}, _callee7, _this2, [[0, 8]]);}));return function (_x5) {return _ref9.apply(this, arguments);};}();this. - deploy = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref12) {var - name = _ref12.name,symbol = _ref12.symbol,cap = _ref12.cap,distributionAddress = _ref12.distributionAddress,callback = _ref12.callback;var params, res;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:if ( - - distributionAddress) {_context8.next = 2;break;}throw ( - new Error('Please provide an Distribution address for distro'));case 2:if ( - - - name) {_context8.next = 4;break;}throw ( - new Error('Please provide a name'));case 4:if ( - - - symbol) {_context8.next = 6;break;}throw ( - new Error('Please provide a symbol'));case 6:if ( - - - cap) {_context8.next = 8;break;}throw ( - new Error('Please provide a cap'));case 8: - - params = [name, symbol, cap, distributionAddress];_context8.next = 11;return ( - _this2.__deploy(params, callback));case 11:res = _context8.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context8.next = 15;return ( - _this2.__assert());case 15:return _context8.abrupt('return', - res);case 16:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x6) {return _ref11.apply(this, arguments);};}();};exports.default = - - - -ERC20Contract; \ No newline at end of file diff --git a/build/models/ERC20/ERC20Distribution.js b/build/models/ERC20/ERC20Distribution.js deleted file mode 100644 index 43febc39..00000000 --- a/build/models/ERC20/ERC20Distribution.js +++ /dev/null @@ -1,168 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _moment = require('moment');var _moment2 = _interopRequireDefault(_moment); -var _interfaces = require('../../interfaces'); -var _ERC20Contract = require('./ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * @typedef {Object} ERC20Distribution~Options - * @property {Boolean} test - * @property {Boolean} localtest ganache local blockchain - * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' - * @property {string} [contractAddress] - */ - -/** - * ERC20 Token Distribution Contract Object - * @class ERC20Distribution - * @param {ERC20Distribution~Options} options - */var -ERC20Distribution = function (_IContract) {(0, _inherits3.default)(ERC20Distribution, _IContract); - function ERC20Distribution() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC20Distribution); - try {var _this = (0, _possibleConstructorReturn3.default)(this, (ERC20Distribution.__proto__ || (0, _getPrototypeOf2.default)(ERC20Distribution)).call(this, (0, _extends3.default)({}, - params, { abi: _interfaces.erc20distribution })));_initialiseProps.call(_this); - } catch (err) { - throw err; - }return _this; - } - - /** - * Get ERC20 Address of the Token Contract managed - * @returns {Promise
} - */(0, _createClass3.default)(ERC20Distribution, [{ key: 'erc20', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.params.contract.getContract().methods.erc20().call());case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function erc20() {return _ref.apply(this, arguments);}return erc20;}() - - - /** - * Get Token Amount of ERC20 Address - * @function - * @param {Object} params - * @param {Address} params.address - * @returns {Promise} Token Amount - */ - - - /** - * (Admin only) Set Token address - * @function - * @param {Object} params - * @param {Address} params.address ERC20 Address - * @returns {Promise} Success True if operation was successful - */ - - - - - - - /** - * (Admin only) Get All tokens from the Distribution Contract - * @function - * @param {Object} params - * @param {Address} params.address Address to transfer the ERC20 tokens to - * @returns {Promise} Success True if operation was successful - */ - - - - - - - /** - * (Admin only) Set the Token Generation Event - * @function - * @param {Object} params - * @param {Integer} params.time Time to set the TGE to (Token Generation Event) - * @returns {Promise} Success True if operation was successful - */ - - - - - - - /** - * (Admin only) Set Initial Distribution (Call the amount of times necessary) - * @function - * @param {Object} params - * @param {Address} params.address Address of the recipient - * @param {Integer} params.tokenAmount Token amount for this tranche - * @param {Integer} params.unlockTime Time to when this tokens unlock - * @returns {Promise} Success True if operation was successful - */ - - - - - - - - - - - - - /** - * Trigger Token - should be called every month - * @function - * @param {Object} params - * @returns {Promise} Success True if operation was successful - */ - - - - - - - /** - * - * @return {Promise} - * @throws {Error} Contract is not deployed, first deploy it and provide a contract address - */ - - - - - - - - - - - - - - - - - - - - - - /** - * Deploy the Contract - * @function - * @param {Object} params - * @param {function():void} params.callback - * @return {Promise<*|undefined>} - * @throws {Error} No Token Address Provided - */ - - - - - - - - - - /** - * @function - * @return ERC20Contract|undefined - */ }]);return ERC20Distribution;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.getTokenAmount = function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref3) {var address = _ref3.address;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return _this2.getERC20Contract().getTokenAmount(address);case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, _this2);}));return function (_x2) {return _ref2.apply(this, arguments);};}();this.setTokenAddress = function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref5) {var address = _ref5.address;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setTokenAddress(address));case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, _this2);}));return function (_x3) {return _ref4.apply(this, arguments);};}();this.safeGuardAllTokens = function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref7) {var address = _ref7.address;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.safeGuardAllTokens(address));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, _this2);}));return function (_x4) {return _ref6.apply(this, arguments);};}();this.setTGEDate = function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref9) {var time = _ref9.time;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setTGEDate(_Numbers2.default.timeToSmartContractTime(time)));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, _this2);}));return function (_x5) {return _ref8.apply(this, arguments);};}();this.setInitialDistribution = function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref11) {var address = _ref11.address,tokenAmount = _ref11.tokenAmount,unlockTime = _ref11.unlockTime;var tokenAmountWithDecimals;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:tokenAmountWithDecimals = _Numbers2.default.toSmartContractDecimals(tokenAmount, _this2.getERC20Contract().getDecimals());_context6.next = 3;return _this2.__sendTx(_this2.params.contract.getContract().methods.setInitialDistribution(address, tokenAmountWithDecimals, _Numbers2.default.timeToSmartContractTime(unlockTime)));case 3:return _context6.abrupt('return', _context6.sent);case 4:case 'end':return _context6.stop();}}}, _callee6, _this2);}));return function (_x6) {return _ref10.apply(this, arguments);};}();this.triggerTokenSend = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.triggerTokenSend());case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, _this2);}));this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8() {return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:if (_this2.getAddress()) {_context8.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.erc20distribution, _this2.getAddress()); /* Set Token Address Contract for easy access */if (_this2.params.ERC20Contract) {_context8.next = 11;break;}_context8.t0 = _ERC20Contract2.default;_context8.t1 = _this2.web3Connection;_context8.next = 8;return _this2.erc20();case 8:_context8.t2 = _context8.sent;_context8.t3 = { web3Connection: _context8.t1, contractAddress: _context8.t2 };_this2.params.ERC20Contract = new _context8.t0(_context8.t3);case 11:_context8.next = 13;return _this2.params.ERC20Contract.__assert();case 13:case 'end':return _context8.stop();}}}, _callee8, _this2);}));this.deploy = function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() {var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},callback = _ref15.callback;var params, res;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:params = [];_context9.next = 3;return _this2.__deploy(params, callback);case 3:res = _context9.sent;_this2.params.contractAddress = res.contractAddress; /* Call to Backend API */_context9.next = 7;return _this2.__assert();case 7:return _context9.abrupt('return', res);case 8:case 'end':return _context9.stop();}}}, _callee9, _this2);}));return function () {return _ref14.apply(this, arguments);};}();this. - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -ERC20Distribution; \ No newline at end of file diff --git a/build/models/ERC20/ERC20TokenLock.js b/build/models/ERC20/ERC20TokenLock.js deleted file mode 100644 index fd35116a..00000000 --- a/build/models/ERC20/ERC20TokenLock.js +++ /dev/null @@ -1,333 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _moment = require('moment');var _moment2 = _interopRequireDefault(_moment); -var _dayjs = require('dayjs');var _dayjs2 = _interopRequireDefault(_dayjs); -var _interfaces = require('../../interfaces'); -var _ERC20Contract = require('./ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var assert = require('assert'); - -/** - * ERC20 Token Lock Contract Object - * @class ERC20TokenLock - * @param {Object} params - * @param {Address} params.tokenAddress - * @param {Address} params.contractAddress ? (opt) - */var - -ERC20TokenLock = function (_IContract) {(0, _inherits3.default)(ERC20TokenLock, _IContract); - function ERC20TokenLock() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC20TokenLock); - try {var _this = (0, _possibleConstructorReturn3.default)(this, (ERC20TokenLock.__proto__ || (0, _getPrototypeOf2.default)(ERC20TokenLock)).call(this, (0, _extends3.default)({}, - params, { abi: _interfaces.tokenlock })));_initialiseProps.call(_this); - console.log('ERC20TokenLock.ctor.tokenAddress: ' + params.tokenAddress); - console.log('ERC20TokenLock.ctor.contractAddress: ' + - params.contractAddress); - - if (params.tokenAddress) { - _this.params.ERC20Contract = new _ERC20Contract2.default({ - web3: params.web3, - contractAddress: params.tokenAddress, - acc: params.acc }); - - } else { - throw new Error("Please provide an ERC20 Address in 'tokenAddress'"); - } - } catch (err) { - throw err; - }return _this; - } - - /** - * @function - * @description Get ERC20 Address of the Token Contract managed - * @returns {Address} - */(0, _createClass3.default)(ERC20TokenLock, [{ key: 'erc20', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.params.contract.getContract().methods.erc20().call());case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function erc20() {return _ref.apply(this, arguments);}return erc20;}() - - - /** - * @function - * @description Get Token Amount of ERC20 Address - * @param {Object} params - * @param {Address} params.address - * @returns {Integer} Token Amount - */ }, { key: 'totalAmountStaked', - - - /** - * @function - * @description Get All Tokens staked/locked at that specific moment - * @returns {Integer} Token Amount - */value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {var res;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.params.contract. - getContract(). - methods.totalAmountStaked(). - call());case 2:res = _context2.sent;return _context2.abrupt('return', - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context2.stop();}}}, _callee2, this);}));function totalAmountStaked() {return _ref2.apply(this, arguments);}return totalAmountStaked;}() - - - /** - * @function - * @description Get minimum amount of tokens to lock per user - * @returns {Integer} Minimum Amount - */ }, { key: 'minAmountToLock', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {var res;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.params.contract. - getContract(). - methods.minAmountToLock(). - call());case 2:res = _context3.sent;return _context3.abrupt('return', - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context3.stop();}}}, _callee3, this);}));function minAmountToLock() {return _ref3.apply(this, arguments);}return minAmountToLock;}() - - - /** - * @function - * @description Get maximum amount of tokens to lock per user - * @returns {Integer} Maximum Amount - */ }, { key: 'maxAmountToLock', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {var res;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.params.contract. - getContract(). - methods.maxAmountToLock(). - call());case 2:res = _context4.sent;return _context4.abrupt('return', - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context4.stop();}}}, _callee4, this);}));function maxAmountToLock() {return _ref4.apply(this, arguments);}return maxAmountToLock;}() - - - /** - * @function - * @description Check if locked tokens release date has come and user can withdraw them - * @param {Object} params - * @param {Address} params.address - * @returns {Boolean} canRelease - */ - - - /** - * @function - * @description Get locked tokens amount for a given address - * @param {Object} params - * @param {Address} params.address - * @returns {Integer} amount Locked token amount - */ - - - - - - - - - /** - * @function - * @description Get locked tokens info for a given address - * @param {Object} params - * @param {Address} params.address - * @returns {Date} startDate - * @returns {Date} endDate - * @returns {Integer} amount Token amount - */ - - - - - - - - - - - - - - - - - /** - * @function - * @description Admin sets maximum amount of tokens to lock per user - * @param {Object} params - * @param {Address} params.tokenAmount Amount of Tokens - * @returns {Boolean} Success True if operation was successful - */ - - - - - - - - - - - - - - - - - /** - * @function - * @description Admin sets minimum amount of tokens to lock per user - * @param {Object} params - * @param {Integer} params.tokenAmount Minimum tokens amount - * @returns {Boolean} Success True if operation was successful - */ - - - - - - - - - - - - - - - - - /** - * @function - * @description User locks his tokens until specified end date. - * @param {Object} params - * @param {Address} params.address User Address - * @param {Integer} params.amount Tokens amount to be locked - * @param {Date} params.endDate Lock tokens until this end date - * @returns {Boolean} Success True if operation was successful - * REQUIREMENTS: - * user must have approved this contract to spend the tokens "amount" he wants to lock before calling this function. - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description User withdraws his locked tokens after specified end date - * @param {Object} params - * @param {Address} params.address User Address - * @return {Boolean} Success True if operation was successful - */ - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Approve this contract to transfer tokens of the ERC20 token contract on behalf of user - * @return {Boolean} Success True if operation was successful - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Deploy the ERC20 Token Lock Contract - */ }]);return ERC20TokenLock;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.getTokenAmount = function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref6) {var address = _ref6.address;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return _this2.getERC20Contract().getTokenAmount(address);case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, _this2);}));return function (_x2) {return _ref5.apply(this, arguments);};}();this.canRelease = function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref8) {var address = _ref8.address;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return _this2.params.contract.getContract().methods.canRelease(address).call();case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, _this2);}));return function (_x3) {return _ref7.apply(this, arguments);};}();this.getLockedTokens = function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref10) {var address = _ref10.address;var res;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.params.contract.getContract().methods.getLockedTokens(address).call();case 2:res = _context7.sent;return _context7.abrupt('return', _Numbers2.default.fromDecimals(res, _this2.getERC20Contract().getDecimals()));case 4:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x4) {return _ref9.apply(this, arguments);};}();this.getLockedTokensInfo = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref12) {var address = _ref12.address;var res;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.params.contract.getContract().methods.getLockedTokensInfo(address).call();case 2:res = _context8.sent;return _context8.abrupt('return', { startDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[0]), endDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[1]), amount: _Numbers2.default.fromDecimals(res[2], _this2.getERC20Contract().getDecimals()) });case 4:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x5) {return _ref11.apply(this, arguments);};}();this.setMaxAmountToLock = function () {var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref14) {var tokenAmount = _ref14.tokenAmount;var amountWithDecimals;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_this2.onlyOwner(); // verify that user is admin - /* Get Decimals of Amount */amountWithDecimals = _Numbers2.default.toSmartContractDecimals(tokenAmount, _this2.getERC20Contract().getDecimals());_context9.next = 4;return _this2.__sendTx(_this2.params.contract.getContract().methods.setMaxAmountToLock(amountWithDecimals));case 4:return _context9.abrupt('return', _context9.sent);case 5:case 'end':return _context9.stop();}}}, _callee9, _this2);}));return function (_x6) {return _ref13.apply(this, arguments);};}();this.setMinAmountToLock = function () {var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(_ref16) {var tokenAmount = _ref16.tokenAmount;var amountWithDecimals;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_this2.onlyOwner(); // verify that user is admin - /* Get Decimals of Amount */amountWithDecimals = _Numbers2.default.toSmartContractDecimals(tokenAmount, _this2.getERC20Contract().getDecimals());_context10.next = 4;return _this2.__sendTx(_this2.params.contract.getContract().methods.setMinAmountToLock(amountWithDecimals));case 4:return _context10.abrupt('return', _context10.sent);case 5:case 'end':return _context10.stop();}}}, _callee10, _this2);}));return function (_x7) {return _ref15.apply(this, arguments);};}();this.lock = function () {var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref18) {var address = _ref18.address,amount = _ref18.amount,endDate = _ref18.endDate;var lockedAmount, isApproved;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0: // / 'address' is current user address - _this2.whenNotPaused(); // verify that contract is not paused - _context11.t0 = assert;_context11.t2 = amount > 0;if (!_context11.t2) {_context11.next = 9;break;}_context11.t3 = amount;_context11.next = 7;return _this2.minAmountToLock();case 7:_context11.t4 = _context11.sent;_context11.t2 = _context11.t3 >= _context11.t4;case 9:_context11.t1 = _context11.t2;if (!_context11.t1) {_context11.next = 16;break;}_context11.t5 = amount;_context11.next = 14;return _this2.maxAmountToLock();case 14:_context11.t6 = _context11.sent;_context11.t1 = _context11.t5 <= _context11.t6;case 16:_context11.t7 = _context11.t1;(0, _context11.t0)(_context11.t7, 'Invalid token amount');assert(endDate > (0, _moment2.default)(), 'Invalid end date'); // check if user can lock tokens - _context11.next = 21;return _this2.getLockedTokens({ address: address });case 21:lockedAmount = _context11.sent;assert(lockedAmount == 0, 'User already has locked tokens'); // otherwise user already locked tokens - /* Verify if transfer is approved for this amount */_context11.next = 25;return _this2.getERC20Contract().isApproved({ address: address, amount: amount, spenderAddress: _this2.getAddress() });case 25:isApproved = _context11.sent;if (isApproved) {_context11.next = 28;break;}throw new Error("Has to Approve Token Transfer First, use the 'approve' Call");case 28:console.log('---lock.bp0');_context11.next = 31;return _this2.__sendTx(_this2.params.contract.getContract().methods.lock(_Numbers2.default.toSmartContractDecimals(amount, _this2.getERC20Contract().getDecimals()), _Numbers2.default.timeToSmartContractTime(endDate)));case 31:return _context11.abrupt('return', _context11.sent);case 32:case 'end':return _context11.stop();}}}, _callee11, _this2);}));return function (_x8) {return _ref17.apply(this, arguments);};}();this.release = function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref20) {var address = _ref20.address;var _ref21, startDate, endDate, amount, lockedAmount;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.next = 2;return _this2.getLockedTokensInfo({ address: address });case 2:_ref21 = _context12.sent;startDate = _ref21.startDate;endDate = _ref21.endDate;amount = _ref21.amount;lockedAmount = amount;assert(lockedAmount > 0, 'ERC20TokenLock.user has no locked tokens');assert((0, _moment2.default)() >= endDate, 'ERC20TokenLock.tokens release date not reached');_context12.next = 11;return _this2.__sendTx(_this2.params.contract.getContract().methods.release());case 11:return _context12.abrupt('return', _context12.sent);case 12:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x9) {return _ref19.apply(this, arguments);};}();this.approveERC20Transfer = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13() {var totalMaxAmount;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.getERC20Contract().totalSupply();case 2:totalMaxAmount = _context13.sent;_context13.next = 5;return _this2.getERC20Contract().approve({ address: _this2.getAddress(), amount: _Numbers2.default.toSmartContractDecimals(totalMaxAmount, _this2.getERC20Contract().getDecimals()) });case 5:return _context13.abrupt('return', _context13.sent);case 6:case 'end':return _context13.stop();}}}, _callee13, _this2);}));this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14() {return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:if (_this2.getAddress()) {_context14.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.tokenlock, _this2.getAddress()); /* Set Token Address Contract for easy access */if (_this2.params.ERC20Contract) {_context14.next = 12;break;}_context14.t0 = _ERC20Contract2.default;_context14.t1 = _this2.web3;_context14.next = 8;return _this2.erc20();case 8:_context14.t2 = _context14.sent;_context14.t3 = _this2.acc;_context14.t4 = { web3: _context14.t1, contractAddress: _context14.t2, acc: _context14.t3 };_this2.params.ERC20Contract = new _context14.t0(_context14.t4);case 12:_context14.next = 14;return _this2.params.ERC20Contract.__assert();case 14:case 'end':return _context14.stop();}}}, _callee14, _this2);}));this.deploy = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() {var _ref25 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},callback = _ref25.callback;var params, res;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:if (_this2.getERC20Contract()) {_context15.next = 2;break;}throw new Error('No Token Address Provided');case 2:params = [_this2.getERC20Contract().getAddress()];_context15.next = 5;return ( - _this2.__deploy(params, callback));case 5:res = _context15.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context15.next = 9;return ( - _this2.__assert());case 9:return _context15.abrupt('return', - res);case 10:case 'end':return _context15.stop();}}}, _callee15, _this2);}));return function () {return _ref24.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -ERC20TokenLock; \ No newline at end of file diff --git a/build/models/ERC721/ERC721Collectibles.js b/build/models/ERC721/ERC721Collectibles.js deleted file mode 100644 index 7eaa2a50..00000000 --- a/build/models/ERC721/ERC721Collectibles.js +++ /dev/null @@ -1,331 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _ERC20Contract = require('../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var baseFeeAddress = '0x6714d41094a264bb4b8fcb74713b42cfee6b4f74'; - -/** - * ERC721Contract Object - * @class ERC721Collectibles - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) - */var - -ERC721Collectibles = function (_IContract) {(0, _inherits3.default)(ERC721Collectibles, _IContract); - function ERC721Collectibles() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC721Collectibles);var _this = (0, _possibleConstructorReturn3.default)(this, (ERC721Collectibles.__proto__ || (0, _getPrototypeOf2.default)(ERC721Collectibles)).call(this, (0, _extends3.default)({ - abi: _interfaces.erc721collectibles }, params)));_initialiseProps.call(_this);return _this; - } - - /** - * @private - */(0, _createClass3.default)(ERC721Collectibles, [{ key: 'purchaseToken', - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Get ERC20 Address of the Contract - * @returns {Address} - */value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.params.contract. - getContract(). - methods._purchaseToken(). - call());case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function purchaseToken() {return _ref.apply(this, arguments);}return purchaseToken;}() - - - /** - * @function - * @description Get Price Per Pack - * @returns {Integer} - */ }, { key: 'getPricePerPack', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.t0 = - - _Numbers2.default;_context2.next = 3;return ( - this.params.contract.getContract().methods._pricePerPack().call());case 3:_context2.t1 = _context2.sent;return _context2.abrupt('return', _context2.t0.fromDecimals.call(_context2.t0, _context2.t1, - 18));case 5:case 'end':return _context2.stop();}}}, _callee2, this);}));function getPricePerPack() {return _ref2.apply(this, arguments);}return getPricePerPack;}() - - - - /** - * @function - * @description Verify if token ID exists - * @returns {Integer} Token Id - */ }, { key: 'exists', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref4) {var - tokenID = _ref4.tokenID;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - this.params.contract. - getContract(). - methods.exists(tokenID). - call());case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, this);}));function exists(_x2) {return _ref3.apply(this, arguments);}return exists;}() - - - /** - * @function - * @description Verify if it is limited - * @returns {Bool} - */ }, { key: 'isLimited', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.params.contract.getContract().methods._isLimited().call());case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function isLimited() {return _ref5.apply(this, arguments);}return isLimited;}() - - - /** - * @function - * @description Verify what is the currentTokenId - * @returns {Integer} Current Token Id - */ }, { key: 'currentTokenId', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.t0 = - - - parseInt;_context5.next = 3;return ( - this.params.contract.getContract().methods._currentTokenId().call());case 3:_context5.t1 = _context5.sent;return _context5.abrupt('return', (0, _context5.t0)(_context5.t1, 10));case 5:case 'end':return _context5.stop();}}}, _callee5, this);}));function currentTokenId() {return _ref6.apply(this, arguments);}return currentTokenId;}() - - - - /** - * @function - * @description Verify what is the getURITokenID - * @returns {String} URI - */ }, { key: 'getURITokenID', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref8) {var - tokenID = _ref8.tokenID;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - this.params.contract. - getContract(). - methods.tokenURI(tokenID). - call());case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function getURITokenID(_x3) {return _ref7.apply(this, arguments);}return getURITokenID;}() - - - /** - * @function - * @description Verify what is the baseURI - * @returns {String} URI - */ }, { key: 'baseURI', value: function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return ( - - this.params.contract.getContract().methods.baseURI().call());case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, this);}));function baseURI() {return _ref9.apply(this, arguments);}return baseURI;}() - - - /** - * @function - * @description Get Ids - * @param {Address} address - * @returns {Integer | Array} ids - */ }, { key: 'getRegisteredIDs', value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref11) {var - address = _ref11.address;var res;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return ( - this.params.contract. - getContract(). - methods.getRegisteredIDs(address). - call());case 2:res = _context8.sent;return _context8.abrupt('return', - - res.map(function (r) {return parseInt(r, 10);}));case 4:case 'end':return _context8.stop();}}}, _callee8, this);}));function getRegisteredIDs(_x4) {return _ref10.apply(this, arguments);}return getRegisteredIDs;}() - - - /** - * @function - * @description Verify if ID is registered - * @returns {Bool} - */ }, { key: 'isIDRegistered', value: function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref13) {var - address = _ref13.address,tokenID = _ref13.tokenID;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return ( - this.params.contract. - getContract(). - methods.registeredIDs(address, tokenID). - call());case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, this);}));function isIDRegistered(_x5) {return _ref12.apply(this, arguments);}return isIDRegistered;}() - - - /** - * @function - * @description Verify what is the current price per Pack - * @returns {Integer} Price per pack in tokens - */ }, { key: 'pricePerPack', value: function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() {return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.t0 = - - - _Numbers2.default;_context10.next = 3;return ( - this.params.contract.getContract().methods._pricePerPack().call());case 3:_context10.t1 = _context10.sent;return _context10.abrupt('return', _context10.t0.fromDecimals.call(_context10.t0, _context10.t1, - 18));case 5:case 'end':return _context10.stop();}}}, _callee10, this);}));function pricePerPack() {return _ref14.apply(this, arguments);}return pricePerPack;}() - - - - /** - * @function - * @description Verify how much opened packs exist - * @returns {Integer} packs - */ }, { key: 'openedPacks', value: function () {var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() {return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.t0 = - - - parseInt;_context11.next = 3;return ( - this.params.contract.getContract().methods._openedPacks().call());case 3:_context11.t1 = _context11.sent;return _context11.abrupt('return', (0, _context11.t0)(_context11.t1, - 10));case 5:case 'end':return _context11.stop();}}}, _callee11, this);}));function openedPacks() {return _ref15.apply(this, arguments);}return openedPacks;}() - - - - /** - * @function - * @description Approve ERC20 Allowance - */ - - - - - - - - - /** - * @function - * @description Set Base Token URI - */ - - - - - /** - * @function - * @description Approve ERC20 Allowance - * @param {Address} address - * @param {Integer} amount - */ }, { key: 'openPack', - - - - - - - /** - * @function - * @description open Pack of tokens - * @param {Integer} amount Amount of packs to open - */value: function () {var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref17) {var - amount = _ref17.amount;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.openPack(amount)));case 2:return _context12.abrupt('return', _context12.sent);case 3:case 'end':return _context12.stop();}}}, _callee12, this);}));function openPack(_x6) {return _ref16.apply(this, arguments);}return openPack;}() - - - - /** - * @function - * @description Mint created TokenID - * @param {Address} to - * @param {Integer} tokenID - */ }, { key: 'mint', value: function () {var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref19) {var - tokenID = _ref19.tokenID;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.mint(tokenID)));case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, this);}));function mint(_x7) {return _ref18.apply(this, arguments);}return mint;}() - - - - /** - * @function - * @description set Purchase Token Address - * @param {Address} purchaseToken - */ }, { key: 'setPurchaseTokenAddress', value: function () {var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref21) {var - purchaseToken = _ref21.purchaseToken;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:_context14.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.setPurchaseTokenAddress(purchaseToken)));case 2:return _context14.abrupt('return', _context14.sent);case 3:case 'end':return _context14.stop();}}}, _callee14, this);}));function setPurchaseTokenAddress(_x8) {return _ref20.apply(this, arguments);}return setPurchaseTokenAddress;}() - - - - /** - * @function - * @description set Stake Address - * @param {Address} purchaseToken - */ }, { key: 'setStakeAddress', value: function () {var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(_ref23) {var - purchaseToken = _ref23.purchaseToken;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.setStakeAddress(purchaseToken)));case 2:return _context15.abrupt('return', _context15.sent);case 3:case 'end':return _context15.stop();}}}, _callee15, this);}));function setStakeAddress(_x9) {return _ref22.apply(this, arguments);}return setStakeAddress;}() - - - - /** - * @function - * @description set Fee Address - * @param {Address} purchaseToken - */ }, { key: 'setSwapBackAddress', value: function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(_ref25) {var - purchaseToken = _ref25.purchaseToken;return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.setSwapBackAddress(purchaseToken)));case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, this);}));function setSwapBackAddress(_x10) {return _ref24.apply(this, arguments);}return setSwapBackAddress;}() - - - - /** - * @function - * @description set Fee Address - * @param {Address} purchaseToken - */ }, { key: 'setFeeAddress', value: function () {var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_ref27) {var - purchaseToken = _ref27.purchaseToken;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.setFeeAddress(purchaseToken)));case 2:return _context17.abrupt('return', _context17.sent);case 3:case 'end':return _context17.stop();}}}, _callee17, this);}));function setFeeAddress(_x11) {return _ref26.apply(this, arguments);}return setFeeAddress;}() - - - - /** - * @function - * @description set Price per Pack - * @param {Amount} newPrice - */ }, { key: 'setPricePerPack', value: function () {var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(_ref29) {var - newPrice = _ref29.newPrice;var newPriceWithDecimals;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0: - newPriceWithDecimals = _Numbers2.default.toSmartContractDecimals(newPrice, 18);_context18.next = 3;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.setPricePerPack(newPriceWithDecimals)));case 3:return _context18.abrupt('return', _context18.sent);case 4:case 'end':return _context18.stop();}}}, _callee18, this);}));function setPricePerPack(_x12) {return _ref28.apply(this, arguments);}return setPricePerPack;}() }]);return ERC721Collectibles;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19() {return _regenerator2.default.wrap(function _callee19$(_context19) {while (1) {switch (_context19.prev = _context19.next) {case 0:if (_this2.getAddress()) {_context19.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.erc721collectibles, _this2.getAddress()); /* Set Token Address Contract for easy access */_context19.t0 = _ERC20Contract2.default;_context19.t1 = _this2.web3;_context19.next = 7;return _this2.purchaseToken();case 7:_context19.t2 = _context19.sent;_context19.t3 = _this2.acc;_context19.t4 = { web3: _context19.t1, contractAddress: _context19.t2, acc: _context19.t3 };_this2.params.ERC20Contract = new _context19.t0(_context19.t4);_context19.next = 13;return _this2.params.ERC20Contract.__assert();case 13:case 'end':return _context19.stop();}}}, _callee19, _this2);}));this.approveERC20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20() {var totalMaxAmount;return _regenerator2.default.wrap(function _callee20$(_context20) {while (1) {switch (_context20.prev = _context20.next) {case 0:_context20.next = 2;return _this2.getERC20Contract().totalSupply();case 2:totalMaxAmount = _context20.sent;_context20.next = 5;return _this2.getERC20Contract().approve({ address: _this2.getAddress(), amount: totalMaxAmount });case 5:return _context20.abrupt('return', _context20.sent);case 6:case 'end':return _context20.stop();}}}, _callee20, _this2);}));this.setBaseTokenURI = function () {var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21(_ref33) {var URI = _ref33.URI;return _regenerator2.default.wrap(function _callee21$(_context21) {while (1) {switch (_context21.prev = _context21.next) {case 0:_context21.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setBaseURI(URI));case 2:return _context21.abrupt('return', _context21.sent);case 3:case 'end':return _context21.stop();}}}, _callee21, _this2);}));return function (_x13) {return _ref32.apply(this, arguments);};}();this.isApproved = function () {var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22(_ref35) {var address = _ref35.address,amount = _ref35.amount;return _regenerator2.default.wrap(function _callee22$(_context22) {while (1) {switch (_context22.prev = _context22.next) {case 0:_context22.next = 2;return _this2.getERC20Contract().isApproved({ address: address, amount: amount, spenderAddress: _this2.getAddress() });case 2:return _context22.abrupt('return', _context22.sent);case 3:case 'end':return _context22.stop();}}}, _callee22, _this2);}));return function (_x14) {return _ref34.apply(this, arguments);};}();this. - - - - deploy = function () {var _ref36 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(_ref37) {var - name = _ref37.name, - symbol = _ref37.symbol,_ref37$limitedAmount = _ref37. - limitedAmount,limitedAmount = _ref37$limitedAmount === undefined ? 0 : _ref37$limitedAmount, - erc20Purchase = _ref37.erc20Purchase,_ref37$feeAddress = _ref37. - feeAddress,feeAddress = _ref37$feeAddress === undefined ? '0x0000000000000000000000000000000000000001' : _ref37$feeAddress,_ref37$otherAddress = _ref37. - otherAddress,otherAddress = _ref37$otherAddress === undefined ? '0x0000000000000000000000000000000000000001' : _ref37$otherAddress, - callback = _ref37.callback;var params, res;return _regenerator2.default.wrap(function _callee23$(_context23) {while (1) {switch (_context23.prev = _context23.next) {case 0:if ( - - erc20Purchase) {_context23.next = 2;break;}throw ( - new Error('Please provide an erc20 address for purchases'));case 2:if ( - - - name) {_context23.next = 4;break;}throw ( - new Error('Please provide a name'));case 4:if ( - - - symbol) {_context23.next = 6;break;}throw ( - new Error('Please provide a symbol'));case 6: - - params = [ - name, - symbol, - limitedAmount, - erc20Purchase, - baseFeeAddress, - feeAddress, - otherAddress];_context23.next = 9;return ( - - _this2.__deploy(params, callback));case 9:res = _context23.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context23.next = 13;return ( - _this2.__assert());case 13:return _context23.abrupt('return', - res);case 14:case 'end':return _context23.stop();}}}, _callee23, _this2);}));return function (_x15) {return _ref36.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -ERC721Collectibles; \ No newline at end of file diff --git a/build/models/ERC721/ERC721Contract.js b/build/models/ERC721/ERC721Contract.js deleted file mode 100644 index 05f4baf6..00000000 --- a/build/models/ERC721/ERC721Contract.js +++ /dev/null @@ -1,155 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -/** - * ERC721Contract Object - * @class ERC721Contract - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) - */var - -ERC721Contract = function (_IContract) {(0, _inherits3.default)(ERC721Contract, _IContract); - function ERC721Contract() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC721Contract);var _this = (0, _possibleConstructorReturn3.default)(this, (ERC721Contract.__proto__ || (0, _getPrototypeOf2.default)(ERC721Contract)).call(this, (0, _extends3.default)({ - abi: _interfaces.erc721contract }, params)));_initialiseProps.call(_this);return _this; - }(0, _createClass3.default)(ERC721Contract, [{ key: 'exists', - - - - - - - - - - - - /** - * @function - * @description Verify if token ID exists - * @returns {Integer} Token Id - */value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref2) {var - tokenID = _ref2.tokenID;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - this.params.contract. - getContract(). - methods.exists(tokenID). - call());case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function exists(_x2) {return _ref.apply(this, arguments);}return exists;}() - - - /** - * @function - * @description Verify what is the getURITokenID - * @returns {String} URI - */ }, { key: 'getURITokenID', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref4) {var - tokenID = _ref4.tokenID;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - this.params.contract. - getContract(). - methods.tokenURI(tokenID). - call());case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, this);}));function getURITokenID(_x3) {return _ref3.apply(this, arguments);}return getURITokenID;}() - - - /** - * @function - * @description Verify what is the baseURI - * @returns {String} URI - */ }, { key: 'baseURI', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.params.contract.getContract().methods.baseURI().call());case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, this);}));function baseURI() {return _ref5.apply(this, arguments);}return baseURI;}() - - - /** - * @function - * @description Get name - * @returns {String} Name - */ }, { key: 'name', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.params.contract.getContract().methods.name().call());case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function name() {return _ref6.apply(this, arguments);}return name;}() - - - /** - * @function - * @description Get Symbol - * @returns {String} Symbol - */ }, { key: 'symbol', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - - this.params.contract.getContract().methods.symbol().call());case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, this);}));function symbol() {return _ref7.apply(this, arguments);}return symbol;}() - - - /** - * @function - * @description Set Base Token URI - */ }, { key: 'mint', - - - - - /** - * @function - * @description Mint created TokenID - * @param {Object} params - * @param {Address} to Address to send to - * @param {Integer} tokenId Token Id to use - */value: function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref9) {var - to = _ref9.to,tokenId = _ref9.tokenId;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.mint(to, tokenId)));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function mint(_x4) {return _ref8.apply(this, arguments);}return mint;}() - - - - /** - * @function - * @description Approve Use of TokenID - * @param {Object} params - * @param {Address} to Address to send to - * @param {Integer} tokenId Token Id to use - */ }, { key: 'approve', value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref11) {var - to = _ref11.to,tokenId = _ref11.tokenId;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.approve(to, tokenId)));case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, this);}));function approve(_x5) {return _ref10.apply(this, arguments);}return approve;}() - - - - /** - * @function - * @description Approve All Use - * @param {Object} params - * @param {Address} to Address to approve to - * @param {Bool} approve If to approve or disapprove - */ }, { key: 'setApprovalForAll', value: function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref13) {var - to = _ref13.to,_ref13$approve = _ref13.approve,approve = _ref13$approve === undefined ? true : _ref13$approve;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.setApprovalForAll(to, approve)));case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, this);}));function setApprovalForAll(_x6) {return _ref12.apply(this, arguments);}return setApprovalForAll;}() - - - - /** - * @function - * @description Approve All Use - * @param {Object} params - * @param {Address} from Address to approve from - * @param {Address} to Address to approve to - */ }, { key: 'isApprovedForAll', value: function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref15) {var - from = _ref15.from,to = _ref15.to;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return ( - this.params.contract. - getContract(). - methods.isApprovedForAll(from, to). - call());case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, this);}));function isApprovedForAll(_x7) {return _ref14.apply(this, arguments);}return isApprovedForAll;}() }]);return ERC721Contract;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() {return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:if (_this2.getAddress()) {_context10.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.erc721contract, _this2.getAddress());case 3:case 'end':return _context10.stop();}}}, _callee10, _this2);}));this.setBaseTokenURI = function () {var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref18) {var URI = _ref18.URI;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setBaseURI(URI));case 2:return _context11.abrupt('return', _context11.sent);case 3:case 'end':return _context11.stop();}}}, _callee11, _this2);}));return function (_x8) {return _ref17.apply(this, arguments);};}();this. - - - deploy = function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref20) {var name = _ref20.name,symbol = _ref20.symbol,callback = _ref20.callback;var params, res;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:if ( - name) {_context12.next = 2;break;}throw ( - new Error('Please provide a name'));case 2:if ( - - - symbol) {_context12.next = 4;break;}throw ( - new Error('Please provide a symbol'));case 4: - - params = [name, symbol];_context12.next = 7;return ( - _this2.__deploy(params, callback));case 7:res = _context12.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context12.next = 11;return ( - _this2.__assert());case 11:return _context12.abrupt('return', - res);case 12:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x9) {return _ref19.apply(this, arguments);};}();};exports.default = - - - -ERC721Contract; \ No newline at end of file diff --git a/build/models/ERC721/ERC721Standard.js b/build/models/ERC721/ERC721Standard.js deleted file mode 100644 index 4847b90e..00000000 --- a/build/models/ERC721/ERC721Standard.js +++ /dev/null @@ -1,115 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} -/** - * ERC721Contract Object - * @class ERC721Contract - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) - */var - -ERC721Standard = function (_IContract) {(0, _inherits3.default)(ERC721Standard, _IContract); - function ERC721Standard() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, ERC721Standard);var _this = (0, _possibleConstructorReturn3.default)(this, (ERC721Standard.__proto__ || (0, _getPrototypeOf2.default)(ERC721Standard)).call(this, (0, _extends3.default)({ - abi: _interfaces.erc721standard }, params)));_initialiseProps.call(_this);return _this; - }(0, _createClass3.default)(ERC721Standard, [{ key: 'exists', - - - - - - - - - - - - /** - * @function - * @description Verify if token ID exists - * @returns {Integer} Token Id - */value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref2) {var - tokenID = _ref2.tokenID;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - this.params.contract. - getContract(). - methods.exists(tokenID). - call());case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function exists(_x2) {return _ref.apply(this, arguments);}return exists;}() - - - /** - * @function - * @description Verify what is the getURITokenID - * @returns {String} URI - */ }, { key: 'getURITokenID', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref4) {var - tokenID = _ref4.tokenID;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - this.params.contract. - getContract(). - methods.tokenURI(tokenID). - call());case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, this);}));function getURITokenID(_x3) {return _ref3.apply(this, arguments);}return getURITokenID;}() - - - /** - * @function - * @description Verify what is the baseURI - * @returns {String} URI - */ }, { key: 'baseURI', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.params.contract.getContract().methods.baseURI().call());case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, this);}));function baseURI() {return _ref5.apply(this, arguments);}return baseURI;}() - - - /** - * @function - * @description Get name - * @returns {String} Name - */ }, { key: 'name', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.params.contract.getContract().methods.name().call());case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function name() {return _ref6.apply(this, arguments);}return name;}() - - - /** - * @function - * @description Get Symbol - * @returns {String} Symbol - */ }, { key: 'symbol', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - - this.params.contract.getContract().methods.symbol().call());case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, this);}));function symbol() {return _ref7.apply(this, arguments);}return symbol;}() - - - /** - * @function - * @description Set Base Token URI - */ }, { key: 'mint', - - - - - /** - * @function - * @description Mint created TokenID - * @param {Address} to - * @param {Integer} tokenID - */value: function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref9) {var - tokenID = _ref9.tokenID;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.mint(tokenID)));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function mint(_x4) {return _ref8.apply(this, arguments);}return mint;}() }]);return ERC721Standard;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7() {return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:if (_this2.getAddress()) {_context7.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(erc721collectibles, _this2.getAddress());case 3:case 'end':return _context7.stop();}}}, _callee7, _this2);}));this.setBaseTokenURI = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref12) {var URI = _ref12.URI;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setBaseURI(URI));case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x5) {return _ref11.apply(this, arguments);};}();this. - - - - deploy = function () {var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref14) {var name = _ref14.name,symbol = _ref14.symbol,callback = _ref14.callback;var params, res;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:if ( - name) {_context9.next = 2;break;}throw ( - new Error('Please provide a name'));case 2:if ( - - - symbol) {_context9.next = 4;break;}throw ( - new Error('Please provide a symbol'));case 4: - - params = [name, symbol];_context9.next = 7;return ( - _this2.__deploy(params, callback));case 7:res = _context9.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context9.next = 11;return ( - _this2.__assert());case 11:return _context9.abrupt('return', - res);case 12:case 'end':return _context9.stop();}}}, _callee9, _this2);}));return function (_x6) {return _ref13.apply(this, arguments);};}();};exports.default = - - - - -ERC721Standard; \ No newline at end of file diff --git a/build/models/IContract.js b/build/models/IContract.js deleted file mode 100644 index 91a7dab7..00000000 --- a/build/models/IContract.js +++ /dev/null @@ -1,302 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _promise = require('babel-runtime/core-js/promise');var _promise2 = _interopRequireDefault(_promise);var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _Contract = require('../utils/Contract');var _Contract2 = _interopRequireDefault(_Contract);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * Contract Object Interface - * @class IContract - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) - * @param {ABI} abi - * @param {Account} acc ? (opt) - * @param {Address} tokenAddress ? (opt) - */var - -IContract = function () { - function IContract(_ref) - - - - - - {var web3 = _ref.web3,_ref$contractAddress = _ref.contractAddress,contractAddress = _ref$contractAddress === undefined ? null : _ref$contractAddress,abi = _ref.abi,acc = _ref.acc,tokenAddress = _ref.tokenAddress;(0, _classCallCheck3.default)(this, IContract);_initialiseProps.call(this); - try { - if (!abi) { - throw new Error('No ABI Interface provided'); - } - if (!web3) { - throw new Error('Please provide a valid web3 provider'); - } - - this.web3 = web3; - - if (acc) { - this.acc = acc; - } - this.params = { - web3: web3, - abi: abi, - contractAddress: contractAddress, - tokenAddress: tokenAddress, - contract: new _Contract2.default(web3, abi, contractAddress) }; - - } catch (err) { - throw err; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Deploy the Contract - */(0, _createClass3.default)(IContract, [{ key: 'getWeb3Contract', - - - - - - - - - - /** - * @function - * @description Get Web3 Contract to interact directly with the web3 library functions like events (https://web3js.readthedocs.io/en/v1.2.11/web3-eth-contract.html?highlight=events#contract-events) - */value: function getWeb3Contract() - { - return this.params.contract.getContract(); - } - - /** - * @function - * @description Set New Owner of the Contract - * @param {string} address - */ }, { key: 'setNewOwner', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref3) {var - address = _ref3.address;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.transferOwnership(address)));case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function setNewOwner(_x) {return _ref2.apply(this, arguments);}return setNewOwner;}() - - - - /** - * @function - * @description Get Owner of the Contract - * @returns {string} address - */ }, { key: 'owner', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.params.contract.getContract().methods.owner().call());case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, this);}));function owner() {return _ref4.apply(this, arguments);}return owner;}() - - - /** - * @function - * @description Get Owner of the Contract - * @returns {boolean} - */ }, { key: 'isPaused', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.params.contract.getContract().methods.paused().call());case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, this);}));function isPaused() {return _ref5.apply(this, arguments);}return isPaused;}() - - - /** - * @function - * @type admin - * @description Pause Contract - */ }, { key: 'pauseContract', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.pause()));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function pauseContract() {return _ref6.apply(this, arguments);}return pauseContract;}() - - - - /** - * @function - * @type admin - * @description Unpause Contract - */ }, { key: 'unpauseContract', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5() {return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.unpause()));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, this);}));function unpauseContract() {return _ref7.apply(this, arguments);}return unpauseContract;}() - - - - /* Optional */ - - /** - * @function - * @description Remove Tokens from other ERC20 Address (in case of accident) - * @param {Address} tokenAddress - * @param {Address} toAddress - */ }, { key: 'removeOtherERC20Tokens', value: function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref9) {var - tokenAddress = _ref9.tokenAddress,toAddress = _ref9.toAddress;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.removeOtherERC20Tokens(tokenAddress, toAddress)));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function removeOtherERC20Tokens(_x2) {return _ref8.apply(this, arguments);}return removeOtherERC20Tokens;}() - - - - /** - * @function - * @description Remove all tokens for the sake of bug or problem in the smart contract, contract has to be paused first, only Admin - * @param {Address} toAddress - */ }, { key: 'safeGuardAllTokens', value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref11) {var - toAddress = _ref11.toAddress;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.safeGuardAllTokens(toAddress)));case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, this);}));function safeGuardAllTokens(_x3) {return _ref10.apply(this, arguments);}return safeGuardAllTokens;}() - - - - /** - * @function - * @description Change Token Address of Application - * @param {Address} newTokenAddress - */ }, { key: 'changeTokenAddress', value: function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref13) {var - newTokenAddress = _ref13.newTokenAddress;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.changeTokenAddress(newTokenAddress)));case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, this);}));function changeTokenAddress(_x4) {return _ref12.apply(this, arguments);}return changeTokenAddress;}() - - - - /** - * @function - * @description Get Balance of Contract - * @param {Integer} Balance - */ }, { key: 'getAddress', value: function getAddress() - { - return this.params.contractAddress; - } - - /** - * @function - * @description Get Balance of Contract - * @param {Integer} Balance - */ }, { key: 'getBalance', value: function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() {var wei;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return ( - - this.web3.eth.getBalance(this.getAddress()));case 2:wei = _context9.sent;return _context9.abrupt('return', - this.web3.utils.fromWei(wei, 'ether'));case 4:case 'end':return _context9.stop();}}}, _callee9, this);}));function getBalance() {return _ref14.apply(this, arguments);}return getBalance;}() - - - /** - * @function - * @description Get contract current user/sender address - * @param {Address} User address - */ }, { key: 'getUserAddress', value: function () {var _ref15 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() {var accounts;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:if (! - - this.acc) {_context10.next = 2;break;}return _context10.abrupt('return', this.acc.getAddress());case 2:_context10.next = 4;return ( - - this.params.web3.eth.getAccounts());case 4:accounts = _context10.sent;return _context10.abrupt('return', - accounts[0]);case 6:case 'end':return _context10.stop();}}}, _callee10, this);}));function getUserAddress() {return _ref15.apply(this, arguments);}return getUserAddress;}() - - - /** - * @function - * @description Verify that current user/sender is admin, throws an error otherwise - * @throws {Error} - */ }, { key: 'onlyOwner', value: function () {var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() {var adminAddress, userAddress, isAdmin;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return ( - - - this.owner());case 2:adminAddress = _context11.sent;_context11.next = 5;return ( - this.getUserAddress());case 5:userAddress = _context11.sent; - isAdmin = adminAddress === userAddress;if ( - isAdmin) {_context11.next = 9;break;}throw ( - new Error('Only admin can perform this operation'));case 9:case 'end':return _context11.stop();}}}, _callee11, this);}));function onlyOwner() {return _ref16.apply(this, arguments);}return onlyOwner;}() - - - - /** - * @function - * @description Verify that contract is not paused before sending a transaction, throws an error otherwise - * @throws {Error} - */ }, { key: 'whenNotPaused', value: function () {var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() {var paused;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.next = 2;return ( - - - this.isPaused());case 2:paused = _context12.sent;if (! - paused) {_context12.next = 5;break;}throw ( - new Error('Contract is paused'));case 5:case 'end':return _context12.stop();}}}, _callee12, this);}));function whenNotPaused() {return _ref17.apply(this, arguments);}return whenNotPaused;}() }]);return IContract;}();var _initialiseProps = function _initialiseProps() {var _this = this;this.__init__ = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13() {return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.prev = 0;if (_this.getAddress()) {_context13.next = 3;break;}throw new Error('Please add a Contract Address');case 3:_context13.next = 5;return _this.__assert();case 5:_context13.next = 10;break;case 7:_context13.prev = 7;_context13.t0 = _context13['catch'](0);throw _context13.t0;case 10:case 'end':return _context13.stop();}}}, _callee13, _this, [[0, 7]]);}));this.__metamaskCall = function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref20) {var f = _ref20.f,acc = _ref20.acc,value = _ref20.value,_ref20$callback = _ref20.callback,callback = _ref20$callback === undefined ? function () {} : _ref20$callback;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:return _context14.abrupt('return', new _promise2.default(function (resolve, reject) {f.send({ from: acc, value: value, gasPrice: 5000000000, // temp test - gas: 5913388 // 6721975 //temp test - }).on('confirmation', function (confirmationNumber, receipt) {callback(confirmationNumber);if (confirmationNumber > 0) {resolve(receipt);}}).on('error', function (err) {reject(err);});}));case 1:case 'end':return _context14.stop();}}}, _callee14, _this);}));return function (_x5) {return _ref19.apply(this, arguments);};}();this.__sendTx = function () {var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(f) {var call = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;var value = arguments[2];var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};var res, accounts, data;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.prev = 0;res = void 0;if (!(!_this.acc && !call)) {_context15.next = 11;break;}_context15.next = 5;return _this.params.web3.eth.getAccounts();case 5:accounts = _context15.sent;_context15.next = 8;return _this.__metamaskCall({ f: f, acc: accounts[0], value: value, callback: callback });case 8:res = _context15.sent;_context15.next = 27;break;case 11:if (!(_this.acc && !call)) {_context15.next = 18;break;}data = f.encodeABI();_context15.next = 15;return _this.params.contract.send(_this.acc.getAccount(), data, value).catch(function (err) {throw err;});case 15:res = _context15.sent;_context15.next = 27;break;case 18:if (!(_this.acc && call)) {_context15.next = 24;break;}_context15.next = 21;return f.call({ from: _this.acc.getAddress() }).catch(function (err) {throw err;});case 21:res = _context15.sent;_context15.next = 27;break;case 24:_context15.next = 26;return f.call().catch(function (err) {throw err;});case 26:res = _context15.sent;case 27:return _context15.abrupt('return', res);case 30:_context15.prev = 30;_context15.t0 = _context15['catch'](0);throw _context15.t0;case 33:case 'end':return _context15.stop();}}}, _callee15, _this, [[0, 30]]);}));return function (_x6) {return _ref21.apply(this, arguments);};}();this.__deploy = function () {var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(params, callback) {return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return _this.params.contract.deploy(_this.acc, _this.params.contract.getABI(), _this.params.contract.getJSON().bytecode, params, callback);case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, _this);}));return function (_x9, _x10) {return _ref22.apply(this, arguments);};}();this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17() {return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:if (_this.getAddress()) {_context17.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this.params.contract.use(_this.params.abi, _this.getAddress());case 3:case 'end':return _context17.stop();}}}, _callee17, _this);}));this.deploy = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(_ref25) {var callback = _ref25.callback;var params, res;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:params = [];_context18.next = 3;return _this.__deploy(params, callback);case 3:res = _context18.sent;_this.params.contractAddress = res.contractAddress; /* Call to Backend API */_context18.next = 7;return _this.__assert();case 7:return _context18.abrupt('return', res);case 8:case 'end':return _context18.stop();}}}, _callee18, _this);}));return function (_x11) {return _ref24.apply(this, arguments);};}();};exports.default = - - -IContract; \ No newline at end of file diff --git a/build/models/PredictionMarkets/ExchangeContract.js b/build/models/PredictionMarkets/ExchangeContract.js deleted file mode 100644 index 98eec2e4..00000000 --- a/build/models/PredictionMarkets/ExchangeContract.js +++ /dev/null @@ -1,365 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * Exchange Contract Object - * @class ExchangeContract - * @param {Web3} web3 - * @param {Address} tokenAddress - * @param {Integer} decimals - * @param {Address} contractAddress ? (opt) - */var - -ExchangeContract = function (_IContract) {(0, _inherits3.default)(ExchangeContract, _IContract); - function ExchangeContract(params) {(0, _classCallCheck3.default)(this, ExchangeContract);var _this = (0, _possibleConstructorReturn3.default)(this, (ExchangeContract.__proto__ || (0, _getPrototypeOf2.default)(ExchangeContract)).call(this, (0, _extends3.default)({ - abi: _interfaces.exchange }, params)));_initialiseProps.call(_this);return _this; - } - - /* Get Functions */ - /** - * @function - * @description Get Events - * @returns {Integer | Array} Get Events ID - */(0, _createClass3.default)(ExchangeContract, [{ key: 'getEvents', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {var res;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.params.contract. - getContract(). - methods.getEvents(). - call());case 2:res = _context.sent;return _context.abrupt('return', - res.map(function (id) {return _Numbers2.default.fromHex(id);}));case 4:case 'end':return _context.stop();}}}, _callee, this);}));function getEvents() {return _ref.apply(this, arguments);}return getEvents;}() - - - /** - * @function - * @description Get Events - * @returns {Integer | Array} Get Events ID - */ }, { key: 'getMyEvents', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {var res;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.getMyEvents(), - true));case 2:res = _context2.sent;return _context2.abrupt('return', - - res.map(function (id) {return _Numbers2.default.fromHex(id);}));case 4:case 'end':return _context2.stop();}}}, _callee2, this);}));function getMyEvents() {return _ref2.apply(this, arguments);}return getMyEvents;}() - - - /** - * @function - * @description Get EventData - * @param {Integer} event_id - * @returns {String} Event Name - * @returns {Integer} Result Id - * @returns {String} URL Oracle - * @returns {Boolean} Is Resolved - */ }, { key: 'getEventData', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref4) {var - event_id = _ref4.event_id;var r;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.getEventData(event_id), - true));case 2:r = _context3.sent;return _context3.abrupt('return', - - - { - name: r[0], - _resultId: _Numbers2.default.fromHex(r[1]), - urlOracle: r[2], - isResolved: r[3] });case 4:case 'end':return _context3.stop();}}}, _callee3, this);}));function getEventData(_x) {return _ref3.apply(this, arguments);}return getEventData;}() - - - - /** - * @function - * @description Get My Event Holdings - * @param {Integer} event_id - * @returns {Integer} 1 In Pool Balances - * @returns {Integer} 1 Out Pool Balances - * @returns {Integer} 1 Liquidity Balances - * @returns {Integer} 2 In Pool Balances - * @returns {Integer} 2 Out Pool Balances - * @returns {Integer} 2 Liquidity Balances - */ }, { key: 'getMyEventHoldings', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref6) {var - - event_id = _ref6.event_id;var r;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - this.__sendTx( - this.params.contract.getContract().methods.getMyEventHoldings(event_id), - true));case 2:r = _context4.sent;return _context4.abrupt('return', - - - { - inPoolBalancesA: r[0], - outPoolBalancesA: r[1], - liquidityA: r[2], - inPoolBalancesB: r[3], - outPoolBalancesB: r[4], - liquidityB: r[5] });case 4:case 'end':return _context4.stop();}}}, _callee4, this);}));function getMyEventHoldings(_x2) {return _ref5.apply(this, arguments);}return getMyEventHoldings;}() - - - - /** - * @function - * @description Get Result Space Data - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @returns {Integer} _id - * @returns {Integer} _resultId - * @returns {Integer} pool - * @returns {Integer} cost - * @returns {Integer} odd - * @returns {Integer} amount - * @returns {Integer} inPool - * @returns {Integer} outPool - * @returns {Integer} fees - * @returns {Integer} liqAmount - */ }, { key: 'getResultSpaceData', value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref8) {var - - event_id = _ref8.event_id,resultSpace_id = _ref8.resultSpace_id;var r;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.getResultSpaceData(event_id, resultSpace_id), - true));case 2:r = _context5.sent;return _context5.abrupt('return', - - - { - _id: _Numbers2.default.fromHex(r[0]), - _resultId: _Numbers2.default.fromHex(r[1]), - pool: _Numbers2.default.fromDecimals(r[2], 18), - cost: _Numbers2.default.fromDecimals(r[3], 7), - odd: _Numbers2.default.fromDecimals(r[4], 4), - amount: _Numbers2.default.fromDecimals(r[5], 7), - inPool: _Numbers2.default.fromDecimals(r[6], 7), - outPool: _Numbers2.default.fromDecimals(r[7], 7), - fees: _Numbers2.default.fromDecimals(r[8], 7), - liqAmount: _Numbers2.default.fromDecimals(r[9], 7) });case 4:case 'end':return _context5.stop();}}}, _callee5, this);}));function getResultSpaceData(_x3) {return _ref7.apply(this, arguments);}return getResultSpaceData;}() - - - - /** - * @function - * @description To see if Event is open - * @returns {Boolean} - */ }, { key: 'isEventOpen', value: function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6() {return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - - this.params.contract. - getContract(). - methods.isEventOpen(). - call());case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function isEventOpen() {return _ref9.apply(this, arguments);}return isEventOpen;}() - - - /** - * @function - * @description Get Fractions Cost - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @return {Integer} cost - */ }, { key: 'getFractionsCost', value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref11) {var - - event_id = _ref11.event_id,resultSpace_id = _ref11.resultSpace_id,fractions_amount = _ref11.fractions_amount;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.t0 = - _Numbers2.default;_context7.next = 3;return ( - this.__sendTx( - this.params.contract. - getContract(). - methods.getFractionsCost(event_id, resultSpace_id, fractions_amount), - true));case 3:_context7.t1 = _context7.sent;return _context7.abrupt('return', _context7.t0.fromDecimals.call(_context7.t0, _context7.t1, - - 18));case 5:case 'end':return _context7.stop();}}}, _callee7, this);}));function getFractionsCost(_x4) {return _ref10.apply(this, arguments);}return getFractionsCost;}() - - - - /** - * @function - * @description Get Slipage on Buy - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @returns {Integer} _id - */ }, { key: 'getSlipageOnBuy', value: function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref13) {var - event_id = _ref13.event_id,resultSpace_id = _ref13.resultSpace_id,fractions_amount = _ref13.fractions_amount;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return ( - this.params.contract. - getContract(). - methods.getSlipageOnBuy(event_id, resultSpace_id, fractions_amount). - call());case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, this);}));function getSlipageOnBuy(_x5) {return _ref12.apply(this, arguments);}return getSlipageOnBuy;}() - - - /** - * @function - * @description Get Slipage on Sell - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @returns {Integer} _id - */ }, { key: 'getSlipageOnSell', value: function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref15) {var - event_id = _ref15.event_id,resultSpace_id = _ref15.resultSpace_id,fractions_amount = _ref15.fractions_amount;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return ( - this.params.contract. - getContract(). - methods.getSlipageOnSell(event_id, resultSpace_id, fractions_amount). - call());case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, this);}));function getSlipageOnSell(_x6) {return _ref14.apply(this, arguments);}return getSlipageOnSell;}() - - - /* POST User Functions */ - - /** - * @function - * @description Create an Event - * @param {Integer | Array} _resultSpaceIds - * @param {String} urlOracle - * @param {String} eventName - */ - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Resolve Event - * @param {Integer} event_id - * @param {Integer} resultSpace_id - */ - - - - - - - - - /** - * @function - * @description Add Liquidity - * @param {Integer} eventId - */ - - - - - - - - - - - /** - * @function - * @description Remove Liquidity - * @param {Integer} eventId - */ - - - - - - /** - * @function - * @description Buy Fractions - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Sell Fractions - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - - - - - - - /** - * @function - * @description Take Fractions out of the pool - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - - - - - - - /** - * @function - * @description Move Fractions to the Pool - * @param {Integer} eventId - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - - - - - - - /** - * @function - * @description Withdraw Wins on end of Event - * @param {Integer} event_id - * @param {Integer} resultSpace_id - */ - - - - - - - - /** - * @function - * @description Deploy the Pool Contract - */ }]);return ExchangeContract;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.createEvent = function () {var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(_ref17) {var resultSpaceIds = _ref17.resultSpaceIds,urlOracle = _ref17.urlOracle,eventName = _ref17.eventName,_ref17$ethAmount = _ref17.ethAmount,ethAmount = _ref17$ethAmount === undefined ? 0 : _ref17$ethAmount;var ETHToWei;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:if (!(ethAmount == 0)) {_context10.next = 2;break;}throw new Error('Eth Amount has to be > 0');case 2:ETHToWei = _Numbers2.default.toSmartContractDecimals(ethAmount, 18);_context10.next = 5;return _this2.__sendTx(_this2.params.contract.getContract().methods.createEvent(resultSpaceIds, urlOracle, eventName), false, ETHToWei);case 5:return _context10.abrupt('return', _context10.sent);case 6:case 'end':return _context10.stop();}}}, _callee10, _this2);}));return function (_x7) {return _ref16.apply(this, arguments);};}();this.resolveEvent = function () {var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref19) {var event_id = _ref19.event_id,resultSpace_id = _ref19.resultSpace_id;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.resolveEvent(event_id, resultSpace_id));case 2:return _context11.abrupt('return', _context11.sent);case 3:case 'end':return _context11.stop();}}}, _callee11, _this2);}));return function (_x8) {return _ref18.apply(this, arguments);};}();this.addLiquidity = function () {var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref21) {var event_id = _ref21.event_id,ethAmount = _ref21.ethAmount;var ETHToWei;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:ETHToWei = _Numbers2.default.toSmartContractDecimals(ethAmount, 18);_context12.next = 3;return _this2.__sendTx(_this2.params.contract.getContract().methods.addLiquidity(event_id), false, ETHToWei);case 3:return _context12.abrupt('return', _context12.sent);case 4:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x9) {return _ref20.apply(this, arguments);};}();this.removeLiquidity = function () {var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref23) {var event_id = _ref23.event_id;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.removeLiquidity(event_id));case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, _this2);}));return function (_x10) {return _ref22.apply(this, arguments);};}();this.buy = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref25) {var event_id = _ref25.event_id,resultSpace_id = _ref25.resultSpace_id,fractions_amount = _ref25.fractions_amount;var ETHCost, ETHToWei;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0: // eslint-disable-next-line no-param-reassign - fractions_amount = _Numbers2.default.toSmartContractDecimals(fractions_amount, 7);_context14.next = 3;return _this2.getFractionsCost({ event_id: event_id, resultSpace_id: resultSpace_id, fractions_amount: fractions_amount });case 3:ETHCost = _context14.sent;ETHToWei = _Numbers2.default.toSmartContractDecimals(ETHCost, 18);_context14.next = 7;return _this2.__sendTx(_this2.params.contract.getContract().methods.buy(event_id, resultSpace_id, fractions_amount), false, ETHToWei);case 7:return _context14.abrupt('return', _context14.sent);case 8:case 'end':return _context14.stop();}}}, _callee14, _this2);}));return function (_x11) {return _ref24.apply(this, arguments);};}();this.sell = function () {var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(_ref27) {var event_id = _ref27.event_id,resultSpace_id = _ref27.resultSpace_id,fractions_amount = _ref27.fractions_amount;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.sell(event_id, resultSpace_id, fractions_amount));case 2:return _context15.abrupt('return', _context15.sent);case 3:case 'end':return _context15.stop();}}}, _callee15, _this2);}));return function (_x12) {return _ref26.apply(this, arguments);};}();this.pullFractions = function () {var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(_ref29) {var event_id = _ref29.event_id,resultSpace_id = _ref29.resultSpace_id,fractions_amount = _ref29.fractions_amount;return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.pullFractions(event_id, resultSpaceId, fractions_amount));case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, _this2);}));return function (_x13) {return _ref28.apply(this, arguments);};}();this.pushFractions = function () {var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_ref31) {var event_id = _ref31.event_id,resultSpace_id = _ref31.resultSpace_id,fractions_amount = _ref31.fractions_amount;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.pushFractions(event_id, resultSpace_id, fractions_amount));case 2:return _context17.abrupt('return', _context17.sent);case 3:case 'end':return _context17.stop();}}}, _callee17, _this2);}));return function (_x14) {return _ref30.apply(this, arguments);};}();this.withdrawWins = function () {var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(_ref33) {var event_id = _ref33.event_id,resultSpace_id = _ref33.resultSpace_id;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:_context18.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.withdrawWins(event_id, resultSpace_id));case 2:return _context18.abrupt('return', _context18.sent);case 3:case 'end':return _context18.stop();}}}, _callee18, _this2);}));return function (_x15) {return _ref32.apply(this, arguments);};}();this. - deploy = function () {var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(_ref35) {var callback = _ref35.callback;var params, res;return _regenerator2.default.wrap(function _callee19$(_context19) {while (1) {switch (_context19.prev = _context19.next) {case 0: - params = [];_context19.next = 3;return ( - _this2.__deploy(params, callback));case 3:res = _context19.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */ - _this2.__assert();return _context19.abrupt('return', - res);case 7:case 'end':return _context19.stop();}}}, _callee19, _this2);}));return function (_x16) {return _ref34.apply(this, arguments);};}();};exports.default = - - - -ExchangeContract; \ No newline at end of file diff --git a/build/models/Staking/StakingContract.js b/build/models/Staking/StakingContract.js deleted file mode 100644 index 6f33646e..00000000 --- a/build/models/Staking/StakingContract.js +++ /dev/null @@ -1,432 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _promise = require('babel-runtime/core-js/promise');var _promise2 = _interopRequireDefault(_promise);var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _ERC20Contract = require('../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * Staking Contract Object - * @class StakingContract - * @param {Object} params - * @param {Address} params.tokenAddress - */var - -StakingContract = function (_IContract) {(0, _inherits3.default)(StakingContract, _IContract); - function StakingContract() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, StakingContract); - try {var _this = (0, _possibleConstructorReturn3.default)(this, (StakingContract.__proto__ || (0, _getPrototypeOf2.default)(StakingContract)).call(this, (0, _extends3.default)({}, - params, { abi: _interfaces.staking })));_initialiseProps.call(_this); - if (params.tokenAddress) { - _this.params.ERC20Contract = new _ERC20Contract2.default({ - web3: params.web3, - contractAddress: params.tokenAddress, - acc: params.acc }); - - } - } catch (err) { - throw err; - }return _this; - } - - /** - * @function - * @description Get ERC20 Address of the Contract - * @returns {Address} - */(0, _createClass3.default)(StakingContract, [{ key: 'erc20', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.erc20(), - true));case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function erc20() {return _ref.apply(this, arguments);}return erc20;}() - - - - /** - * @function - * @description Get Token Amount of ERC20 Address - * @returns {Address} - */ }, { key: 'futureLockedTokens', - - - /** - * @function - * @description Get All Tokens Locked for the APR - * @returns {Integer} - */value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {var res;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.futureLockedTokens(), - true));case 2:res = _context2.sent;return _context2.abrupt('return', - - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context2.stop();}}}, _callee2, this);}));function futureLockedTokens() {return _ref2.apply(this, arguments);}return futureLockedTokens;}() - - - /** - * @function - * @description Get All Tokens Available for the Subscription Amount - * @returns {Integer} - */ }, { key: 'availableTokens', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3() {var res;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.availableTokens(), - true));case 2:res = _context3.sent;return _context3.abrupt('return', - - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context3.stop();}}}, _callee3, this);}));function availableTokens() {return _ref3.apply(this, arguments);}return availableTokens;}() - - - /** - * @function - * @description Get All Tokens Held in Stake at that specific moment - * @returns {Integer} - */ }, { key: 'heldTokens', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4() {var res;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.heldTokens(), - true));case 2:res = _context4.sent;return _context4.abrupt('return', - - _Numbers2.default.fromDecimals(res, this.getERC20Contract().getDecimals()));case 4:case 'end':return _context4.stop();}}}, _callee4, this);}));function heldTokens() {return _ref4.apply(this, arguments);}return heldTokens;}() - - - /** - * @function - * @description Get APR Amount based on amount of timestamp, amount and APR of that product - * @param {Integer} APR - * @param {Date} startDate - * @param {Date} endDate - * @param {Integer} amount Token Amount - * @returns {Integer} - */ }, { key: 'createProduct', - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description createProduct - * @param {Date} startDate - * @param {Date} endDate - * @param {Integer} totalMaxAmount - * @param {Integer} individualMinimumAmount - * @param {Integer} APR - * @param {Boolean} lockedUntilFinalization - */value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref6) {var - - - startDate = _ref6.startDate, - endDate = _ref6.endDate, - totalMaxAmount = _ref6.totalMaxAmount, - individualMinimumAmount = _ref6.individualMinimumAmount, - APR = _ref6.APR, - lockedUntilFinalization = _ref6.lockedUntilFinalization;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.createProduct( - _Numbers2.default.timeToSmartContractTime(startDate), - _Numbers2.default.timeToSmartContractTime(endDate), - _Numbers2.default.toSmartContractDecimals( - totalMaxAmount, - this.getERC20Contract().getDecimals()), - - _Numbers2.default.toSmartContractDecimals( - individualMinimumAmount, - this.getERC20Contract().getDecimals()), - - APR, - lockedUntilFinalization)));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, this);}));function createProduct(_x2) {return _ref5.apply(this, arguments);}return createProduct;}() - - - - - /** - * @function - * @description Get All Available Products - * @returns {Array | Integer} ids - */ - - - - - - /** - * @function - * @description Get Subscription from product - * @param {Integer} product_id - * @returns {Date} createdAt - * @returns {Date} startDate - * @returns {Date} endDate - * @returns {Integer} totalMaxAmount - * @returns {Integer} individualMinimumAmount - * @returns {Integer} APR - * @returns {Integer} currentAmount - * @returns {Boolean} lockedUntilFinalization - * @returns {Array | Address} subscribers - * @returns {Array | Integer} subscriptionIds - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Approve ERC20 Allowance for Transfer for Subscribe Product - */ - - - - - - - - - - - - /** - * @function - * @description Subscribe to a product Staking - * @param {Integer} product_id - * @param {Integer} amount - * @returns {Boolean} Success - */ - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Get Subscription from product - * @param {Integer} product_id - * @param {Integer} subscription_id - * @returns {Integer} _id - * @returns {Integer} productId - * @returns {Date} startDate - * @returns {Date} endDate - * @returns {Address} subscriberAddress - * @returns {Integer} APR - * @returns {Boolean} finalized - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Withdraw Subscription to a product Staking - * @param {Integer} product_id - * @param {Integer} subscription_id - */ - - - - - - - /** - * @function - * @description Get Subscriptions by Address - * @param {Address} address - * @returns {Array | Integer} subscriptions_ids - */ - - - - - - - - - /** - * @function - * @description Get All Subscriptions done - * @returns {Array | Subscription} subscriptions - */ }, { key: 'depositAPRTokensByAdmin', - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Transfer Tokens by the Admin to ensure APR Amount - * @param {Integer} amount - */value: function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref8) {var - amount = _ref8.amount;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - this.getERC20Contract().transferTokenAmount({ - toAddress: this.getAddress(), - tokenAmount: amount }));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function depositAPRTokensByAdmin(_x3) {return _ref7.apply(this, arguments);}return depositAPRTokensByAdmin;}() - - - - /** - * @function - * @description Get Total Amount of tokens needed to be deposited by Admin to ensure APR for all available Products - * @return {Integer} Amount - */ - - - - - - - - - - - - - - - - - - - - - - - /** - * @override - */ - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @override - * @description Deploy the Staking Contract - */ }]);return StakingContract;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.getTokenAmount = function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref10) {var address = _ref10.address;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.getERC20Contract().getTokenAmount(address);case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x4) {return _ref9.apply(this, arguments);};}();this.getAPRAmount = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref12) {var APR = _ref12.APR,startDate = _ref12.startDate,endDate = _ref12.endDate,amount = _ref12.amount;var res;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getAPRAmount(APR, _Numbers2.default.timeToSmartContractTime(startDate), _Numbers2.default.timeToSmartContractTime(endDate), _Numbers2.default.toSmartContractDecimals(amount, _this2.getERC20Contract().getDecimals())), true);case 2:res = _context8.sent;return _context8.abrupt('return', _Numbers2.default.fromDecimals(res, _this2.getERC20Contract().getDecimals()));case 4:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x5) {return _ref11.apply(this, arguments);};}();this.getProducts = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() {return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getProductIds(), true);case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, _this2);}));this.getProduct = function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(_ref15) {var product_id = _ref15.product_id;var res;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getProduct(product_id), true);case 2:res = _context10.sent;return _context10.abrupt('return', { _id: product_id, createdAt: _Numbers2.default.fromSmartContractTimeToMinutes(res[0]), startDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[1]), endDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[2]), totalMaxAmount: _Numbers2.default.fromDecimals(res[3], _this2.getERC20Contract().getDecimals()), individualMinimumAmount: _Numbers2.default.fromDecimals(res[4], _this2.getERC20Contract().getDecimals()), APR: parseInt(res[5], 10), currentAmount: _Numbers2.default.fromDecimals(res[6], _this2.getERC20Contract().getDecimals()), lockedUntilFinalization: res[7], subscribers: res[8], subscriptionIds: _Numbers2.default.fromExponential(res[9]) });case 4:case 'end':return _context10.stop();}}}, _callee10, _this2);}));return function (_x6) {return _ref14.apply(this, arguments);};}();this.approveERC20Transfer = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() {var totalMaxAmount;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.getERC20Contract().totalSupply();case 2:totalMaxAmount = _context11.sent;_context11.next = 5;return _this2.getERC20Contract().approve({ address: _this2.getAddress(), amount: _Numbers2.default.toSmartContractDecimals(totalMaxAmount, _this2.getERC20Contract().getDecimals()) });case 5:return _context11.abrupt('return', _context11.sent);case 6:case 'end':return _context11.stop();}}}, _callee11, _this2);}));this.subscribeProduct = function () {var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref18) {var address = _ref18.address,product_id = _ref18.product_id,amount = _ref18.amount;var amountWithDecimals, isApproved;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0: /* Get Decimals of Amount */amountWithDecimals = _Numbers2.default.toSmartContractDecimals(amount, _this2.getERC20Contract().getDecimals()); /* Verify if transfer is approved for this amount */_context12.next = 3;return _this2.getERC20Contract().isApproved({ address: address, amount: amount, spenderAddress: _this2.getAddress() });case 3:isApproved = _context12.sent;if (isApproved) {_context12.next = 6;break;}throw new Error("Has to Approve Token Transfer First, use the 'approve' Call");case 6:_context12.next = 8;return _this2.__sendTx(_this2.params.contract.getContract().methods.subscribeProduct(product_id, amountWithDecimals));case 8:return _context12.abrupt('return', _context12.sent);case 9:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x7) {return _ref17.apply(this, arguments);};}();this.getSubscription = function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref20) {var subscription_id = _ref20.subscription_id,product_id = _ref20.product_id;var res;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getSubscription(subscription_id, product_id), true);case 2:res = _context13.sent;return _context13.abrupt('return', { _id: _Numbers2.default.fromExponential(res[0]), productId: _Numbers2.default.fromExponential(res[1]), startDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[2]), endDate: _Numbers2.default.fromSmartContractTimeToMinutes(res[3]), amount: _Numbers2.default.fromDecimals(res[4], _this2.getERC20Contract().getDecimals()), subscriberAddress: res[5], APR: parseInt(res[6], 10), finalized: res[7], withdrawAmount: _Numbers2.default.fromDecimals(res[8], _this2.getERC20Contract().getDecimals()) });case 4:case 'end':return _context13.stop();}}}, _callee13, _this2);}));return function (_x8) {return _ref19.apply(this, arguments);};}();this.withdrawSubscription = function () {var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref22) {var product_id = _ref22.product_id,subscription_id = _ref22.subscription_id;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:_context14.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.withdrawSubscription(product_id, subscription_id));case 2:return _context14.abrupt('return', _context14.sent);case 3:case 'end':return _context14.stop();}}}, _callee14, _this2);}));return function (_x9) {return _ref21.apply(this, arguments);};}();this.getSubscriptionsByAddress = function () {var _ref23 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(_ref24) {var address = _ref24.address;var res;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getMySubscriptions(address), true);case 2:res = _context15.sent;return _context15.abrupt('return', res.map(function (r) {return _Numbers2.default.fromExponential(r);}));case 4:case 'end':return _context15.stop();}}}, _callee15, _this2);}));return function (_x10) {return _ref23.apply(this, arguments);};}();this.getAllSubscriptions = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18() {var products, subscriptions;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:_context18.next = 2;return _this2.getProducts();case 2:products = _context18.sent;_context18.next = 5;return _promise2.default.all(products.map(function () {var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(product) {var productObj;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.next = 2;return _this2.getProduct({ product_id: product });case 2:productObj = _context17.sent;_context17.next = 5;return _promise2.default.all(productObj.subscriptionIds.map(function () {var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(subscription_id) {return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:return _context16.abrupt('return', _this2.getSubscription({ subscription_id: subscription_id, product_id: product }));case 1:case 'end':return _context16.stop();}}}, _callee16, _this2);}));return function (_x12) {return _ref27.apply(this, arguments);};}()));case 5:return _context17.abrupt('return', _context17.sent);case 6:case 'end':return _context17.stop();}}}, _callee17, _this2);}));return function (_x11) {return _ref26.apply(this, arguments);};}()));case 5:subscriptions = _context18.sent;return _context18.abrupt('return', subscriptions ? _lodash2.default.flatten(subscriptions) : []);case 7:case 'end':return _context18.stop();}}}, _callee18, _this2);}));this.getTotalNeededTokensForAPRbyAdmin = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20() {var products, allProducts;return _regenerator2.default.wrap(function _callee20$(_context20) {while (1) {switch (_context20.prev = _context20.next) {case 0:_context20.next = 2;return _this2.getProducts();case 2:products = _context20.sent;_context20.next = 5;return _promise2.default.all(products.map(function () {var _ref29 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(product) {var productObj, res;return _regenerator2.default.wrap(function _callee19$(_context19) {while (1) {switch (_context19.prev = _context19.next) {case 0:_context19.next = 2;return _this2.getProduct({ product_id: product });case 2:productObj = _context19.sent;_context19.next = 5;return _this2.getAPRAmount({ APR: productObj.APR, startDate: productObj.startDate, endDate: productObj.endDate, amount: productObj.totalMaxAmount });case 5:res = _context19.sent;return _context19.abrupt('return', parseFloat(res));case 7:case 'end':return _context19.stop();}}}, _callee19, _this2);}));return function (_x13) {return _ref29.apply(this, arguments);};}()));case 5:allProducts = _context20.sent;return _context20.abrupt('return', _Numbers2.default.fromExponential(allProducts.reduce(function (a, b) {return a + b;}, 0)).toString());case 7:case 'end':return _context20.stop();}}}, _callee20, _this2);}));this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21() {return _regenerator2.default.wrap(function _callee21$(_context21) {while (1) {switch (_context21.prev = _context21.next) {case 0:if (_this2.getAddress()) {_context21.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.staking, _this2.getAddress()); /* Set Token Address Contract for easy access */_context21.t0 = _ERC20Contract2.default;_context21.t1 = _this2.web3;_context21.next = 7;return _this2.erc20();case 7:_context21.t2 = _context21.sent;_context21.t3 = _this2.acc;_context21.t4 = { web3: _context21.t1, contractAddress: _context21.t2, acc: _context21.t3 };_this2.params.ERC20Contract = new _context21.t0(_context21.t4);_context21.next = 13;return _this2.params.ERC20Contract.__assert();case 13:case 'end':return _context21.stop();}}}, _callee21, _this2);}));this. - deploy = function () {var _ref31 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22() {var _ref32 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},callback = _ref32.callback;var params, res;return _regenerator2.default.wrap(function _callee22$(_context22) {while (1) {switch (_context22.prev = _context22.next) {case 0:if ( - _this2.getERC20Contract()) {_context22.next = 2;break;}throw ( - new Error('No Token Address Provided'));case 2: - - params = [_this2.getERC20Contract().getAddress()];_context22.next = 5;return ( - _this2.__deploy(params, callback));case 5:res = _context22.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context22.next = 9;return ( - _this2.__assert());case 9:return _context22.abrupt('return', - res);case 10:case 'end':return _context22.stop();}}}, _callee22, _this2);}));return function () {return _ref31.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -StakingContract; \ No newline at end of file diff --git a/build/models/Voting/VotingContract.js b/build/models/Voting/VotingContract.js deleted file mode 100644 index a1e4fb9d..00000000 --- a/build/models/Voting/VotingContract.js +++ /dev/null @@ -1,343 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../interfaces'); -var _ERC20Contract = require('../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _IContract2 = require('../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _Numbers = require('../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * @typedef {Object} VotingContract~Options - * @property {Boolean} test - * @property {Boolean} localtest ganache local blockchain - * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' - * @property {string} [contractAddress] - */ - -/** - * Voting Contract Object - * @class VotingContract - * @param {VotingContract~Options} options - */var -VotingContract = function (_IContract) {(0, _inherits3.default)(VotingContract, _IContract); - function VotingContract() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, VotingContract); - try {var _this = (0, _possibleConstructorReturn3.default)(this, (VotingContract.__proto__ || (0, _getPrototypeOf2.default)(VotingContract)).call(this, (0, _extends3.default)({}, - params, { abi: _interfaces.voting })));_initialiseProps.call(_this); - } catch (err) { - throw err; - }return _this; - } - - /** - * Get ERC20 Address of the Contract - * @returns {Promise
} - */(0, _createClass3.default)(VotingContract, [{ key: 'erc20', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - this.__sendTx( - this.params.contract.getContract().methods.erc20(), - true));case 2:return _context.abrupt('return', _context.sent);case 3:case 'end':return _context.stop();}}}, _callee, this);}));function erc20() {return _ref.apply(this, arguments);}return erc20;}() - - - - /** - * Creates a Pool - * @param {String} params.description - * @param {Integer} params.expirationTime - * @param {Array | Integer} params.options - * @return {Promise} - */ }, { key: 'createPool', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref3) {var - - description = _ref3.description, - expirationTime = _ref3.expirationTime, - options = _ref3.options;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.createPoll( - description, - _Numbers2.default.timeToSmartContractTime(expirationTime), - options)));case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, this);}));function createPool(_x2) {return _ref2.apply(this, arguments);}return createPool;}() - - - - - /** - * Creates a Pool - * @param {Integer} params.poolId - * @return {Promise} - */ }, { key: 'endPool', value: function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref5) {var - - poolId = _ref5.poolId;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.endPool( - poolId)));case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, this);}));function endPool(_x3) {return _ref4.apply(this, arguments);}return endPool;}() - - - - - /** - * Cast Vote - * @param {Integer} params.poolId Pool Id - * @param {Integer} params.voteId Vote Position on Length - * @return {Promise} - */ }, { key: 'castVote', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref7) {var - - poolId = _ref7.poolId, - voteId = _ref7.voteId;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.castVote( - poolId, - voteId)));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, this);}));function castVote(_x4) {return _ref6.apply(this, arguments);}return castVote;}() - - - - - /** - * Stake Voting Tokens - * @param {Integer} params.tokens Tokens - * @return {Promise} - */ }, { key: 'stakeVotingTokens', value: function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref9) {var - - tokens = _ref9.tokens;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.stakeVotingTokens( - _Numbers2.default.toSmartContractDecimals( - tokens, - this.getERC20Contract().getDecimals()))));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, this);}));function stakeVotingTokens(_x5) {return _ref8.apply(this, arguments);}return stakeVotingTokens;}() - - - - - - /** - * @typedef {Object} VotingContract~Pool - * @property {Address} creator - * @property {Bool} status - * @property {Integer} optionsSize - * @property {String} description - * @property {Array | Address} voters - * @property {Date} expirationTime - */ - - /** - * Get Pool Information - * @function - * @param {Object} params - * @param {Integer} params.poolId - * @return {Promise} - */ - - - - - - - - - - - - - - - - - - /** - * Get Pool Winner - * @function - * @param {Object} params - * @param {Integer} params.poolId - * @return {Integer} Winner Id - * @return {Integer} Winner Id Index - */ - - - - - - - - - - - - - /** - * Get Pool Winner - * @function - * @param {Object} params - * @param {Integer} params.poolId Pool Id - * @param {Integer} params.optionIndex Option Id for Pool - * @return {Integer} Option Id - */ - - - - - - - - - - /** - * Get Pool History for Address - * @function - * @param {Object} params - * @param {Address} params.address - * @return {Array | Integer} Pool Ids - */ - - - - - - - - - - - - /** - * Get Pool Info for Voter - * @function - * @param {Object} params - * @param {Integer} params.poolId - * @param {Address} params.voter - * @return {Integer} Vote - * @return {Integer} Weigth (Token Value) - */ - - - - - - - - - - - - - - - - /** - * Check if a User has voted - * @function - * @param {Object} params - * @param {Integer} params.poolId - * @param {Address} params.voter - * @return {Bool} HasVoted - */ - - - - - - - - - - - /** - * Get Locked Amount - * @function - * @param {Object} params - * @param {Address} params.voter - * @return {Integer} Locked Amount - */ }, { key: 'withdrawTokens', - - - - - - - - - - - - - /** - * Withdraw Tokens from Voting - * @param {Integer} params.tokens Tokens - * @return {Promise} - */value: function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref11) {var - - tokens = _ref11.tokens;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return ( - - this.__sendTx( - this.params.contract. - getContract(). - methods.withdrawTokens( - _Numbers2.default.toSmartContractDecimals( - tokens, - this.getERC20Contract().getDecimals()))));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, this);}));function withdrawTokens(_x6) {return _ref10.apply(this, arguments);}return withdrawTokens;}() - - - - - - /** - * @async - * @function - * @throws {Error} Contract is not deployed, first deploy it and provide a contract address - * @void - */ - - - - - - - - - - - - - - - - - - - - - - - - /** - * Deploy the Staking Contract - * @function - * @param [Object] params - * @param {Address} params.erc20Contract - * @param {function():void} params.callback - * @return {Promise<*>} - */ - - - - - - - - - - /** - * @function - * @return ERC20Contract|undefined - */ }]);return VotingContract;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.getPoolInformation = function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref13) {var poolId = _ref13.poolId;var res;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getPoolInformation(poolId), true);case 2:res = _context7.sent;return _context7.abrupt('return', { _id: poolId, creator: res[0], status: res[1], optionsSize: parseInt(res[2], 10), descripton: res[3], voters: res[4], expirationTime: _Numbers2.default.fromSmartContractTimeToMinutes(res[5]) });case 4:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x7) {return _ref12.apply(this, arguments);};}();this.getPoolWinner = function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref15) {var poolId = _ref15.poolId;var res;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getPoolWinner(poolId), true);case 2:res = _context8.sent;return _context8.abrupt('return', { winnerId: parseInt(res[0], 10), optionId: parseInt(res[1], 10) });case 4:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x8) {return _ref14.apply(this, arguments);};}();this.getPollOptionById = function () {var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref17) {var poolId = _ref17.poolId,optionIndex = _ref17.optionIndex;var res;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getPollOptionById(poolId, optionIndex), true);case 2:res = _context9.sent;return _context9.abrupt('return', parseInt(res[0], 10));case 4:case 'end':return _context9.stop();}}}, _callee9, _this2);}));return function (_x9) {return _ref16.apply(this, arguments);};}();this.getPollHistory = function () {var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(_ref19) {var address = _ref19.address;var res;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getPollHistory(address), true);case 2:res = _context10.sent;return _context10.abrupt('return', { pools: res[0].map(function (r) {return parseInt(r, 10);}) });case 4:case 'end':return _context10.stop();}}}, _callee10, _this2);}));return function (_x10) {return _ref18.apply(this, arguments);};}();this.getPollInfoForVoter = function () {var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref21) {var poolId = _ref21.poolId,voter = _ref21.voter;var res;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getPollInfoForVoter(poolId, voter), true);case 2:res = _context11.sent;return _context11.abrupt('return', { vote: parseInt(res[0], 10), weigth: _Numbers2.default.toSmartContractDecimals(res[1], _this2.getERC20Contract().getDecimals()) });case 4:case 'end':return _context11.stop();}}}, _callee11, _this2);}));return function (_x11) {return _ref20.apply(this, arguments);};}();this.userHasVoted = function () {var _ref22 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref23) {var poolId = _ref23.poolId,voter = _ref23.voter;var res;return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.userHasVoted(poolId, voter), true);case 2:res = _context12.sent;return _context12.abrupt('return', res[0]);case 4:case 'end':return _context12.stop();}}}, _callee12, _this2);}));return function (_x12) {return _ref22.apply(this, arguments);};}();this.getLockedAmount = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref25) {var voter = _ref25.voter;var res;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.getLockedAmount(voter), true);case 2:res = _context13.sent;return _context13.abrupt('return', _Numbers2.default.toSmartContractDecimals(res[0], _this2.getERC20Contract().getDecimals()));case 4:case 'end':return _context13.stop();}}}, _callee13, _this2);}));return function (_x13) {return _ref24.apply(this, arguments);};}();this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14() {return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:if (_this2.getAddress()) {_context14.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: /* Use ABI */_this2.params.contract.use(_interfaces.voting, _this2.getAddress()); /* Set Token Address Contract for easy access */if (_this2.params.ERC20Contract) {_context14.next = 11;break;}_context14.t0 = _ERC20Contract2.default;_context14.t1 = _this2.web3Connection;_context14.next = 8;return _this2.erc20();case 8:_context14.t2 = _context14.sent;_context14.t3 = { web3Connection: _context14.t1, contractAddress: _context14.t2 };_this2.params.ERC20Contract = new _context14.t0(_context14.t3);case 11:_context14.next = 13;return _this2.params.ERC20Contract.login();case 13:_context14.next = 15;return _this2.params.ERC20Contract.__assert();case 15:case 'end':return _context14.stop();}}}, _callee14, _this2);}));this.deploy = function () {var _ref27 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15() {var _ref28 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},erc20Contract = _ref28.erc20Contract,callback = _ref28.callback;var params, res;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:params = [erc20Contract];_context15.next = 3;return _this2.__deploy(params, callback);case 3:res = _context15.sent;_this2.params.contractAddress = res.contractAddress; /* Call to Backend API */_context15.next = 7;return _this2.__assert();case 7:return _context15.abrupt('return', res);case 8:case 'end':return _context15.stop();}}}, _callee15, _this2);}));return function () {return _ref27.apply(this, arguments);};}();this. - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -VotingContract; \ No newline at end of file diff --git a/build/models/custom/RealFvr/MarketplaceRealFvr.js b/build/models/custom/RealFvr/MarketplaceRealFvr.js deleted file mode 100644 index 96609081..00000000 --- a/build/models/custom/RealFvr/MarketplaceRealFvr.js +++ /dev/null @@ -1,200 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../../interfaces'); -var _Numbers = require('../../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _ERC20Contract = require('../../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _ERC721Contract = require('../../ERC721/ERC721Contract');var _ERC721Contract2 = _interopRequireDefault(_ERC721Contract);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * MarketplaceRealFvr Object - * @class MarketplaceRealFvr - * @param {Object} params Parameters - * @param {Address} params.contractAddress Contract Address (If Deployed) - */var -MarketplaceRealFvr = function (_IContract) {(0, _inherits3.default)(MarketplaceRealFvr, _IContract); - function MarketplaceRealFvr() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, MarketplaceRealFvr);var _this = (0, _possibleConstructorReturn3.default)(this, (MarketplaceRealFvr.__proto__ || (0, _getPrototypeOf2.default)(MarketplaceRealFvr)).call(this, (0, _extends3.default)({ - abi: _interfaces.marketplaceRealFvr }, params)));_initialiseProps.call(_this);return _this; - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Put ERC721 on Sale - * @param {Object} params Parameters - * @param {String} params.tokenId Token Id - * @param {String} params.price Price (Token Amount) - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - - - - - - /** - * @function - * @description Remove ERC721 from Sale - * @param {Object} params Parameters - * @param {String} params.tokenId Token Id - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Buy ERC721 from Sale - * @param {Object} params Parameters - * @param {String} params.tokenId Token Id - * @param {Integer} params.value If Native ETH, value = 0.1 ETH; if ERC20 value is 0 or optional - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Change ERC20 Address - * @param {Object} params Parameters - * @param {String} params.erc20TokenAddress ERC20TokenAddress - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Change ERC20 Address - * @param {Object} params Parameters - * @param {String} params.erc721TokenAddress ERC721TokenAddress - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Change ERC20 Address - * @param {Object} params Parameters - * @param {String} params.feeAddress Fee Address - * @param {String} params.feePercentage Fee Percentage (1 = 1%) - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Get ERC20 Token Address - * @returns {Address} Token Address - */ - - - /** - * @function - * @description Get ERC721 Token Address - * @returns {Address} Token Address - */ - - - /** - * @function - * @description Get FeeAddress - * @returns {Address} Fee Address - */ - - - /** - * @function - * @description Get Amount of ERC721s ever in sale - * @returns {Integer} Amount of NFTs in Sale - */ - - - - - - - - /** - * @function - * @description Approve ERC721 to be put on Sale - * @param {Object} params Parameters - * @param {Address} params.to Address To - * @param {Bool} params.approve If to Approve - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - /** - * @function - * @description User deploys the contract - * @param {Object} params Parameters - * @param {Address} params.erc20TokenAddress Address of the Contract - Optional (Dont insert if you want to use ETH or BNB or the native currency) - * @param {Address} params.erc721TokenAddress Address of the Contract - * @returns {Boolean} Success the Tx Object if operation was successful - */return MarketplaceRealFvr;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (_this2.getAddress()) {_context.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: // Use ABI - _this2.params.contract.use(_interfaces.marketplaceRealFvr, _this2.getAddress());_context.next = 5;return _this2.getERC20TokenAddress();case 5:_this2.params.tokenAddress = _context.sent;_context.next = 8;return _this2.getERC721TokenAddress();case 8:_this2.params.erc721Address = _context.sent; // Set Token Address Contract for easy access - _this2.params.ERC20Contract = new _ERC20Contract2.default({ web3: _this2.web3, contractAddress: _this2.params.tokenAddress, acc: _this2.acc }); // Set Token Address Contract for easy access - _this2.params.ERC721Contract = new _ERC721Contract2.default({ web3: _this2.web3, contractAddress: _this2.params.tokenAddress, acc: _this2.acc });_context.prev = 11;_context.next = 14;return _this2.params.ERC20Contract.__assert();case 14:_context.next = 16;return _this2.params.ERC721Contract.__assert();case 16:_context.next = 21;break;case 18:_context.prev = 18;_context.t0 = _context['catch'](11);throw new Error('Problem on ERC20 Assert, confirm ERC20 \'tokenAddress\'' + _context.t0);case 21:case 'end':return _context.stop();}}}, _callee, _this2, [[11, 18]]);}));this.isETHTransaction = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return _this2.getERC20TokenAddress();case 2:_context2.t0 = _context2.sent;return _context2.abrupt('return', _context2.t0 == '0x0000000000000000000000000000000000000000');case 4:case 'end':return _context2.stop();}}}, _callee2, _this2);}));this.putERC721OnSale = function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref4) {var tokenId = _ref4.tokenId,price = _ref4.price;var valueWithDecimals;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.t0 = _Numbers2.default;_context3.t1 = price;_context3.next = 4;return _this2.isETHTransaction();case 4:if (!_context3.sent) {_context3.next = 8;break;}_context3.t2 = 18;_context3.next = 9;break;case 8:_context3.t2 = _this2.getERC20Contract().getDecimals();case 9:_context3.t3 = _context3.t2;valueWithDecimals = _context3.t0.toSmartContractDecimals.call(_context3.t0, _context3.t1, _context3.t3);_context3.next = 13;return _this2.__sendTx(_this2.params.contract.getContract().methods.putERC721OnSale(tokenId, valueWithDecimals));case 13:return _context3.abrupt('return', _context3.sent);case 14:case 'end':return _context3.stop();}}}, _callee3, _this2);}));return function (_x2) {return _ref3.apply(this, arguments);};}();this.removeERC721FromSale = function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref6) {var tokenId = _ref6.tokenId;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.removeERC721FromSale(tokenId));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, _this2);}));return function (_x3) {return _ref5.apply(this, arguments);};}();this.buyERC721 = function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref8) {var tokenId = _ref8.tokenId,_ref8$value = _ref8.value,value = _ref8$value === undefined ? 0 : _ref8$value;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.buyERC721(tokenId), false, _Numbers2.default.toSmartContractDecimals(value, 18));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, _this2);}));return function (_x4) {return _ref7.apply(this, arguments);};}();this.changeERC20 = function () {var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref10) {var erc20TokenAddress = _ref10.erc20TokenAddress;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.changeERC20(erc20TokenAddress));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, _this2);}));return function (_x5) {return _ref9.apply(this, arguments);};}();this.changeERC721 = function () {var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref12) {var erc721TokenAddress = _ref12.erc721TokenAddress;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.changeERC721(erc721TokenAddress));case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x6) {return _ref11.apply(this, arguments);};}();this.setFixedFees = function () {var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref14) {var feeAddress = _ref14.feeAddress,feePercentage = _ref14.feePercentage;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setFixedFees(feeAddress, feePercentage));case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x7) {return _ref13.apply(this, arguments);};}();this.getERC20TokenAddress = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9() {return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return _this2.params.contract.getContract().methods.erc20Address().call();case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, _this2);}));this.getERC721TokenAddress = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10() {return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.next = 2;return _this2.params.contract.getContract().methods.erc721Address().call();case 2:return _context10.abrupt('return', _context10.sent);case 3:case 'end':return _context10.stop();}}}, _callee10, _this2);}));this.getFeeAddress = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11() {return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.params.contract.getContract().methods.feeAddress().call();case 2:return _context11.abrupt('return', _context11.sent);case 3:case 'end':return _context11.stop();}}}, _callee11, _this2);}));this.getAmountofNFTsEverInSale = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() {return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.t0 = parseInt;_context12.next = 3;return _this2.params.contract.getContract().methods.saleIncrementId().call();case 3:_context12.t1 = _context12.sent;_context12.t2 = (0, _context12.t0)(_context12.t1, 10);_context12.t2 - 1;case 6:case 'end':return _context12.stop();}}}, _callee12, _this2);}));this.approveERC721use = function () {var _ref19 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13(_ref20) {var to = _ref20.to,_ref20$approve = _ref20.approve,approve = _ref20$approve === undefined ? true : _ref20$approve;return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.getERC721Contract().setApprovalForAll({ to: to, approve: approve });case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, _this2);}));return function (_x8) {return _ref19.apply(this, arguments);};}();this.deploy = function () {var _ref21 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref22) {var _ref22$erc20TokenAddr = _ref22.erc20TokenAddress,erc20TokenAddress = _ref22$erc20TokenAddr === undefined ? '0x0000000000000000000000000000000000000000' : _ref22$erc20TokenAddr,erc721TokenAddress = _ref22.erc721TokenAddress,callback = _ref22.callback;var params, res;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0: - params = [erc20TokenAddress, erc721TokenAddress];_context14.next = 3;return ( - _this2.__deploy(params, callback));case 3:res = _context14.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context14.next = 7;return ( - _this2.__assert());case 7:return _context14.abrupt('return', - res);case 8:case 'end':return _context14.stop();}}}, _callee14, _this2);}));return function (_x9) {return _ref21.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};this. - - getERC721Contract = function () {return _this2.params.ERC721Contract;};};exports.default = - - -MarketplaceRealFvr; \ No newline at end of file diff --git a/build/models/custom/RealFvr/OpenerRealFvr.js b/build/models/custom/RealFvr/OpenerRealFvr.js deleted file mode 100644 index 6cdec510..00000000 --- a/build/models/custom/RealFvr/OpenerRealFvr.js +++ /dev/null @@ -1,426 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _extends2 = require('babel-runtime/helpers/extends');var _extends3 = _interopRequireDefault(_extends2);var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);var _inherits2 = require('babel-runtime/helpers/inherits');var _inherits3 = _interopRequireDefault(_inherits2);var _lodash = require('lodash');var _lodash2 = _interopRequireDefault(_lodash); -var _interfaces = require('../../../interfaces'); -var _Numbers = require('../../../utils/Numbers');var _Numbers2 = _interopRequireDefault(_Numbers); -var _IContract2 = require('../../IContract');var _IContract3 = _interopRequireDefault(_IContract2); -var _ERC20Contract = require('../../ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -/** - * OpenerRealFvr Object - * @class OpenerRealFvr - * @param {Object} params Parameters - * @param {Address} params.contractAddress Contract Address (If Deployed) - * @param {Address} params.tokenAddress Token Purchase Address - */var -OpenerRealFvr = function (_IContract) {(0, _inherits3.default)(OpenerRealFvr, _IContract); - function OpenerRealFvr() {var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};(0, _classCallCheck3.default)(this, OpenerRealFvr);var _this = (0, _possibleConstructorReturn3.default)(this, (OpenerRealFvr.__proto__ || (0, _getPrototypeOf2.default)(OpenerRealFvr)).call(this, (0, _extends3.default)({ - abi: _interfaces.openerRealFvr }, params)));_initialiseProps.call(_this);return _this; - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Buy Pack - * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id - * @returns {Transaction} Transaction - */ - - - - - /** - * @function - * @description Buy Packs - * @param {Object} params Parameters - * @param {Array | Integer} params.packIds Pack Id - * @returns {Transaction} Transaction - */ - - - - - /** - * @function - * @description Open Pack - * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id - * @returns {Transaction} Transaction - */ - - - - - /** - * @function - * @description Open Packs - * @param {Object} params Parameters - * @param {Array | Integer} params.packIds Pack Id - * @returns {Transaction} Transaction - */ - - - - - /** - * @function - * @description Offer Pack - * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id - * @param {Address} params.receivingAddress Pack Id Integer - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - /** - * @function - * @description Create Pack - * @param {Object} params Parameters - * @param {Integer} params.nftAmount Amount of NFTs/Tokens - * @param {Integer} params.price Price of Pack (100 = $1; 1 = $0.01) - * @param {String} params.serie Serie of Pack - * @param {String} params.packType Pack Type - * @param {String} params.drop Pack Drop - * @param {Date} params.saleStart Start Date - * @param {Address | Array} params.saleDistributionAddresses Revenue Addresses of the First Purchase - * @param {Integer | Array} params.saleDistributionAmounts Revenue Amounts of the First Purchase - * @param {Address | Array} params.marketplaceDistributionAddresses Revenue Addresses of the Marketplace Sales - * @param {Integer | Array} params.marketplaceDistributionAmounts Revenue Amounts of the Marketplace Sales - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Edit Pack Info - * @param {Object} params Parameters - * @param {Integer} params.packId Pack Number - * @param {Date} params.saleStart Time of Start of the Sale - * @param {String} params.serie Serie of Pack - * @param {String} params.packType Pack Type - * @param {String} params.drop Pack Drop - * @param {Integer} params.price Pack Price - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - - - - - - - - - - /** - * @function - * @description Delete Pack - * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id Integer - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Mint Token Id (After buying a pack) - * @param {Object} params Parameters - * @param {Integer} params.tokenId Token ID - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Set Purchase Token - * @param {Object} params Parameters - * @param {Address} params.address Token Address - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - /** - * @function - * @description Lock the Contract - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - /** - * @function - * @description Unlock the Contract - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - /** - * @function - * @description Set Token Price of Real Fvr in USD --> 1*10**18 as input means 1 Real Fvr = $0.000001 - * @param {Object} params Parameters - * @param {Price} params.price Token Price - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - - - /** - * @function - * @description Set Base Id URI - * @param {Object} params Parameters - * @param {String} params.uri URI of the Token Id Metadata JSON - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Set Specific Token Id URI - * @param {Object} params Parameters - * @param {Integer} params.tokenId Token ID - * @param {String} params.uri URI of the Token Id Metadata JSON - * @returns {TransactionObject} Success the Tx Object if operation was successful - */ - - - - - /** - * @function - * @description Get Pack If Information - * @param {Object} params Parameters - * @param {Integer} params.packId - * @returns {Integer} packId - * @returns {Integer} price - * @returns {String} serie - * @returns {String} drop - * @returns {String} packType - * @returns {Address} buyer - * @returns {Array | Address} saleDistributionAddresses - * @returns {Array | Integer} saleDistributionAmounts - * @returns {Bool} opened - */ - - - - - - - - - - - - - - - - - - - - - /** - * @function - * @description Get Token IDs that were already bought via a pack - * @param {Object} params Parameters - * @param {Address} params.address - * @returns {Array | Integer} TokensRegistered - */ - - - - - - - - - - /** - * @function - * @description Get Distribution Sales Description for ERC721 Marketplace Sales - * @param {Object} params Parameters - * @param {Integer} params.tokenid Token Id - * @returns {Array | Integer} Distribution Amounts - * @returns {Array | Address} Distribution Addresses - */ - - - - - - - - - - - - - /** - * @function - * @description Verify if a Token was already minted - * @param {Object} params Parameters - * @param {Integer} params.tokenId - * @returns {Bool} wasMinted - */ - - - - /** - * @function - * @description Get Purchase Token Address - * @returns {Address} Token Address - */ - - - /** - * @function - * @description Get Real Fvr Cost in USD - * @returns {Integer} Price in Real Fvr Tokens - */ - - - - - - - - - - /** - * @function - * @description Get Cost in Fvr Tokens of the Pack - * @param {Object} params Parameters - * @param {Integer} params.packId - * @returns {Integer} Price in Real Fvr Tokens - */ - - - - - - - - - /** - * @function - * @description Get Amount of Packs Created - * @returns {Integer} packsAmount - */ - - - - - /** - * @function - * @description Get Amount of Packs Opened - * @returns {Integer} packsAmount - */ - - - - - /** - * @function - * @description Get Amount of Tokens/NFTs Created (Inherent to the Packs) - * @returns {Integer} tokensAmount - */ - - - - - /** - * @function - * @description User deploys the contract - * @param {Object} params Parameters - * @param {String} params.name Name of the Contract - * @param {String} params.symbol Symbol of the Contract - * @param {Address} params.tokenAddress token Address of the purchase Token in use - * @returns {Boolean} Success the Tx Object if operation was successful - */return OpenerRealFvr;}(_IContract3.default);var _initialiseProps = function _initialiseProps() {var _this2 = this;this.__assert = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:if (_this2.getAddress()) {_context.next = 2;break;}throw new Error('Contract is not deployed, first deploy it and provide a contract address');case 2: // Use ABI - _this2.params.contract.use(_interfaces.openerRealFvr, _this2.getAddress());if (_this2.params.tokenAddress) {_context.next = 5;break;}throw new Error("Problem on ERC20 Assert, 'tokenAddress' not provided");case 5: // Set Token Address Contract for easy access - _this2.params.ERC20Contract = new _ERC20Contract2.default({ web3: _this2.web3, contractAddress: _this2.params.tokenAddress, acc: _this2.acc });_context.prev = 6;_context.next = 9;return _this2.params.ERC20Contract.__assert();case 9:_context.next = 14;break;case 11:_context.prev = 11;_context.t0 = _context['catch'](6);throw new Error('Problem on ERC20 Assert, confirm ERC20 \'tokenAddress\'' + _context.t0);case 14:case 'end':return _context.stop();}}}, _callee, _this2, [[6, 11]]);}));this.buyPack = function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(_ref3) {var packId = _ref3.packId;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.buyPack(packId));case 2:return _context2.abrupt('return', _context2.sent);case 3:case 'end':return _context2.stop();}}}, _callee2, _this2);}));return function (_x2) {return _ref2.apply(this, arguments);};}();this.buyPacks = function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(_ref5) {var packIds = _ref5.packIds;return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:_context3.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.buyPacks(packIds));case 2:return _context3.abrupt('return', _context3.sent);case 3:case 'end':return _context3.stop();}}}, _callee3, _this2);}));return function (_x3) {return _ref4.apply(this, arguments);};}();this.openPack = function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(_ref7) {var packId = _ref7.packId;return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0:_context4.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.openPack(packId));case 2:return _context4.abrupt('return', _context4.sent);case 3:case 'end':return _context4.stop();}}}, _callee4, _this2);}));return function (_x4) {return _ref6.apply(this, arguments);};}();this.openPacks = function () {var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(_ref9) {var packIds = _ref9.packIds;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0:_context5.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.openPacks(packIds));case 2:return _context5.abrupt('return', _context5.sent);case 3:case 'end':return _context5.stop();}}}, _callee5, _this2);}));return function (_x5) {return _ref8.apply(this, arguments);};}();this.offerPack = function () {var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(_ref11) {var packId = _ref11.packId,receivingAddress = _ref11.receivingAddress;return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:_context6.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.offerPack(packId, receivingAddress));case 2:return _context6.abrupt('return', _context6.sent);case 3:case 'end':return _context6.stop();}}}, _callee6, _this2);}));return function (_x6) {return _ref10.apply(this, arguments);};}();this.createPack = function () {var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(_ref13) {var nftAmount = _ref13.nftAmount,price = _ref13.price,serie = _ref13.serie,packType = _ref13.packType,drop = _ref13.drop,saleStart = _ref13.saleStart,saleDistributionAddresses = _ref13.saleDistributionAddresses,saleDistributionAmounts = _ref13.saleDistributionAmounts,marketplaceDistributionAddresses = _ref13.marketplaceDistributionAddresses,marketplaceDistributionAmounts = _ref13.marketplaceDistributionAmounts;return _regenerator2.default.wrap(function _callee7$(_context7) {while (1) {switch (_context7.prev = _context7.next) {case 0:_context7.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.createPack(parseInt(nftAmount, 10), _Numbers2.default.toSmartContractDecimals(price, 3), serie, packType, drop, _Numbers2.default.timeToSmartContractTime(saleStart), saleDistributionAddresses, saleDistributionAmounts, marketplaceDistributionAddresses, marketplaceDistributionAmounts));case 2:return _context7.abrupt('return', _context7.sent);case 3:case 'end':return _context7.stop();}}}, _callee7, _this2);}));return function (_x7) {return _ref12.apply(this, arguments);};}();this.editPackInfo = function () {var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(_ref15) {var packId = _ref15.packId,saleStart = _ref15.saleStart,price = _ref15.price,serie = _ref15.serie,packType = _ref15.packType,drop = _ref15.drop;return _regenerator2.default.wrap(function _callee8$(_context8) {while (1) {switch (_context8.prev = _context8.next) {case 0:_context8.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.editPackInfo(packId, _Numbers2.default.timeToSmartContractTime(saleStart), serie, packType, drop, _Numbers2.default.toSmartContractDecimals(price, 3)));case 2:return _context8.abrupt('return', _context8.sent);case 3:case 'end':return _context8.stop();}}}, _callee8, _this2);}));return function (_x8) {return _ref14.apply(this, arguments);};}();this.deletePackById = function () {var _ref16 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(_ref17) {var packId = _ref17.packId;return _regenerator2.default.wrap(function _callee9$(_context9) {while (1) {switch (_context9.prev = _context9.next) {case 0:_context9.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.deletePackById(packId));case 2:return _context9.abrupt('return', _context9.sent);case 3:case 'end':return _context9.stop();}}}, _callee9, _this2);}));return function (_x9) {return _ref16.apply(this, arguments);};}();this.mint = function () {var _ref18 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(_ref19) {var tokenId = _ref19.tokenId;return _regenerator2.default.wrap(function _callee10$(_context10) {while (1) {switch (_context10.prev = _context10.next) {case 0:_context10.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.mint(tokenId));case 2:return _context10.abrupt('return', _context10.sent);case 3:case 'end':return _context10.stop();}}}, _callee10, _this2);}));return function (_x10) {return _ref18.apply(this, arguments);};}();this.setPurchaseTokenAddress = function () {var _ref20 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref21) {var address = _ref21.address;return _regenerator2.default.wrap(function _callee11$(_context11) {while (1) {switch (_context11.prev = _context11.next) {case 0:_context11.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setPurchaseTokenAddress(address));case 2:return _context11.abrupt('return', _context11.sent);case 3:case 'end':return _context11.stop();}}}, _callee11, _this2);}));return function (_x11) {return _ref20.apply(this, arguments);};}();this.lock = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12() {return _regenerator2.default.wrap(function _callee12$(_context12) {while (1) {switch (_context12.prev = _context12.next) {case 0:_context12.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.lock());case 2:return _context12.abrupt('return', _context12.sent);case 3:case 'end':return _context12.stop();}}}, _callee12, _this2);}));this.unlock = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee13() {return _regenerator2.default.wrap(function _callee13$(_context13) {while (1) {switch (_context13.prev = _context13.next) {case 0:_context13.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.unlock());case 2:return _context13.abrupt('return', _context13.sent);case 3:case 'end':return _context13.stop();}}}, _callee13, _this2);}));this.setTokenWorthof1USD = function () {var _ref24 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee14(_ref25) {var price = _ref25.price;return _regenerator2.default.wrap(function _callee14$(_context14) {while (1) {switch (_context14.prev = _context14.next) {case 0:_context14.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setTokenPriceInUSD(price));case 2:return _context14.abrupt('return', _context14.sent);case 3:case 'end':return _context14.stop();}}}, _callee14, _this2);}));return function (_x12) {return _ref24.apply(this, arguments);};}();this.setBaseURI = function () {var _ref26 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee15(_ref27) {var uri = _ref27.uri;return _regenerator2.default.wrap(function _callee15$(_context15) {while (1) {switch (_context15.prev = _context15.next) {case 0:_context15.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setBaseURI(uri));case 2:return _context15.abrupt('return', _context15.sent);case 3:case 'end':return _context15.stop();}}}, _callee15, _this2);}));return function (_x13) {return _ref26.apply(this, arguments);};}();this.setTokenURI = function () {var _ref28 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee16(_ref29) {var tokenId = _ref29.tokenId,uri = _ref29.uri;return _regenerator2.default.wrap(function _callee16$(_context16) {while (1) {switch (_context16.prev = _context16.next) {case 0:_context16.next = 2;return _this2.__sendTx(_this2.params.contract.getContract().methods.setTokenURI(tokenId, uri));case 2:return _context16.abrupt('return', _context16.sent);case 3:case 'end':return _context16.stop();}}}, _callee16, _this2);}));return function (_x14) {return _ref28.apply(this, arguments);};}();this.getPackbyId = function () {var _ref30 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee17(_ref31) {var packId = _ref31.packId;var res;return _regenerator2.default.wrap(function _callee17$(_context17) {while (1) {switch (_context17.prev = _context17.next) {case 0:_context17.next = 2;return _this2.params.contract.getContract().methods.getPackbyId(packId).call();case 2:res = _context17.sent;return _context17.abrupt('return', { packId: packId, initialNFTId: parseInt(res[1], 10), price: _Numbers2.default.fromDecimals(res[2], 3), serie: res[3], drop: res[4], packType: res[5], buyer: res[6], saleDistributionAddresses: res[7], saleDistributionAmounts: res[8] ? res[8].map(function (a) {return parseInt(a, 10);}) : [], opened: res[9] });case 4:case 'end':return _context17.stop();}}}, _callee17, _this2);}));return function (_x15) {return _ref30.apply(this, arguments);};}();this.getRegisteredTokens = function () {var _ref32 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee18(_ref33) {var address = _ref33.address;var res;return _regenerator2.default.wrap(function _callee18$(_context18) {while (1) {switch (_context18.prev = _context18.next) {case 0:_context18.next = 2;return _this2.params.contract.getContract().methods.getRegisteredIDs(address).call();case 2:res = _context18.sent;return _context18.abrupt('return', res.map(function (a) {return parseInt(a, 10);}));case 4:case 'end':return _context18.stop();}}}, _callee18, _this2);}));return function (_x16) {return _ref32.apply(this, arguments);};}();this.getMarketplaceDistributionForERC721 = function () {var _ref34 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee19(_ref35) {var tokenId = _ref35.tokenId;var res;return _regenerator2.default.wrap(function _callee19$(_context19) {while (1) {switch (_context19.prev = _context19.next) {case 0:_context19.next = 2;return _this2.params.contract.getContract().methods.getMarketplaceDistributionForERC721(tokenId).call();case 2:res = _context19.sent;return _context19.abrupt('return', { distributionAmounts: res[0].map(function (a) {return parseInt(a, 10);}), distributionAddresses: res[1] });case 4:case 'end':return _context19.stop();}}}, _callee19, _this2);}));return function (_x17) {return _ref34.apply(this, arguments);};}();this.exists = function () {var _ref36 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee20(_ref37) {var tokenId = _ref37.tokenId;return _regenerator2.default.wrap(function _callee20$(_context20) {while (1) {switch (_context20.prev = _context20.next) {case 0:_context20.next = 2;return _this2.params.contract.getContract().methods.exists(tokenId).call();case 2:return _context20.abrupt('return', _context20.sent);case 3:case 'end':return _context20.stop();}}}, _callee20, _this2);}));return function (_x18) {return _ref36.apply(this, arguments);};}();this.getPurchaseToken = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee21() {return _regenerator2.default.wrap(function _callee21$(_context21) {while (1) {switch (_context21.prev = _context21.next) {case 0:_context21.next = 2;return _this2.params.contract.getContract().methods._purchaseToken().call();case 2:return _context21.abrupt('return', _context21.sent);case 3:case 'end':return _context21.stop();}}}, _callee21, _this2);}));this.getTokenWorthof1USD = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee22() {return _regenerator2.default.wrap(function _callee22$(_context22) {while (1) {switch (_context22.prev = _context22.next) {case 0:_context22.t0 = _Numbers2.default;_context22.next = 3;return _this2.params.contract.getContract().methods._realFvrTokenPriceUSD().call();case 3:_context22.t1 = _context22.sent;_context22.t2 = _this2.getERC20Contract().getDecimals();return _context22.abrupt('return', _context22.t0.fromDecimals.call(_context22.t0, _context22.t1, _context22.t2));case 6:case 'end':return _context22.stop();}}}, _callee22, _this2);}));this.getPackPriceInFVR = function () {var _ref40 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee23(_ref41) {var packId = _ref41.packId;return _regenerator2.default.wrap(function _callee23$(_context23) {while (1) {switch (_context23.prev = _context23.next) {case 0:_context23.t0 = _Numbers2.default;_context23.next = 3;return _this2.params.contract.getContract().methods.getPackPriceInFVR(packId).call();case 3:_context23.t1 = _context23.sent;_context23.t2 = _this2.getERC20Contract().getDecimals();return _context23.abrupt('return', _context23.t0.fromDecimals.call(_context23.t0, _context23.t1, _context23.t2));case 6:case 'end':return _context23.stop();}}}, _callee23, _this2);}));return function (_x19) {return _ref40.apply(this, arguments);};}();this.getAmountOfPacksCreated = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee24() {return _regenerator2.default.wrap(function _callee24$(_context24) {while (1) {switch (_context24.prev = _context24.next) {case 0:_context24.t0 = parseInt;_context24.next = 3;return _this2.params.contract.getContract().methods.packIncrementId().call();case 3:_context24.t1 = _context24.sent;return _context24.abrupt('return', (0, _context24.t0)(_context24.t1, 10));case 5:case 'end':return _context24.stop();}}}, _callee24, _this2);}));this.getAmountOfPacksOpened = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee25() {return _regenerator2.default.wrap(function _callee25$(_context25) {while (1) {switch (_context25.prev = _context25.next) {case 0:_context25.t0 = parseInt;_context25.next = 3;return _this2.params.contract.getContract().methods._openedPacks().call();case 3:_context25.t1 = _context25.sent;return _context25.abrupt('return', (0, _context25.t0)(_context25.t1, 10));case 5:case 'end':return _context25.stop();}}}, _callee25, _this2);}));this.getAmountOfTokensCreated = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee26() {return _regenerator2.default.wrap(function _callee26$(_context26) {while (1) {switch (_context26.prev = _context26.next) {case 0:_context26.t0 = parseInt;_context26.next = 3;return _this2.params.contract.getContract().methods.lastNFTID().call();case 3:_context26.t1 = _context26.sent;return _context26.abrupt('return', (0, _context26.t0)(_context26.t1, 10));case 5:case 'end':return _context26.stop();}}}, _callee26, _this2);}));this.deploy = function () {var _ref45 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee27(_ref46) {var name = _ref46.name,symbol = _ref46.symbol,tokenAddress = _ref46.tokenAddress,callback = _ref46.callback;var params, res;return _regenerator2.default.wrap(function _callee27$(_context27) {while (1) {switch (_context27.prev = _context27.next) {case 0: - - params = [name, symbol, tokenAddress];_context27.next = 3;return ( - _this2.__deploy(params, callback));case 3:res = _context27.sent; - _this2.params.contractAddress = res.contractAddress; - /* Call to Backend API */_context27.next = 7;return ( - _this2.__assert());case 7:return _context27.abrupt('return', - res);case 8:case 'end':return _context27.stop();}}}, _callee27, _this2);}));return function (_x20) {return _ref45.apply(this, arguments);};}();this. - - - getERC20Contract = function () {return _this2.params.ERC20Contract;};};exports.default = - - -OpenerRealFvr; \ No newline at end of file diff --git a/build/models/index.js b/build/models/index.js deleted file mode 100644 index f9d515b5..00000000 --- a/build/models/index.js +++ /dev/null @@ -1,20 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });exports.ERC721Contract = exports.OpenerRealFvr = exports.BEPRONetwork = exports.ERC721Collectibles = exports.ERC20TokenLock = exports.StakingContract = exports.ExchangeContract = exports.MarketplaceRealFvr = exports.ERC20Contract = undefined;var _ERC20Contract = require('./ERC20/ERC20Contract');var _ERC20Contract2 = _interopRequireDefault(_ERC20Contract); -var _ExchangeContract = require('./PredictionMarkets/ExchangeContract');var _ExchangeContract2 = _interopRequireDefault(_ExchangeContract); -var _StakingContract = require('./Staking/StakingContract');var _StakingContract2 = _interopRequireDefault(_StakingContract); -var _ERC20TokenLock = require('./ERC20/ERC20TokenLock');var _ERC20TokenLock2 = _interopRequireDefault(_ERC20TokenLock); -var _ERC721Collectibles = require('./ERC721/ERC721Collectibles');var _ERC721Collectibles2 = _interopRequireDefault(_ERC721Collectibles); -var _ERC721Contract = require('./ERC721/ERC721Contract');var _ERC721Contract2 = _interopRequireDefault(_ERC721Contract); -var _OpenerRealFvr = require('./custom/RealFvr/OpenerRealFvr');var _OpenerRealFvr2 = _interopRequireDefault(_OpenerRealFvr); -var _MarketplaceRealFvr = require('./custom/RealFvr/MarketplaceRealFvr');var _MarketplaceRealFvr2 = _interopRequireDefault(_MarketplaceRealFvr); -var _Network = require('./BEPRO/Network');var _Network2 = _interopRequireDefault(_Network);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}exports. - - -ERC20Contract = _ERC20Contract2.default;exports. -MarketplaceRealFvr = _MarketplaceRealFvr2.default;exports. -ExchangeContract = _ExchangeContract2.default;exports. -StakingContract = _StakingContract2.default;exports. -ERC20TokenLock = _ERC20TokenLock2.default;exports. -ERC721Collectibles = _ERC721Collectibles2.default;exports. -BEPRONetwork = _Network2.default;exports. -OpenerRealFvr = _OpenerRealFvr2.default;exports. -ERC721Contract = _ERC721Contract2.default; \ No newline at end of file diff --git a/build/utils/Account.js b/build/utils/Account.js deleted file mode 100644 index 93a5bd10..00000000 --- a/build/utils/Account.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var Account = function () { - function Account(web3, account) {(0, _classCallCheck3.default)(this, Account); - this.web3 = web3; - this.account = account; - }(0, _createClass3.default)(Account, [{ key: 'getBalance', value: function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {var wei;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:_context.next = 2;return ( - - - this.web3.eth.getBalance(this.getAddress()));case 2:wei = _context.sent;return _context.abrupt('return', - this.web3.utils.fromWei(wei, 'ether'));case 4:case 'end':return _context.stop();}}}, _callee, this);}));function getBalance() {return _ref.apply(this, arguments);}return getBalance;}() }, { key: 'getAddress', value: function getAddress() - - - { - return this.account.address; - } }, { key: 'getPrivateKey', value: function getPrivateKey() - - { - return this.account.privateKey; - } }, { key: 'getAccount', value: function getAccount() - - { - return this.account; - } }, { key: 'sendEther', value: function () {var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2( - - amount, address) {var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;var tx, result, transaction;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0: - tx = { - data: data, - from: this.getAddress(), - to: address, - gas: 443000, - value: amount };_context2.next = 3;return ( - - this.account.signTransaction(tx));case 3:result = _context2.sent;_context2.next = 6;return ( - this.web3.eth.sendSignedTransaction( - result.rawTransaction));case 6:transaction = _context2.sent;return _context2.abrupt('return', - - transaction);case 8:case 'end':return _context2.stop();}}}, _callee2, this);}));function sendEther(_x, _x2) {return _ref2.apply(this, arguments);}return sendEther;}() }]);return Account;}();exports.default = - - - -Account; \ No newline at end of file diff --git a/build/utils/Contract.js b/build/utils/Contract.js deleted file mode 100644 index de039bf7..00000000 --- a/build/utils/Contract.js +++ /dev/null @@ -1,139 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _regenerator = require('babel-runtime/regenerator');var _regenerator2 = _interopRequireDefault(_regenerator);var _promise = require('babel-runtime/core-js/promise');var _promise2 = _interopRequireDefault(_promise);var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}var Contract = function () { - function Contract(web3, contract_json, address) {var _this = this;(0, _classCallCheck3.default)(this, Contract);this. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - __metamaskDeploy = function () {var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_ref2) {var - byteCode = _ref2.byteCode,args = _ref2.args,acc = _ref2.acc,_ref2$callback = _ref2.callback,callback = _ref2$callback === undefined ? function () {} : _ref2$callback;return _regenerator2.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:return _context.abrupt('return', - new _promise2.default(function (resolve, reject) { - try { - console.log('Contract.__metamaskDeploy.acc: ' + acc); - _this.getContract(). - deploy({ - data: byteCode, - arguments: args }). - - send({ - from: acc, - // BUGFIX: without gas and gasPrice set here, we get the following error: - // Error: Node error: {"message":"base fee exceeds gas limit","code":-32000,"data":{"stack":"Error: base fee exceeds gas limit - // ,gasPrice : 180000000000 - // ,gas : 5913388 - gasPrice: 500000000, - gas: 5913388 // 6721975 - }). - on('confirmation', function (confirmationNumber, receipt) { - console.log('Contract.__metamaskDeploy.confirmationNumber: ' + - - confirmationNumber); - - callback(confirmationNumber); - if (confirmationNumber > 0) { - resolve(receipt); - } - }). - on('error', function (err) { - console.log('Contract.__metamaskDeploy.error: ' + err); - reject(err); - }); - } catch (err) { - console.log('Contract.__metamaskDeploy.catch.error: ' + err); - reject(err); - } - }));case 1:case 'end':return _context.stop();}}}, _callee, _this);}));return function (_x) {return _ref.apply(this, arguments);};}();this.web3 = web3;this.json = contract_json;this.abi = contract_json.abi;this.address = address;this.contract = new web3.eth.Contract(contract_json.abi, address);}(0, _createClass3.default)(Contract, [{ key: 'deploy', value: function () {var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(account, abi, byteCode) {var _this2 = this;var args = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];var callback = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {};return _regenerator2.default.wrap(function _callee3$(_context3) {while (1) {switch (_context3.prev = _context3.next) {case 0:return _context3.abrupt('return', new _promise2.default(function () {var _ref4 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(resolve, reject) {var txSigned, accounts, res;return _regenerator2.default.wrap(function _callee2$(_context2) {while (1) {switch (_context2.prev = _context2.next) {case 0:_context2.prev = 0;_this2.contract = new _this2.web3.eth.Contract(abi);if (!account) {_context2.next = 9;break;}_context2.next = 5;return account.getAccount().signTransaction({ data: _this2.contract.deploy({ data: byteCode, arguments: args }).encodeABI(), from: account.getAddress(), gasPrice: 5000000000, gas: 8913388 });case 5:txSigned = _context2.sent;_this2.web3.eth.sendSignedTransaction(txSigned.rawTransaction).on('confirmation', function (confirmationNumber, receipt) {if (confirmationNumber > 1) {resolve(receipt);}});_context2.next = 17;break;case 9:_context2.next = 11;return _this2.web3.eth.getAccounts();case 11:accounts = _context2.sent;_context2.next = 14;return _this2.__metamaskDeploy({ byteCode: byteCode, args: args, acc: accounts[0], callback: callback });case 14:res = _context2.sent;_this2.address = res.contractAddress;resolve(res);case 17:_context2.next = 22;break;case 19:_context2.prev = 19;_context2.t0 = _context2['catch'](0);reject(_context2.t0);case 22:case 'end':return _context2.stop();}}}, _callee2, _this2, [[0, 19]]);}));return function (_x7, _x8) {return _ref4.apply(this, arguments);};}()));case 1:case 'end':return _context3.stop();}}}, _callee3, this);}));function deploy(_x2, _x3, _x4) {return _ref3.apply(this, arguments);}return deploy;}() }, { key: 'use', value: function () {var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4( - - contract_json, address) {return _regenerator2.default.wrap(function _callee4$(_context4) {while (1) {switch (_context4.prev = _context4.next) {case 0: - this.json = contract_json; - this.abi = contract_json.abi; - this.address = address || this.address; - this.contract = new this.web3.eth.Contract(contract_json.abi, this.address);case 4:case 'end':return _context4.stop();}}}, _callee4, this);}));function use(_x9, _x10) {return _ref5.apply(this, arguments);}return use;}() }, { key: 'send', value: function () {var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6( - - - account, byteCode) {var _this3 = this;var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0x0';var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};return _regenerator2.default.wrap(function _callee6$(_context6) {while (1) {switch (_context6.prev = _context6.next) {case 0:return _context6.abrupt('return', - new _promise2.default(function () {var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(resolve, reject) {var tx, result;return _regenerator2.default.wrap(function _callee5$(_context5) {while (1) {switch (_context5.prev = _context5.next) {case 0: - tx = { - data: byteCode, - from: account.address, - to: _this3.address, - gas: 4430000, - gasPrice: 5000000000, - value: value || '0x0' };_context5.next = 3;return ( - - - account.signTransaction(tx));case 3:result = _context5.sent; - _this3.web3.eth. - sendSignedTransaction(result.rawTransaction). - on('confirmation', function (confirmationNumber, receipt) { - callback(confirmationNumber); - if (confirmationNumber > 0) { - resolve(receipt); - } - }). - on('error', function (err) { - reject(err); - });case 5:case 'end':return _context5.stop();}}}, _callee5, _this3);}));return function (_x15, _x16) {return _ref7.apply(this, arguments);};}()));case 1:case 'end':return _context6.stop();}}}, _callee6, this);}));function send(_x11, _x12) {return _ref6.apply(this, arguments);}return send;}() }, { key: 'getContract', value: function getContract() - - - - { - return this.contract; - } }, { key: 'getABI', value: function getABI() - - { - return this.abi; - } }, { key: 'getJSON', value: function getJSON() - - { - return this.json; - } }, { key: 'getAddress', value: function getAddress() - - { - return this.address; - } }]);return Contract;}();exports.default = - - -Contract; \ No newline at end of file diff --git a/build/utils/IPFS.js b/build/utils/IPFS.js deleted file mode 100644 index 2bcfec27..00000000 --- a/build/utils/IPFS.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} /* eslint-disable */ -var IPFS = require('ipfs'); - -var node = new IPFS();var - -DexStorage = -function DexStorage() {(0, _classCallCheck3.default)(this, DexStorage);this. - - start = function () {};};exports.default = - - -DexStorage; \ No newline at end of file diff --git a/build/utils/Numbers.js b/build/utils/Numbers.js deleted file mode 100644 index b2d5e6d9..00000000 --- a/build/utils/Numbers.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict';Object.defineProperty(exports, "__esModule", { value: true });var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);var _createClass2 = require('babel-runtime/helpers/createClass');var _createClass3 = _interopRequireDefault(_createClass2); -var _moment = require('moment');var _moment2 = _interopRequireDefault(_moment); -var _accounting = require('accounting');var _accounting2 = _interopRequireDefault(_accounting); -var _dayjs = require('dayjs');var _dayjs2 = _interopRequireDefault(_dayjs); -var _bn = require('bn.js');var _bn2 = _interopRequireDefault(_bn); -var _web = require('web3');var _web2 = _interopRequireDefault(_web);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} - -var Web3 = new _web2.default(); /* eslint-disable */ - -Number.prototype.noExponents = function () { - var data = String(this).split(/[eE]/); - if (data.length == 1) return data[0]; - - var z = ''; - var sign = this < 0 ? '-' : ''; - var str = data[0].replace('.', ''); - var mag = Number(data[1]) + 1; - - if (mag < 0) { - z = sign + '0.'; - while (mag++) {z += '0';} - return z + str.replace(/^\-/, ''); - } - mag -= str.length; - while (mag--) {z += '0';} - return str + z; -};var - -numbers = function () { - function numbers() {(0, _classCallCheck3.default)(this, numbers);}(0, _createClass3.default)(numbers, [{ key: 'fromDayMonthYear', value: function fromDayMonthYear( - - date) { - var mom = (0, _moment2.default)().dayOfYear(date.day); - mom.set('hour', date.hour); - mom.set('year', date.year); - return mom.format('ddd, hA'); - } }, { key: 'fromSmartContractTimeToMinutes', value: function fromSmartContractTimeToMinutes( - - time) { - return _dayjs2.default.unix(time).toDate(); - } }, { key: 'fromMinutesToSmartContracTime', value: function fromMinutesToSmartContracTime( - - time) { - return time; - } }, { key: 'fromHex', value: function fromHex( - - hex) { - return hex.toString(); - } }, { key: 'toFloat', value: function toFloat( - - number) { - return parseFloat(parseFloat(number).toFixed(2)); - } }, { key: 'timeToSmartContractTime', value: function timeToSmartContractTime( - - time) { - return parseInt(new Date(time).getTime() / 1000, 10); - } }, { key: 'toDate', value: function toDate( - - date) { - var mom = (0, _moment2.default)().dayOfYear(date.day); - mom.set('hour', date.hour); - mom.set('year', date.year); - return mom.unix(); - } }, { key: 'toMoney', value: function toMoney( - - number) { - return _accounting2.default.formatMoney(number, { symbol: 'EUR', format: '%v' }); - } }, { key: 'toFormatBet', value: function toFormatBet( - - number) { - return parseFloat(parseFloat(number).toFixed(6)); - } }, { key: 'formatNumber', value: function formatNumber( - - number) { - return _accounting2.default.formatNumber(number); - } }, { key: 'toSmartContractDecimals', value: function toSmartContractDecimals( - - value, decimals) { - var numberWithNoExponents = new Number( - (Number(value) * Math.pow(10, decimals)).toFixed(0)). - noExponents(); - return numberWithNoExponents; - } }, { key: 'fromBigNumberToInteger', value: function fromBigNumberToInteger( - - value) {var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 18; - return value / Math.pow(10, decimals) * 1000000000000000000; - } }, { key: 'fromDecimals', value: function fromDecimals( - - value, decimals) { - return Number( - parseFloat(value / Math.pow(10, decimals)).toPrecision(decimals)). - noExponents(); - } }, { key: 'fromExponential', value: function fromExponential( - - x) { - if (Math.abs(x) < 1.0) { - var e = parseInt(x.toString().split('e-')[1], 10); - if (e) { - x *= Math.pow(10, e - 1); - x = '0.' + new Array(e).join('0') + x.toString().substring(2); - } - } else { - var e = parseInt(x.toString().split('+')[1], 10); - if (e > 20) { - e -= 20; - x /= Math.pow(10, e); - x += new Array(e + 1).join('0'); - } - } - return x; - } }]);return numbers;}(); - - -var Numbers = new numbers();exports.default = - -Numbers; \ No newline at end of file diff --git a/contracts/.DS_Store b/contracts/.DS_Store deleted file mode 100644 index 05333fc9..00000000 Binary files a/contracts/.DS_Store and /dev/null differ diff --git a/contracts/ERC721Factory.sol b/contracts/ERC721Factory.sol index d52873e8..5159d679 100644 --- a/contracts/ERC721Factory.sol +++ b/contracts/ERC721Factory.sol @@ -76,7 +76,6 @@ contract Opener is Ownable { } _currentTokenId += amount; - _pricePerPack = _pricePerPack*109/100; } function _distributePackShares(address from, uint256 amount) internal { diff --git a/contracts/ExchangeMarket.sol b/contracts/ExchangeMarket.sol deleted file mode 100644 index a19d8b04..00000000 --- a/contracts/ExchangeMarket.sol +++ /dev/null @@ -1,496 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity >=0.6.0; - -import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -import "@openzeppelin/contracts/utils/Pausable.sol"; -import "./utils/Ownable.sol"; - -contract Exchange is Pausable, Ownable { - - using SafeMath for uint256; - - uint256 public eventId = 0; - uint256 public ODD_DECIMALS = 10**4; // 1*10**4 = 10000 => 1.000 - uint256 public CURRENCY_DECIMALS = 10**7; - uint256[] public eventIds; - mapping(uint256 => Event) public events; - mapping(address => uint256[]) public myEvents; - - - struct Fraction { - uint256 pool; /* (Pool) Total pool amount (ETH in WEI) */ - uint256 cost; /* (VF) Fraction Cost (ETH in WEI) */ - uint256 odd; /* (Odd) Odd of Fraction (in 10**4) (ex : 2.410 = 2410) */ - /* IN + OUT */ - uint256 amount; /* (#F) Total amount of fractions (in 10**18) */ - /* IN */ - uint256 inPool; /* (In) Total amount Absolute of fractions in pool (in 10**18) */ - uint256 relIn; /* (#In) Relative amount of fractions in pool (in 10**18) */ - mapping(address => uint256) inPoolBalances; /* (#In[]) Relative amount of fractions in pool per address (in 10**18)*/ - /* OUT */ - uint256 outPool; /* (Out) Total amount of fractions off pool (in 10**18) */ - uint256 relOut; /* (#Out) Relative amount of fractions off pool (in 10**18) */ - mapping(address => uint256) outPoolBalances; /* (#Out[])Relative amount of fractions off pool per address (in 10**18)*/ - /* Fees */ - uint256 fees; /* Absolute Amount of Fees available (in 10**18) */ - uint256 liqAmount; /* Absolute Amount of Fractions in liquidity */ - mapping(address => uint256) liquidity; /* Liquidity of Address - absolute values */ - // TO DO : Use fees for something - } - - struct ResultSpace { - uint256 id; /* Result Space External ID - IPFS Mapping*/ - uint256 resultId; /* Result Space ID */ - Fraction fraction; /* Amount of Fractions existent */ - mapping(address => bool) tookWinnings; /* See if Winnings were taken */ - } - - struct Event { - string name; /* Event name */ - mapping(uint256 => ResultSpace) resultSpaces; - uint256 result; /* result space id (when finalized) */ - string urlOracle; /* URL that determines the result */ - bool isResolved; /* If Resolved */ - } - - event CreateEvent(uint256 indexed id, string indexed name); - event BuyEvent(uint256 indexed id, uint256 indexed resultSpaceId, uint256 fractionAmount, uint256 fractionCost, address indexed buyer); - event CloseEvent(uint256 indexed id, uint256 indexed resultSpaceId); - event WithdrawEvent(uint256 indexed id, uint256 winAmount, address indexed buyer); - event SellEvent(uint256 indexed id, uint256 liquidateAmount, address indexed seller); - - constructor() public { - - } - - function isEventOpen(uint256 _eventId) public returns (bool success){ - return (events[_eventId].isResolved == false); - } - - function isEventClosed(uint256 _eventId) public returns (bool success){ - return (events[_eventId].isResolved == true); - } - - function createEvent(uint256[] memory _resultSpaceIds /* Descriptions */, string memory _urlOracle, string memory _eventName) payable public onlyOwner returns (bool success) { - require(_resultSpaceIds.length == 2, "Result Spaces need to be 2 "); - uint256 resultId = 1; - uint256 fractionAmount = 100*CURRENCY_DECIMALS; - uint256 initialFractionCost = msg.value.div(_resultSpaceIds.length).div(fractionAmount); /* Initial Amount */ - require(initialFractionCost > 0, "Initial Fraction Cost has to be > 0"); /* Initial Fraction Cost has to be > 0 */ - - /* Create Event */ - Event storage _event = events[eventId]; - _event.name = _eventName; - _event.urlOracle = _urlOracle; - _event.isResolved = false; - - /* Create the Result spaces */ - for (uint i = 0; i < _resultSpaceIds.length; i++) { - - ResultSpace storage resultSpace = _event.resultSpaces[resultId]; - - resultSpace.resultId = resultId; - resultSpace.id = _resultSpaceIds[i]; - - Fraction storage fraction = resultSpace.fraction; - fraction.pool = msg.value.div(_resultSpaceIds.length); - fraction.cost = initialFractionCost; - fraction.odd = _resultSpaceIds.length*ODD_DECIMALS; - fraction.amount = fractionAmount; - fraction.inPool = fractionAmount; - fraction.relIn = fractionAmount; - fraction.outPool = 0; - fraction.relOut = 0; - fraction.fees = 0; - fraction.liqAmount = 0; - - resultId = resultId + 1; - _event.resultSpaces[resultId].fraction.inPoolBalances[address(this)] = fractionAmount; - } - - eventIds.push(eventId); - emit CreateEvent(eventId, _eventName); - eventId = eventId + 1; - return true; - } - - function addLiquidity(uint256 _eventId) payable public returns (bool success) { - require(isEventOpen(_eventId)); - require(msg.value > 0, "Amount has to be > 0"); - - ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[1]; - ResultSpace storage resultSpace = events[_eventId].resultSpaces[2]; - - uint256 poolA2 = 0; - uint256 poolB2 = 0; - uint256 FA2 = 0; - uint256 FB2 = 0; - uint256 ratio = 50; /* 50% */ // resultSpace_opp.fraction.pool.div(resultSpace.fraction.pool) - - /* Pool A2 */ - poolA2 = resultSpace.fraction.pool.add(msg.value.mul(ratio).div(100)); - /* Pool B2 */ - poolB2 = resultSpace_opp.fraction.pool.add(msg.value.mul(ratio).div(100)); - - /* FA2 */ - FA2 = (poolA2.mul(resultSpace.fraction.amount)).div(resultSpace.fraction.pool); - /* FB2 */ - FB2 = (poolB2.mul(resultSpace_opp.fraction.amount)).div(resultSpace_opp.fraction.pool); - - resultSpace.fraction.pool = poolA2; - resultSpace_opp.fraction.pool = poolB2; - - uint256 fractionsToAddA = FA2.sub(resultSpace.fraction.amount); - uint256 fractionsToAddB = FB2.sub(resultSpace_opp.fraction.amount); - - uint256 inPoolA2 = resultSpace.fraction.inPool.add(fractionsToAddA); - uint256 inPoolB2 = resultSpace_opp.fraction.inPool.add(fractionsToAddB); - - uint256 relIn2 = fractionsToAddA; - uint256 relIn2_opp = fractionsToAddB; - - if(resultSpace.fraction.relIn > 0){ - relIn2 = inPoolA2.mul(resultSpace.fraction.relIn).div(resultSpace.fraction.inPool); - } - if(resultSpace_opp.fraction.relIn > 0){ - relIn2_opp = inPoolB2.mul(resultSpace_opp.fraction.relIn).div(resultSpace_opp.fraction.inPool); - } - - /* INA2 */ - resultSpace.fraction.inPool = inPoolA2; - /* INB2 */ - resultSpace_opp.fraction.inPool = inPoolB2; - - /* INA[]2 */ - resultSpace.fraction.inPoolBalances[msg.sender] = resultSpace.fraction.inPoolBalances[msg.sender].add(relIn2.sub(resultSpace.fraction.relIn)); - /* INB[]2 */ - resultSpace_opp.fraction.inPoolBalances[msg.sender] = resultSpace_opp.fraction.inPoolBalances[msg.sender].add(relIn2_opp.sub(resultSpace_opp.fraction.relIn)); - - /* LiqA[]2 */ - resultSpace.fraction.liquidity[msg.sender] = resultSpace.fraction.liquidity[msg.sender].add(fractionsToAddA); - /* LiqB[]2 */ - resultSpace_opp.fraction.liquidity[msg.sender] = resultSpace_opp.fraction.liquidity[msg.sender].add(fractionsToAddB); - - /* #INA2 */ - resultSpace.fraction.relIn = relIn2; - /* #INB2 */ - resultSpace_opp.fraction.relIn = relIn2_opp; - - resultSpace.fraction.amount = FA2; - resultSpace_opp.fraction.amount = FB2; - - /* Add Liquidity Amount */ - resultSpace.fraction.liqAmount = resultSpace.fraction.liqAmount.add(fractionsToAddA); - resultSpace_opp.fraction.liqAmount = resultSpace.fraction.liqAmount.add(fractionsToAddB); - - myEvents[msg.sender].push(_eventId); - } - - function removeLiquidity(uint256 _eventId) public returns (bool success) { - - ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[1]; - ResultSpace storage resultSpace = events[_eventId].resultSpaces[2]; - - require(resultSpace.fraction.liquidity[msg.sender] > 0, "Liquidity has to bigger than 0"); - require(resultSpace_opp.fraction.liquidity[msg.sender] > 0, "Liquidity has to bigger than 0"); - - uint256 poolA2 = 0; - uint256 poolB2 = 0; - - uint256 liqPoolAfromUser = resultSpace.fraction.liquidity[msg.sender].mul(resultSpace.fraction.pool).div(resultSpace.fraction.amount); - uint256 liqPoolBfromUser = resultSpace_opp.fraction.liquidity[msg.sender].mul(resultSpace_opp.fraction.pool).div(resultSpace_opp.fraction.amount); - - /* Pool A2 */ - resultSpace.fraction.pool = resultSpace.fraction.pool.sub(liqPoolAfromUser); - /* Pool B2 */ - resultSpace_opp.fraction.pool = resultSpace_opp.fraction.pool.sub(liqPoolBfromUser); - - /* FA2 */ - resultSpace.fraction.amount = resultSpace.fraction.amount.sub(resultSpace.fraction.liquidity[msg.sender]); - /* FB2 */ - resultSpace_opp.fraction.amount = resultSpace_opp.fraction.amount.sub(resultSpace_opp.fraction.liquidity[msg.sender]); - - /* INA2 */ - uint256 inPoolA2 = resultSpace.fraction.inPool.sub(resultSpace.fraction.liquidity[msg.sender]); - /* INB2 */ - uint256 inPoolB2 = resultSpace_opp.fraction.inPool.sub(resultSpace_opp.fraction.liquidity[msg.sender]); - - /* #INA2 */ - uint256 relAIn = resultSpace.fraction.relIn.mul(inPoolA2).div(resultSpace.fraction.inPool); - /* #INB2 */ - uint256 relBIn = resultSpace_opp.fraction.relIn.mul(inPoolB2).div(resultSpace_opp.fraction.inPool); - - /* Initial Fractions Amount */ - uint256 initialFractionsA = resultSpace.fraction.inPoolBalances[msg.sender].mul(resultSpace.fraction.inPool).div(resultSpace.fraction.relIn); - uint256 initialFractionsB = resultSpace_opp.fraction.inPoolBalances[msg.sender].mul(resultSpace_opp.fraction.inPool).div(resultSpace_opp.fraction.relIn); - - /* INA[]2 */ - resultSpace.fraction.inPoolBalances[msg.sender] = relAIn.mul(initialFractionsA.sub(resultSpace.fraction.liquidity[msg.sender])).div(inPoolA2); - /* INB[]2 */ - resultSpace_opp.fraction.inPoolBalances[msg.sender] = relBIn.mul(initialFractionsB.sub(resultSpace_opp.fraction.liquidity[msg.sender])).div(inPoolB2); - - resultSpace.fraction.inPool = inPoolA2; - resultSpace_opp.fraction.inPool = inPoolB2; - - resultSpace.fraction.relIn = relAIn; - resultSpace_opp.fraction.relIn = relBIn; - - /* Remove Liquidity Amount */ - resultSpace.fraction.liqAmount = resultSpace.fraction.liqAmount.sub(resultSpace.fraction.liquidity[msg.sender]); - resultSpace_opp.fraction.liqAmount = resultSpace_opp.fraction.liqAmount.sub(resultSpace_opp.fraction.liquidity[msg.sender]); - - /* LiqA[]2 */ - resultSpace.fraction.liquidity[msg.sender] = 0; - /* LiqB[]2 */ - resultSpace_opp.fraction.liquidity[msg.sender] = 0; - - uint256 totalLiquidity = liqPoolAfromUser.mul(resultSpace.fraction.cost).add(liqPoolBfromUser.mul(resultSpace_opp.fraction.cost)); - /* Remove Liquidity */ - msg.sender.transfer(totalLiquidity); - } - - function buy(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) payable public returns (bool success) { - require(isEventOpen(_eventId)); - require(_fractionsAmount > 0, "Amount has to be > 0"); - - uint256 _oppResSpaceId = 1; - if(_resultSpaceId == 1){_oppResSpaceId = 2;} - - ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[_oppResSpaceId]; - ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - - uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount); - uint256 previousFractionCost = resultSpace.fraction.cost; - - uint256 slipage = getSlipageOnBuy(_eventId, _resultSpaceId, _fractionsAmount); - require(slipage < 3, "Slipage has to be less than 3"); - - require(msg.value == marketValue, "Tx value has to be equal to payable sent"); - - /* Pool A2 */ - resultSpace.fraction.pool = resultSpace.fraction.pool.add(marketValue); - /* Odd A2 */ - resultSpace.fraction.odd = 1*ODD_DECIMALS + (resultSpace_opp.fraction.pool.mul(ODD_DECIMALS).div(resultSpace.fraction.pool)); - /* Odd B2 */ - resultSpace_opp.fraction.odd = 1*ODD_DECIMALS + (resultSpace.fraction.pool.mul(ODD_DECIMALS).div(resultSpace_opp.fraction.pool)); - /* VF A2 */ - resultSpace.fraction.cost = resultSpace.fraction.pool.div(resultSpace.fraction.amount); - /* VF B2 */ - resultSpace_opp.fraction.cost = resultSpace_opp.fraction.pool.div(resultSpace_opp.fraction.amount); - /* #In A2 */ - uint256 relIn2 = _fractionsAmount; - if(resultSpace.fraction.relIn > 0){ - relIn2 = resultSpace.fraction.relIn.div(1 - (previousFractionCost.div(resultSpace.fraction.relIn))); - } - /* #In[] A2 */ - resultSpace.fraction.inPoolBalances[msg.sender] = relIn2.sub(resultSpace.fraction.relIn); - resultSpace.fraction.relIn = relIn2; - myEvents[msg.sender].push(_eventId); - emit BuyEvent(_eventId, _resultSpaceId, _fractionsAmount, previousFractionCost, msg.sender); - return true; - } - - function sell(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) { - require(isEventOpen(_eventId)); - require(_fractionsAmount > 0, "Amount has to be > 0"); - - ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - uint256 _oppResSpaceId = 1; - if(_resultSpaceId == 1){_oppResSpaceId = 2;} - ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[_oppResSpaceId]; - - uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relOut)).div(resultSpace.fraction.outPool); - require(resultSpace.fraction.outPoolBalances[msg.sender] > fractionsAmountRelative, "No Balance to Liquidate"); - - uint256 slipage = getSlipageOnSell(_eventId, _resultSpaceId, _fractionsAmount); - require(slipage < 3, "Slipage has to be less than 3"); - - uint256 marketValue = _fractionsAmount.mul(resultSpace.fraction.cost); - - /* #Out[] A2 */ - resultSpace.fraction.outPoolBalances[msg.sender] = resultSpace.fraction.outPoolBalances[msg.sender].sub(fractionsAmountRelative); - /* Out A2 */ - resultSpace.fraction.outPool = resultSpace.fraction.outPool.sub(_fractionsAmount); - /* #Out A2 */ - resultSpace.fraction.relOut = resultSpace.fraction.relOut.sub(fractionsAmountRelative); - /* In A2 */ - resultSpace.fraction.inPool = resultSpace.fraction.inPool.add(_fractionsAmount); - /* Pool A2 */ - resultSpace.fraction.pool = resultSpace.fraction.pool.sub(marketValue); - /* Odd A2 */ - resultSpace.fraction.odd = 1*ODD_DECIMALS + (resultSpace_opp.fraction.pool.mul(ODD_DECIMALS).div(resultSpace.fraction.pool)); - /* Odd B2 */ - resultSpace_opp.fraction.odd = 1*ODD_DECIMALS + (resultSpace.fraction.pool.mul(ODD_DECIMALS).div(resultSpace_opp.fraction.pool)); - /* VF A2 */ - resultSpace.fraction.cost = resultSpace.fraction.pool.div(resultSpace.fraction.amount); - /* VF B2 */ - resultSpace_opp.fraction.cost = resultSpace_opp.fraction.pool.div(resultSpace_opp.fraction.amount); - - /* Liquidate the pool capital to the seller */ - msg.sender.transfer(marketValue); - - /* Winnings taken */ - emit SellEvent(_eventId, marketValue, msg.sender); - return true; - } - - function getSlipageOnSell(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256 slipage) { - ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount); - uint256 newValue = (resultSpace.fraction.pool.sub(marketValue)).div(resultSpace.fraction.amount); - return newValue.mul(100).div(marketValue); - } - - function getSlipageOnBuy(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256 slipage) { - ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - uint256 marketValue = getFractionsCost(_eventId, _resultSpaceId, _fractionsAmount); - uint256 newValue = (resultSpace.fraction.pool.sub(marketValue)).div(resultSpace.fraction.amount); - return marketValue.mul(100).div(newValue); - } - - function getFractionsCost(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) view public returns (uint256) { - ResultSpace memory resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - return _fractionsAmount.mul(resultSpace.fraction.cost); - } - - function pullFractions(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) { - require(isEventOpen(_eventId)); - require(_fractionsAmount > 0, "Amount has to be > 0"); - - ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - /* #FT */ - uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relIn)).div(resultSpace.fraction.inPool); - require(resultSpace.fraction.inPoolBalances[msg.sender] > fractionsAmountRelative, "No Balance to Pull Fractions"); - - uint256 fractionsOutsideOfLiquidity = resultSpace.fraction.relIn.mul(resultSpace.fraction.inPoolBalances[msg.sender]).div(resultSpace.fraction.inPool); - require(_fractionsAmount < fractionsOutsideOfLiquidity, "Amount of Fractions outside of liquidity have to be bigger than proposed"); - - /* #In[] A2 */ - resultSpace.fraction.inPoolBalances[msg.sender] = resultSpace.fraction.inPoolBalances[msg.sender].sub(fractionsAmountRelative); - /* In A2 */ - resultSpace.fraction.inPool = resultSpace.fraction.inPool.sub(_fractionsAmount); - /* #In A2 */ - resultSpace.fraction.relIn = resultSpace.fraction.relIn.sub(fractionsAmountRelative); - - uint256 out2 = resultSpace.fraction.outPool.add(_fractionsAmount); - uint256 relOut2 = (resultSpace.fraction.relOut.mul(out2)).div(resultSpace.fraction.outPool); - - /* #Out[] A2 */ - resultSpace.fraction.outPoolBalances[msg.sender] = relOut2.sub(resultSpace.fraction.relOut); - /* #Out A2 */ - resultSpace.fraction.relOut = relOut2; - /* Out A2 */ - resultSpace.fraction.outPool = out2; - - return true; - } - - function pushFractions(uint256 _eventId, uint256 _resultSpaceId, uint256 _fractionsAmount) public returns (bool success) { - require(isEventOpen(_eventId)); - require(_fractionsAmount > 0, "Amount has to be > 0"); - - ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - - /* #FT */ - uint256 fractionsAmountRelative = (_fractionsAmount.mul(resultSpace.fraction.relOut)).div(resultSpace.fraction.outPool); - require(resultSpace.fraction.outPoolBalances[msg.sender] > fractionsAmountRelative, "No Balance to Pull Fractions"); - - /* #Out[] A2 */ - resultSpace.fraction.outPoolBalances[msg.sender] = resultSpace.fraction.outPoolBalances[msg.sender].sub(fractionsAmountRelative); - /* Out A2 */ - resultSpace.fraction.outPool = resultSpace.fraction.outPool.sub(_fractionsAmount); - /* #Out A2 */ - resultSpace.fraction.relOut = resultSpace.fraction.relOut.sub(fractionsAmountRelative); - - uint256 in2 = resultSpace.fraction.inPool.add(_fractionsAmount); - uint256 relIn2 = (resultSpace.fraction.relIn.mul(in2)).div(resultSpace.fraction.inPool); - - /* #Int[] A2 */ - resultSpace.fraction.inPoolBalances[msg.sender] = relIn2.sub(resultSpace.fraction.relIn); - /* #In A2 */ - resultSpace.fraction.relIn = relIn2; - /* In A2 */ - resultSpace.fraction.inPool = in2; - - return true; - } - - /* Event Resolution */ - function resolveEvent(uint256 _eventId, uint256 _resultId) public onlyOwner returns (bool success) { - require(isEventOpen(_eventId)); - /* Confirm it exists */ - require((_resultId > 0) && (_resultId < 3)); - /* Set the result */ - events[_eventId].result = _resultId; - /* Close Event */ - events[_eventId].isResolved = true; - emit CloseEvent(_eventId, _resultId); - } - - function withdrawWins(uint256 _eventId, uint256 _resultSpaceId) public returns (bool success) { - - require(isEventClosed(_eventId), "Event has to be closed"); - ResultSpace storage resultSpace = events[_eventId].resultSpaces[_resultSpaceId]; - require(events[_eventId].result == _resultSpaceId, "Result Space is not the winner"); - require(resultSpace.tookWinnings[msg.sender] == false, "Winning already taken"); - - /* Get Win Amount */ - uint256 absoluteFractionsIn = (resultSpace.fraction.inPoolBalances[msg.sender].mul(resultSpace.fraction.inPool)).div(resultSpace.fraction.relIn); - uint256 absoluteFractionsOut = (resultSpace.fraction.outPoolBalances[msg.sender].mul(resultSpace.fraction.outPool)).div(resultSpace.fraction.relOut); - uint256 winningAmount = ((absoluteFractionsOut.add(absoluteFractionsIn)).mul(resultSpace.fraction.cost).mul(resultSpace.fraction.odd)).div(ODD_DECIMALS.mul(CURRENCY_DECIMALS)); - - /* Send Winnings */ - msg.sender.transfer(winningAmount); - - /* Winnings taken */ - events[_eventId].resultSpaces[_resultSpaceId].tookWinnings[msg.sender] = true; - emit WithdrawEvent(_eventId, winningAmount, msg.sender); - } - - /* Get All Events */ - function getEvents() view public returns (uint256[] memory event_ids) { - return eventIds; - } - - /* Get Event Date */ - function getEventData(uint256 _eventId) view public returns (string memory, uint256, string memory, bool) { - Event memory _event = events[_eventId]; - /* Return Event Data */ - return (_event.name, _event.result, _event.urlOracle, _event.isResolved); - } - - /* Get Result Space Date */ - function getResultSpaceData(uint256 _eventId, uint256 resultSpace_id) view public returns ( - uint256 _id, uint256 _resultId, uint256 _pool, uint256 _cost, uint256 _odd, - uint256 _amount, uint256 _in, uint256 _out, uint256 _fees, uint256 _liqAmount - ) { - ResultSpace memory resultSpace = events[_eventId].resultSpaces[resultSpace_id]; - - return (resultSpace.id, resultSpace.resultId, resultSpace.fraction.pool, resultSpace.fraction.cost, - resultSpace.fraction.odd, resultSpace.fraction.amount, resultSpace.fraction.inPool, resultSpace.fraction.outPool, - resultSpace.fraction.fees, resultSpace.fraction.liqAmount); - } - - /* Get Portfolio of My events based on address */ - function getMyEvents() view public returns (uint256[] memory){ - return myEvents[msg.sender]; - } - - /* Get Portfolio of My Holdings/Liquidity on Event Data based on address (IN / OUT / Liquidity for each type) */ - function getMyEventHoldings(uint256 _eventId) view public returns (uint256, uint256, uint256, uint256, uint256, uint256){ - /* TO DO */ - ResultSpace storage resultSpace = events[_eventId].resultSpaces[1]; - ResultSpace storage resultSpace_opp = events[_eventId].resultSpaces[2]; - - return ( - resultSpace.fraction.inPoolBalances[msg.sender], resultSpace.fraction.outPoolBalances[msg.sender], resultSpace.fraction.liquidity[msg.sender], - resultSpace_opp.fraction.inPoolBalances[msg.sender], resultSpace_opp.fraction.outPoolBalances[msg.sender], resultSpace_opp.fraction.liquidity[msg.sender] - ); - } - - function removeOtherERC20Tokens(address _tokenAddress, address _to) external onlyOwner { - ERC20 erc20Token = ERC20(_tokenAddress); - erc20Token.transfer(_to, erc20Token.balanceOf(address(this))); - } -} \ No newline at end of file diff --git a/contracts/StakingContract.sol b/contracts/StakingContract.sol index a58a657b..49e15e9c 100644 --- a/contracts/StakingContract.sol +++ b/contracts/StakingContract.sol @@ -40,6 +40,7 @@ contract StakingContract is Pausable, Ownable { uint256 endDate; uint256 totalMaxAmount; uint256 individualMinimumAmount; + uint256 individualMaximumAmount; /* FIX PF */ uint256 APR; /* APR for this product */ uint256 currentAmount; bool lockedUntilFinalization; /* Product can only be withdrawn when finalized */ @@ -72,32 +73,38 @@ contract StakingContract is Pausable, Ownable { uint256 time = block.timestamp; /* Confirm Amount is positive */ - require(_amount > 0); + require(_amount > 0, "Amount has to be bigger than 0"); /* Confirm user has at least one NFT */ require(IERC721(erc721).balanceOf(msg.sender) > 0, "Must hold at least 1 NFT"); /* Confirm product still exists */ - require(block.timestamp < products[_product_id].endDate); + require(block.timestamp < products[_product_id].endDate, "Already ended the subscription"); /* Confirm Subscription prior to opening */ if(block.timestamp < products[_product_id].startDate){ time = products[_product_id].startDate; } + + /* Confirm the user has funds for the transfer */ + require(_amount <= erc20.allowance(msg.sender, address(this)), "Spender not authorized to spend this tokens, allow first"); /* Confirm Max Amount was not hit already */ - require(products[_product_id].totalMaxAmount > (products[_product_id].currentAmount + _amount)); + require(products[_product_id].totalMaxAmount > (products[_product_id].currentAmount + _amount), "Max Amount was already hit"); /* Confirm Amount is bigger than minimum Amount */ - require(_amount >= products[_product_id].individualMinimumAmount); + require(_amount >= products[_product_id].individualMinimumAmount, "Has to be highger than minimum"); + + /* Confirm Amount is smaller than maximum Amount */ /* FIX PF */ + require(_amount <= products[_product_id].individualMaximumAmount, "Has to be smaller than maximum"); uint256 futureAPRAmount = getAPRAmount(products[_product_id].APR, time, products[_product_id].endDate, _amount); /* Confirm the current funds can assure the user the APR is valid */ - require(availableTokens() >= futureAPRAmount); + require(availableTokens() >= futureAPRAmount, "Available Tokens has to be higher than the future APR Amount"); /* Confirm the user has funds for the transfer */ - require(erc20.transferFrom(msg.sender, address(this), _amount)); + require(erc20.transferFrom(msg.sender, address(this), _amount), "Transfer Failed"); /* Add to LockedTokens */ lockedTokens = lockedTokens.add(_amount.add(futureAPRAmount)); @@ -117,7 +124,7 @@ contract StakingContract is Pausable, Ownable { products[_product_id].subscribers.push(msg.sender); } - function createProduct(uint256 _startDate, uint256 _endDate, uint256 _totalMaxAmount, uint256 _individualMinimumAmount, uint256 _APR, bool _lockedUntilFinalization) external whenNotPaused onlyOwner { + function createProduct(uint256 _startDate, uint256 _endDate, uint256 _totalMaxAmount, uint256 _individualMinimumAmount, uint256 _individualMaximumAmount, uint256 _APR, bool _lockedUntilFinalization) external whenNotPaused onlyOwner { /* Confirmations */ require(block.timestamp < _endDate); @@ -125,14 +132,16 @@ contract StakingContract is Pausable, Ownable { require(_startDate < _endDate); require(_totalMaxAmount > 0); require(_individualMinimumAmount > 0); + require(_individualMaximumAmount > 0); require(_totalMaxAmount > _individualMinimumAmount); + require(_totalMaxAmount > _individualMaximumAmount); require(_APR > 0); address[] memory addressesI; uint256[] memory subscriptionsI; /* Create ProductAPR Object */ - ProductAPR memory productAPR = ProductAPR(block.timestamp, _startDate, _endDate, _totalMaxAmount, _individualMinimumAmount, _APR, 0, _lockedUntilFinalization, + ProductAPR memory productAPR = ProductAPR(block.timestamp, _startDate, _endDate, _totalMaxAmount, _individualMinimumAmount, _individualMaximumAmount, _APR, 0, _lockedUntilFinalization, addressesI, subscriptionsI); uint256 product_id = productIds.length + 1; @@ -210,12 +219,12 @@ contract StakingContract is Pausable, Ownable { subscription.amount, subscription.subscriberAddress, subscription.APR, subscription.finalized, subscription.withdrawAmount); } - function getProduct(uint256 _product_id) external view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, bool, address[] memory, uint256[] memory){ + function getProduct(uint256 _product_id) external view returns (uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, bool, address[] memory, uint256[] memory){ ProductAPR memory product = products[_product_id]; return (product.createdAt, product.startDate, product.endDate, product.totalMaxAmount, - product.individualMinimumAmount, product.APR, product.currentAmount, product.lockedUntilFinalization, + product.individualMinimumAmount, product.individualMaximumAmount, product.APR, product.currentAmount, product.lockedUntilFinalization, product.subscribers, product.subscriptionIds ); } diff --git a/contracts/bepro/Network.sol b/contracts/bepro/Network.sol index 217e72d9..47b56e75 100644 --- a/contracts/bepro/Network.sol +++ b/contracts/bepro/Network.sol @@ -2,12 +2,13 @@ pragma solidity >=0.6.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/utils/Pausable.sol"; -import "../utils/Ownable.sol"; - +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; +import "../utils/Governed.sol"; /** * @dev Interface of the ERC20 standard + mint & burn */ + interface _IERC20 is IERC20 { /** @@ -20,47 +21,45 @@ interface _IERC20 is IERC20 { */ function burn(address account, uint256 amount) external; + function decimals() external returns (uint256); } /** - * @title BEPRO Network Contract + * @title Development Network Contract Autonomous Use */ -contract BEPRONetwork is Pausable, Ownable{ +contract Network is Pausable, Governed, ReentrancyGuard{ using SafeMath for uint256; - _IERC20 public beproToken; + _IERC20 public settlerToken; + _IERC20 public transactionToken; uint256 constant private year = 365 days; uint256 public incrementIssueID = 1; uint256 public closedIdsCount = 0; uint256 public totalStaked = 0; - address public feeAddress = 0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A; - uint256 public feeShare = 2; // (%) - Share to go to marketplace manager - uint256 public mergeCreatorFeeShare = 1; // (%) - Share to go to the merge proposal creator - uint256 public percentageNeededForApprove = 10; // (%) - Amount needed to approve a PR and distribute the rewards + uint256 public mergeCreatorFeeShare = 3; // (%) - Share to go to the merge proposal creator uint256 public percentageNeededForDispute = 3; // (%) - Amount needed to approve a PR and distribute the rewards - uint256 constant public timeOpenForIssueApprove = 3 days; - uint256 public percentageNeededForMerge = 20; // (%) - Amount needed to approve a PR and distribute the rewards - uint256 public beproVotesStaked = 0; + uint256 public disputableTime = 3 days; + uint256 public redeemTime = 1 days; + uint256 public oraclesStaked = 0; - uint256 public COUNCIL_BEPRO_AMOUNT = 10000000; // 10M - uint256 public OPERATOR_BEPRO_AMOUNT = 1000000; // 1M - uint256 public DEVELOPER_BEPRO_AMOUNT = 10000; // 10k + uint256 public COUNCIL_AMOUNT = 25000000*10**18; // 25M mapping(uint256 => Issue) public issues; /* Distribution object */ + mapping(string => uint256) public issuesCIDtoID; /* Distribution object */ mapping(address => uint256[]) public myIssues; /* Address Based Subcription */ - mapping(address => Voter) public voters; - address[] public votersArray; + mapping(address => Oracler) public oraclers; + address[] public oraclersArray; struct MergeProposal { uint256 _id; - mapping(address => uint256) votesForMergeByAddress; // Address -> Votes for that merge - mapping(address => uint256) disputesForMergeByAddress; // Address -> Votes for that merge - uint256 votes; // Amount of votes set - uint256 disputes; // Amount of votes set + uint256 creationDate; + mapping(address => uint256) disputesForMergeByAddress; // Address -> oracles for that merge + uint256 oracles; // Amount of oracles set + uint256 disputes; // Amount of oracles set address[] prAddresses; uint256[] prAmounts; address proposalAddress; @@ -68,224 +67,213 @@ contract BEPRONetwork is Pausable, Ownable{ struct Issue { uint256 _id; + string cid; uint256 creationDate; - uint256 beproStaked; + uint256 tokensStaked; address issueGenerator; - mapping(address => uint256) votesForApproveByAddress; - uint256 votesForApprove; mapping(uint256 => MergeProposal) mergeProposals; // Id -> Merge Proposal uint256 mergeIDIncrement; bool finalized; + bool recognizedAsFinished; bool canceled; } - struct Voter { - uint256 votesDelegatedByOthers; - mapping(address => uint256) votesDelegated; - address[] delegatedVotesAddresses; - uint256 beproLocked; + struct Oracler { + uint256 oraclesDelegatedByOthers; + mapping(address => uint256) oraclesDelegated; + address[] delegatedOraclesAddresses; + uint256 tokensLocked; } event OpenIssue(uint256 indexed id, address indexed opener, uint256 indexed amount); - event ApproveIssue(uint256 indexed id, uint256 indexed votes, address indexed approver); + event RedeemIssue(uint256 indexed id); event MergeProposalCreated(uint256 indexed id, uint256 indexed mergeID, address indexed creator); - event DisputeMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed disputer); - event ApproveMerge(uint256 indexed id, uint256 indexed mergeID, uint256 votes, address indexed approver); - event CloseIssue(uint256 indexed id, uint256 indexed mergeID, address[] indexed addresses); - - constructor(address _tokenAddress) public { - beproToken = _IERC20(_tokenAddress); + event DisputeMerge(uint256 indexed id, uint256 indexed mergeID, uint256 oracles, address indexed disputer); + event CloseIssue(uint256 indexed id, uint256 indexed mergeID); + event RecognizedAsFinished(uint256 indexed id); + + constructor(address _settlerToken, address _transactionToken, address _governor) public { + settlerToken = _IERC20(_settlerToken); + transactionToken = _IERC20(_transactionToken); + _governor = _governor; } - function lockBepro(uint256 _beproAmount) public { - require(_beproAmount > 0, "BEPRO Amount is to be higher than 0"); - require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), "Needs Allowance"); + function lock(uint256 _tokenAmount) external { + require(_tokenAmount > 0, "Token Amount has to be higher than 0"); + require(settlerToken.transferFrom(msg.sender, address(this), _tokenAmount), "Needs Allowance"); - if(voters[msg.sender].beproLocked != 0){ + if(oraclers[msg.sender].tokensLocked != 0){ // Exists - voters[msg.sender].votesDelegated[msg.sender] = voters[msg.sender].votesDelegated[msg.sender].add(_beproAmount); - voters[msg.sender].beproLocked = voters[msg.sender].beproLocked.add(_beproAmount); + oraclers[msg.sender].oraclesDelegated[msg.sender] = oraclers[msg.sender].oraclesDelegated[msg.sender].add(_tokenAmount); + oraclers[msg.sender].tokensLocked = oraclers[msg.sender].tokensLocked.add(_tokenAmount); }else{ // Does not exist - Voter storage voter = voters[msg.sender]; - voter.beproLocked = _beproAmount; - voter.delegatedVotesAddresses = [msg.sender]; - voter.votesDelegated[msg.sender] = _beproAmount; - votersArray.push(msg.sender); + Oracler storage oracler = oraclers[msg.sender]; + oracler.tokensLocked = _tokenAmount; + oracler.delegatedOraclesAddresses = [msg.sender]; + oracler.oraclesDelegated[msg.sender] = _tokenAmount; + oraclersArray.push(msg.sender); } + + oraclesStaked = oraclesStaked.add(_tokenAmount); } - function unlockBepro(uint256 _beproAmount, address _from) public { - Voter storage voter = voters[msg.sender]; - require(voter.beproLocked >= _beproAmount, "Has to have bepro to unlock"); - require(voter.votesDelegated[_from] >= _beproAmount, "From has to have bepro to unlock"); + function unlock(uint256 _tokenAmount, address _from) external nonReentrant{ + Oracler storage oracler = oraclers[msg.sender]; + require(oracler.tokensLocked >= _tokenAmount, "Has to have tokens to unlock"); + require(oracler.oraclesDelegated[_from] >= _tokenAmount, "From has to have enough tokens to unlock"); + + oraclers[msg.sender].tokensLocked = oracler.tokensLocked.sub(_tokenAmount); + oraclers[msg.sender].oraclesDelegated[_from] = oracler.oraclesDelegated[_from].sub(_tokenAmount); - voters[msg.sender].beproLocked = voter.beproLocked.sub(_beproAmount); - voters[msg.sender].votesDelegated[_from] = voter.votesDelegated[_from].sub(_beproAmount); if(msg.sender != _from){ - voters[_from].votesDelegatedByOthers = voters[_from].votesDelegatedByOthers.sub(_beproAmount); + oraclers[_from].oraclesDelegatedByOthers = oraclers[_from].oraclesDelegatedByOthers.sub(_tokenAmount); } - require(beproToken.transfer(msg.sender, _beproAmount), "Transfer didnt work"); - beproVotesStaked.sub(_beproAmount); + require(settlerToken.transfer(msg.sender, _tokenAmount), "Transfer didnt work"); + oraclesStaked = oraclesStaked.sub(_tokenAmount); } - function delegateOracles(uint256 _beproAmount, address _delegatedTo) internal { - Voter storage voter = voters[msg.sender]; + function delegateOracles(uint256 _tokenAmount, address _delegatedTo) external { + Oracler storage oracler = oraclers[msg.sender]; require(_delegatedTo != address(0), "Cannot transfer to the zero address"); require(_delegatedTo != msg.sender, "Cannot transfer to itself"); - require(voter.beproLocked >= _beproAmount, "Has to have bepro to unlock"); - require(voter.votesDelegated[msg.sender] >= _beproAmount, "From has to have bepro to unlock"); - - voters[msg.sender].votesDelegated[msg.sender] = voter.votesDelegated[msg.sender].sub(_beproAmount); - voters[msg.sender].votesDelegated[_delegatedTo] = voter.votesDelegated[_delegatedTo].add(_beproAmount); - - require(voters[_delegatedTo].beproLocked != uint256(0), "Delegated to has to have voted already"); - voters[_delegatedTo].votesDelegatedByOthers = voters[_delegatedTo].votesDelegatedByOthers.add(_beproAmount); - } - - function approveIssue(uint256 _issueID) public { - Voter memory voter = voters[msg.sender]; - Issue memory issue = issues[_issueID]; - require(issue._id != 0, "Issue does not exist"); - require(isIssueApprovable(_issueID)); - require(issues[_issueID].votesForApproveByAddress[msg.sender] == 0, "Has already voted"); - - uint256 votesToAdd = getVotesByAddress(msg.sender); - issues[_issueID].votesForApprove = issues[_issueID].votesForApprove.add(votesToAdd); - issues[_issueID].votesForApproveByAddress[msg.sender] = votesToAdd; + require(oracler.tokensLocked >= _tokenAmount, "Has to have tokens to unlock"); + require(oracler.oraclesDelegated[msg.sender] >= _tokenAmount, "From has to have tokens to use to delegate"); - emit ApproveIssue(_issueID, votesToAdd, msg.sender); + oraclers[msg.sender].oraclesDelegated[msg.sender] = oracler.oraclesDelegated[msg.sender].sub(_tokenAmount); + oraclers[msg.sender].delegatedOraclesAddresses.push(_delegatedTo); + oraclers[msg.sender].oraclesDelegated[_delegatedTo] = oracler.oraclesDelegated[_delegatedTo].add(_tokenAmount); + //require(oraclers[_delegatedTo].tokensLocked != uint256(0), "Delegated to has to have oracled already"); + oraclers[_delegatedTo].oraclesDelegatedByOthers = oraclers[_delegatedTo].oraclesDelegatedByOthers.add(_tokenAmount); } - function approveMerge(uint256 _issueID, uint256 _mergeID) public { - Voter memory voter = voters[msg.sender]; + function disputeMerge(uint256 _issueID, uint256 _mergeID) external { Issue memory issue = issues[_issueID]; MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID]; require(issue._id != 0, "Issue does not exist"); require(issue.mergeIDIncrement > _mergeID, "Merge Proposal does not exist"); - require(merge.votesForMergeByAddress[msg.sender] == 0, "Has already voted"); + require(merge.disputesForMergeByAddress[msg.sender] == 0, "Has already oracled"); - uint256 votesToAdd = getVotesByAddress(msg.sender); + uint256 oraclesToAdd = getOraclesByAddress(msg.sender); - issues[_issueID].mergeProposals[_mergeID].votes = merge.votes.add(votesToAdd); - issues[_issueID].mergeProposals[_mergeID].votesForMergeByAddress[msg.sender] = votesToAdd; + issues[_issueID].mergeProposals[_mergeID].disputes = merge.disputes.add(oraclesToAdd); + issues[_issueID].mergeProposals[_mergeID].disputesForMergeByAddress[msg.sender] = oraclesToAdd; - emit ApproveMerge(_issueID, _mergeID, votesToAdd, msg.sender); + emit DisputeMerge(_issueID, _mergeID, oraclesToAdd, msg.sender); } - function disputeMerge(uint256 _issueID, uint256 _mergeID) public { - Voter memory voter = voters[msg.sender]; - Issue memory issue = issues[_issueID]; - MergeProposal storage merge = issues[_issueID].mergeProposals[_mergeID]; - require(issue._id != 0, "Issue does not exist"); - require(issue.mergeIDIncrement > _mergeID, "Merge Proposal does not exist"); - require(merge.disputesForMergeByAddress[msg.sender] == 0, "Has already voted"); - - uint256 votesToAdd = getVotesByAddress(msg.sender); - - issues[_issueID].mergeProposals[_mergeID].disputes = merge.disputes.add(votesToAdd); - issues[_issueID].mergeProposals[_mergeID].disputesForMergeByAddress[msg.sender] = votesToAdd; - - emit DisputeMerge(_issueID, _mergeID, votesToAdd, msg.sender); - } - - function isIssueApprovable(uint256 _issueID) public returns (bool){ + function isIssueInDraft(uint256 _issueID) public view returns (bool){ // Only if in the open window - return (issues[_issueID].creationDate.add(timeOpenForIssueApprove) < block.timestamp); + require(issues[_issueID].creationDate != 0, "Issue does not exist"); + return (block.timestamp <= issues[_issueID].creationDate.add(redeemTime)); } - function isIssueApproved(uint256 _issueID) public returns (bool) { - return (issues[_issueID].votesForApprove >= beproVotesStaked.mul(percentageNeededForApprove).div(100)); + function isMergeInDraft(uint256 _issueID, uint256 _mergeID) public returns (bool) { + require(issues[_issueID].creationDate != 0, "Issue does not exist"); + require(issues[_issueID].mergeProposals[_mergeID].proposalAddress != address(0), "Merge does not exist"); + return (block.timestamp <= issues[_issueID].mergeProposals[_mergeID].creationDate.add(disputableTime)); } function isMergeDisputed(uint256 _issueID, uint256 _mergeID) public returns (bool) { - return (issues[_issueID].mergeProposals[_mergeID].disputes >= beproVotesStaked.mul(percentageNeededForDispute).div(100)); - } - - function isMergeApproved(uint256 _issueID, uint256 _mergeID) public returns (bool) { - return (issues[_issueID].mergeProposals[_mergeID].votes >= beproVotesStaked.mul(percentageNeededForMerge).div(100)); - } - - function isMergeTheOneWithMoreVotes(uint256 _issueID, uint256 _mergeID) public returns (bool) { - uint256 thisMergeVotes = issues[_issueID].mergeProposals[_mergeID].votes; - for(uint8 i = 0; i < issues[_issueID].mergeIDIncrement; i++){ - if(issues[_issueID].mergeProposals[i].votes > thisMergeVotes){ - return false; - } - } - return true; + require(issues[_issueID].creationDate != 0, "Issue does not exist"); + require(issues[_issueID].mergeProposals[_mergeID].proposalAddress != address(0), "Merge does not exist"); + return (issues[_issueID].mergeProposals[_mergeID].disputes >= oraclesStaked.mul(percentageNeededForDispute).div(100)); } /** - * @dev open an Issue with bepro owned + * @dev open an Issue with transaction Tokens owned * 1st step */ - function openIssue(uint256 _beproAmount) public whenNotPaused { + function openIssue(string calldata _cid, uint256 _tokenAmount) external whenNotPaused { // Open Issue Issue memory issue; issue._id = incrementIssueID; - issue.beproStaked = _beproAmount; + issue.cid = _cid; + issue.tokensStaked = _tokenAmount; issue.issueGenerator = msg.sender; issue.creationDate = block.timestamp; issue.finalized = false; issues[incrementIssueID] = issue; + issuesCIDtoID[_cid] = incrementIssueID; + myIssues[msg.sender].push(incrementIssueID); - // Stake bepro - require(beproToken.transferFrom(msg.sender, address(this), _beproAmount), "Needs Allowance"); - totalStaked = totalStaked.add(_beproAmount); + totalStaked = totalStaked.add(_tokenAmount); incrementIssueID = incrementIssueID + 1; - emit OpenIssue(incrementIssueID, msg.sender, _beproAmount); + // Transfer Transaction Token + require(transactionToken.transferFrom(msg.sender, address(this), _tokenAmount), "Needs Allowance"); + + emit OpenIssue(issue._id, msg.sender, _tokenAmount); } - function redeemIssue(uint256 _issueId) public whenNotPaused { - require(issues[_issueId].issueGenerator == msg.sender, "Has to be the issue creator"); - require(!isIssueApproved(_issueId), "Issue has to not be approved"); - require(!isIssueApprovable(_issueId), "Time for approving has to be already passed"); - issues[_issueId].finalized = true; - issues[_issueId].canceled = true; - require(beproToken.transfer(msg.sender, issues[_issueId].beproStaked), "Transfer not sucessful"); + function recognizeAsFinished(uint256 _issueId) external whenNotPaused { + Issue storage issue = issues[_issueId]; + require(issue.issueGenerator == msg.sender, "Has to be the issue creator"); + require(!isIssueInDraft(_issueId), "Draft Issue Time has already passed"); + require(!issue.finalized, "Issue was already finalized"); + require(!issue.canceled, "Issue was already canceled"); + + issues[_issueId].recognizedAsFinished = true; + + emit RecognizedAsFinished(_issueId); } + function redeemIssue(uint256 _issueId) external whenNotPaused { + Issue storage issue = issues[_issueId]; + require(issue.issueGenerator == msg.sender, "Has to be the issue creator"); + require(isIssueInDraft(_issueId), "Draft Issue Time has already passed"); + require(!issue.finalized, "Issue was already finalized"); + require(!issue.canceled, "Issue was already canceled"); + + issues[_issueId].finalized = true; + issues[_issueId].canceled = true; + require(transactionToken.transfer(msg.sender, issue.tokensStaked), "Transfer not sucessful"); + emit RedeemIssue(_issueId); + } /** - * @dev update an Issue with bepro owned + * @dev update an Issue with transaction tokens owned * 2nd step (optional) */ - function updateIssue(uint256 _issueId, uint256 _newbeproAmount) public whenNotPaused { - require(issues[_issueId].beproStaked != 0, "Issue has to exist"); + function updateIssue(uint256 _issueId, uint256 _newTokenAmount) external whenNotPaused { + require(issues[_issueId].tokensStaked != 0, "Issue has to exist"); require(issues[_issueId].issueGenerator == msg.sender, "Has to be the issue creator"); - require(!isIssueApproved(_issueId), "Issue is already Approved"); + require(!issues[_issueId].finalized, "Issue was already finalized"); + require(!issues[_issueId].canceled, "Issue was already canceled"); + require(isIssueInDraft(_issueId), "Draft Issue Time has already passed"); - uint256 previousAmount = issues[_issueId].beproStaked; + uint256 previousAmount = issues[_issueId].tokensStaked; // Update Issue - issues[_issueId].beproStaked = _newbeproAmount; - // Stake bepro - if(_newbeproAmount > previousAmount){ - require(beproToken.transferFrom(msg.sender, address(this), _newbeproAmount.sub(previousAmount)), "Needs Allowance"); - totalStaked = totalStaked.add(_newbeproAmount.sub(previousAmount)); + issues[_issueId].tokensStaked = _newTokenAmount; + // Lock Transaction Tokens + if(_newTokenAmount > previousAmount){ + require(transactionToken.transferFrom(msg.sender, address(this), _newTokenAmount.sub(previousAmount)), "Needs Allowance"); + totalStaked = totalStaked.add(_newTokenAmount.sub(previousAmount)); }else{ - require(beproToken.transfer(msg.sender, previousAmount.sub(_newbeproAmount)), "Transfer not sucessful"); - totalStaked = totalStaked.sub(previousAmount.sub(_newbeproAmount)); + totalStaked = totalStaked.sub(previousAmount.sub(_newTokenAmount)); + require(transactionToken.transfer(msg.sender, previousAmount.sub(_newTokenAmount)), "Transfer not sucessful"); } } - /** - * @dev Owner finalizes the issue and distributes the bepro or rejects the PR + /** + * @dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR * @param _issueID issue id (mapping with github) * @param _prAddresses PR Address * @param _prAmounts PR Amounts */ - function proposeIssueMerge(uint256 _issueID, address[] memory _prAddresses, uint256[] memory _prAmounts) public whenNotPaused { - + function proposeIssueMerge(uint256 _issueID, address[] calldata _prAddresses, uint256[] calldata _prAmounts) external whenNotPaused { + Issue memory issue = issues[_issueID]; require(issue._id != 0 , "Issue has to exist"); require(issue.finalized == false, "Issue has to be opened"); require(_prAmounts.length == _prAddresses.length, "Amounts has to equal addresses length"); - require(beproToken.balanceOf(msg.sender) > COUNCIL_BEPRO_AMOUNT*10**18, "To propose merges the proposer has to be a Council (COUNCIL_BEPRO_AMOUNT)"); + + uint256 oracles = getOraclesByAddress(msg.sender); + + require(oracles >= COUNCIL_AMOUNT, "To propose merges the proposer has to be a Council (COUNCIL_AMOUNT)"); MergeProposal memory mergeProposal; mergeProposal._id = issue.mergeIDIncrement; @@ -293,14 +281,13 @@ contract BEPRONetwork is Pausable, Ownable{ mergeProposal.prAddresses = _prAddresses; mergeProposal.proposalAddress = msg.sender; - uint256 total = ((issues[_issueID].beproStaked * (feeShare + mergeCreatorFeeShare)) / 100); // Fee + Merge Creator Fee + 0 + uint256 total = ((issues[_issueID].tokensStaked * (mergeCreatorFeeShare)) / 100); // Fee + Merge Creator Fee + 0 for(uint i = 0; i < _prAddresses.length; i++){ - require(beproToken.balanceOf(_prAddresses[i]) > DEVELOPER_BEPRO_AMOUNT*10**18, "To receive development rewards the rewarded has to be a Developer (DEVELOPER_BEPRO_AMOUNT)"); - total = total.add((_prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100); + total = total.add((_prAmounts[i] * (100-mergeCreatorFeeShare)) / 100); } - require(total == issues[_issueID].beproStaked, "Totals dont match"); + require(total == issues[_issueID].tokensStaked, "PrAmounts & TokensStaked dont match"); issues[_issueID].mergeProposals[issue.mergeIDIncrement] = mergeProposal; issues[_issueID].mergeIDIncrement = issues[_issueID].mergeIDIncrement + 1; @@ -308,86 +295,118 @@ contract BEPRONetwork is Pausable, Ownable{ } - /** - * @dev Owner finalizes the issue and distributes the bepro or rejects the PR + * @dev Owner finalizes the issue and distributes the transaction tokens or rejects the PR * @param _issueID issue id (mapping with github) * @param _mergeID merge id */ - function closeIssue(uint256 _issueID, uint256 _mergeID) public whenNotPaused { + function closeIssue(uint256 _issueID, uint256 _mergeID) external whenNotPaused { Issue memory issue = issues[_issueID]; require(issue._id != 0 , "Issue has to exist"); require(issue.finalized == false, "Issue has to be opened"); + require(issue.recognizedAsFinished, "Issue has to be recognized as finished by the creator or by the disputers"); require(issue.mergeIDIncrement > _mergeID, "Merge Proposal does not exist"); - require(isMergeApproved(_issueID, _mergeID), "Issue has to have passed voting"); + require(!isIssueInDraft(_issueID), "Issue cant be in Draft Mode"); + require(!isMergeInDraft(_issueID, _mergeID), "Merge cant be in Draft Mode"); require(!isMergeDisputed(_issueID, _mergeID), "Merge has been disputed"); - require(isMergeTheOneWithMoreVotes(_issueID, _mergeID), "There is a merge proposal with more votes"); // Closes the issue issues[_issueID].finalized = true; MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeID]; - // Fee Transfer - require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * feeShare) / 100), "Has to transfer"); - // Merge Creator Transfer - require(beproToken.transfer(feeAddress, (issues[_issueID].beproStaked * mergeCreatorFeeShare) / 100), "Has to transfer"); + require(transactionToken.transfer(merge.proposalAddress, (issues[_issueID].tokensStaked * mergeCreatorFeeShare) / 100), "Has to transfer"); - // Generate Reputation Tokens + // Generate Transaction Tokens for(uint i = 0; i < merge.prAddresses.length; i++){ myIssues[merge.prAddresses[i]].push(_issueID); - require(beproToken.transfer(merge.prAddresses[i], (merge.prAmounts[i] * (100-feeShare-mergeCreatorFeeShare)) / 100), "Has to transfer"); + require(transactionToken.transfer(merge.prAddresses[i], (merge.prAmounts[i] * (100-mergeCreatorFeeShare)) / 100), "Has to transfer"); } closedIdsCount = closedIdsCount.add(1); - totalStaked = totalStaked.sub(issue.beproStaked); - emit CloseIssue(_issueID, _mergeID, merge.prAddresses); + totalStaked = totalStaked.sub(issue.tokensStaked); + emit CloseIssue(_issueID, _mergeID); } function getIssuesByAddress(address _address) public returns (uint256[] memory){ return myIssues[_address]; } - function getVotesByAddress(address _address) public returns (uint256){ - Voter storage voter = voters[_address]; - return voter.votesDelegatedByOthers.add(voter.votesDelegated[_address]); + function getOraclesByAddress(address _address) public returns (uint256){ + Oracler storage oracler = oraclers[_address]; + return oracler.oraclesDelegatedByOthers.add(oracler.oraclesDelegated[_address]); + } + + function getOraclesSummary(address _address) public returns (uint256, uint256[] memory, address[] memory, uint256){ + Oracler storage oracler = oraclers[_address]; + + uint256[] memory amounts = new uint256[](oracler.delegatedOraclesAddresses.length); + address[] memory addresses = new address[](oracler.delegatedOraclesAddresses.length); + + for(uint i=0; i < oracler.delegatedOraclesAddresses.length; i++){ + addresses[i] = (oracler.delegatedOraclesAddresses[i]); + amounts[i] = (oracler.oraclesDelegated[oracler.delegatedOraclesAddresses[i]]); + } + + return (oracler.oraclesDelegatedByOthers, amounts, addresses, oracler.tokensLocked); + } + + function getIssueByCID(string memory _issueCID) public returns (uint256, string memory, uint256, uint256, address, uint256, bool, bool, bool){ + Issue memory issue = issues[issuesCIDtoID[_issueCID]]; + return (issue._id, issue.cid, issue.creationDate, issue.tokensStaked, issue.issueGenerator, issue.mergeIDIncrement, issue.finalized, issue.canceled, issue.recognizedAsFinished); } - function getIssueById(uint256 _issueID) public returns (uint256, uint256, uint256, address, uint256, uint256, bool, bool){ + function getIssueById(uint256 _issueID) public returns (uint256, string memory, uint256, uint256, address, uint256, bool, bool, bool){ Issue memory issue = issues[_issueID]; - return (issue._id, issue.beproStaked, issue.creationDate, issue.issueGenerator, issue.votesForApprove, issue.mergeIDIncrement, issue.finalized, issue.canceled); + return (issue._id, issue.cid, issue.creationDate, issue.tokensStaked, issue.issueGenerator, issue.mergeIDIncrement, issue.finalized, issue.canceled, issue.recognizedAsFinished); } function getMergeById(uint256 _issueID, uint256 _mergeId) public returns (uint256, uint256, uint256, address[] memory, uint256[] memory, address){ MergeProposal memory merge = issues[_issueID].mergeProposals[_mergeId]; - return (merge._id, merge.votes, merge.disputes, merge.prAddresses, merge.prAmounts, merge.proposalAddress); + return (merge._id, merge.oracles, merge.disputes, merge.prAddresses, merge.prAmounts, merge.proposalAddress); } /** - * @dev Change BEPRO Token Address (Upgrade) + * @dev Change Merge Creator FeeShare */ - function changeBEPROAddress(address _newAddress) public onlyOwner { - beproToken = _IERC20(_newAddress); + function changeMergeCreatorFeeShare(uint256 _mergeCreatorFeeShare) external onlyGovernor { + require(_mergeCreatorFeeShare < 20, "Merge Share can´t be higher than 20"); + mergeCreatorFeeShare = _mergeCreatorFeeShare; } /** - * @dev Change Fee Address - */ - function editFeeAddress(address _newAddress) public onlyOwner { - feeAddress = _newAddress; + * @dev changePercentageNeededForDispute + */ + function changePercentageNeededForDispute(uint256 _percentageNeededForDispute) external onlyGovernor { + require(_percentageNeededForDispute < 15, "Dispute % Needed can´t be higher than 15"); + percentageNeededForDispute = _percentageNeededForDispute; } - /** - * @dev Change Share Fee Amount - */ - function editFeeShare(uint256 _feeShare) public onlyOwner { - feeShare = _feeShare; + /** + * @dev changedisputableTime + */ + function changeDisputableTime(uint256 _disputableTime) external onlyGovernor { + require(_disputableTime < 20 days, "Time has to be lower than 20 days"); + require(_disputableTime >= 1 minutes, "Time has to be higher than 1 minutes"); + disputableTime = _disputableTime; } - /** - * @dev Upgrade Contract Version + /** + * @dev changeRedeemTime */ - function upgradeContract(address _newContract) public onlyOwner whenPaused { - //To be done + function changeRedeemTime(uint256 _redeemTime) external onlyGovernor { + require(_redeemTime < 20 days, "Time has to be lower than 20 days"); + require(_redeemTime >= 1 minutes, "Time has to be higher than 1 minutes"); + redeemTime = _redeemTime; + } + + /** + * @dev changeTimeOpenForIssueApprove + */ + function changeCOUNCIL_AMOUNT(uint256 _COUNCIL_AMOUNT) external onlyGovernor { + require(_COUNCIL_AMOUNT > 100000*10**settlerToken.decimals(), "Council Amount has to higher than 100k"); + require(_COUNCIL_AMOUNT < 50000000*10**settlerToken.decimals(), "Council Amount has to lower than 50M"); + COUNCIL_AMOUNT = _COUNCIL_AMOUNT; } } + diff --git a/contracts/bepro/NetworkFactory.sol b/contracts/bepro/NetworkFactory.sol new file mode 100644 index 00000000..68705460 --- /dev/null +++ b/contracts/bepro/NetworkFactory.sol @@ -0,0 +1,71 @@ +pragma solidity >=0.6.0; + +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; +import "./Network.sol"; + +/** + * @title Development Network Contract Factory + */ +contract NetworkFactory is ReentrancyGuard{ + using SafeMath for uint256; + + ERC20 public beproAddress; /* BEPRO ERC20 */ + uint256 public OPERATOR_AMOUNT = 1000000*10**18; // +1M + uint256 public tokensLockedTotal = 0; + uint256 public networksAmount = 0; + + mapping(address => uint256) public tokensLocked; /* Tokens Locked */ + mapping(uint256 => Network) public networks; /* Distribution Network Object Address */ + mapping(address => Network) public networksByAddress; /* Distribution Network Object Address */ + + Network[] public networksArray; /* Array of Networks */ + + event CreatedNetwork(uint256 indexed id, address indexed opener, uint256 indexed amount); + + constructor(ERC20 _beproAddress) public { + beproAddress = _beproAddress; + } + + function lock(uint256 _tokenAmount) external { + require(_tokenAmount > 0, "Token Amount needs to be higher than 0"); + require(beproAddress.transferFrom(msg.sender, address(this), _tokenAmount), "Needs Allowance"); + + tokensLocked[msg.sender] = tokensLocked[msg.sender].add(_tokenAmount); + tokensLockedTotal = tokensLockedTotal.add(_tokenAmount); + } + + function createNetwork(address _settlerToken, address _transactionToken) external { + + require(tokensLocked[msg.sender] >= OPERATOR_AMOUNT, "Operator has to lock +1M BEPRO to fork the Network"); + + Network network = new Network(_settlerToken, _transactionToken, msg.sender); + networksArray.push(network); + networks[networksAmount] = network; + networksByAddress[msg.sender] = network; + networksAmount = networksAmount.add(1); + } + + function unlock() external nonReentrant { + require(tokensLocked[msg.sender] >= 0, "Needs to have tokens locked"); + require(beproAddress.transferFrom(address(this), msg.sender, tokensLocked[msg.sender]), "Needs Allowance"); + require(Network(networksByAddress[msg.sender]).oraclesStaked() == 0,"Network has to have 0 Settler Tokens"); + require(Network(networksByAddress[msg.sender]).totalStaked() == 0,"Network has to have 0 Transactional Tokens"); + + tokensLockedTotal = tokensLockedTotal.sub(tokensLocked[msg.sender]); + tokensLocked[msg.sender] = 0; + } + + function getTokensLocked(address _address) external returns (uint256) { + return tokensLocked[_address]; + } + + function getNetworkById(uint256 _id) external returns (address) { + return address(networks[_id]); + } + + function getNetworkByAddress(address _address) external returns (address) { + return address(networksByAddress[_address]); + } + +} \ No newline at end of file diff --git a/contracts/custom/.DS_Store b/contracts/custom/.DS_Store deleted file mode 100644 index 88753362..00000000 Binary files a/contracts/custom/.DS_Store and /dev/null differ diff --git a/contracts/utils/Governed.sol b/contracts/utils/Governed.sol new file mode 100644 index 00000000..7db3091c --- /dev/null +++ b/contracts/utils/Governed.sol @@ -0,0 +1,43 @@ +pragma solidity >=0.6.0; + + +/** + * @title Governed + * @dev The Governable contract has an governor smart contract address, and provides basic authorization control + * functions, this simplifies the implementation of "gov permissions". + */ +contract Governed { + address public _proposedGovernor; + address public _governor; + event GovernorTransferred(address indexed previousGovernor, address indexed newGovernor); + + + /** + * @dev The Ownable constructor sets the original `governor` of the contract to the sender + * account. + */ + constructor() public { + _governor = msg.sender; + } + + /** + * @dev Throws if called by any account other than the governor. + */ + modifier onlyGovernor() { + require(msg.sender == _governor); + _; + } + + function proposeGovernor(address proposedGovernor) public onlyGovernor { + require(msg.sender != proposedGovernor); + _proposedGovernor = proposedGovernor; + } + + function claimGovernor() public{ + require(msg.sender == _proposedGovernor); + emit GovernorTransferred(_governor, _proposedGovernor); + _governor = _proposedGovernor; + _proposedGovernor = address(0); + } + +} diff --git a/contracts/utils/Votable.sol b/contracts/utils/Votable.sol new file mode 100644 index 00000000..7035b7ee --- /dev/null +++ b/contracts/utils/Votable.sol @@ -0,0 +1,241 @@ +pragma solidity >=0.6.0; +import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import "@openzeppelin/contracts/math/SafeMath.sol"; + +contract Votable { + using SafeMath for uint256; + + /* EVENTS */ + event voteCasted(address indexed voter, uint indexed pollID, uint256 vote, uint256 weight); + event pollCreated(address indexed creator, uint indexed pollID, string description, uint votingLength); + event pollStatusUpdate(bool status); + + /* Determine the current state of a poll */ + enum PollStatus { IN_PROGRESS, ENDED } + + /* POLL */ + struct Poll { + address creator; + PollStatus status; + uint256 optionsSize; + mapping(uint256 => uint256) options; + mapping(uint256 => uint256) votesPerOption; + string description; + address[] voters; + uint expirationTime; + uint256 winnerId; + mapping(address => Voter) voterInfo; + } + + /* VOTER */ + struct Voter { + bool hasVoted; + uint256 vote; + uint256 weight; + } + + /* TOKEN MANAGER */ + struct TokenManager { + uint tokenBalance; + mapping(uint => uint) lockedTokens; + uint[] participatedPolls; + } + + /* STATE VARIABLES */ + mapping(uint => Poll) public polls; + mapping(address => TokenManager) public bank; + + uint256 public pollCount; + ERC20 public erc20; + + /* CONSTRUCTOR */ + constructor(address _token) public { + require(_token != address(0)); + erc20 = ERC20(_token); + } + + /* POLL OPERATIONS */ + + /* + * Creates a new poll with a specified quorum percentage. + */ + function createPoll(string calldata _description, uint _voteLength, uint256[] calldata options) external returns (uint){ + require(_voteLength > 0, "The voting period cannot be 0."); + require(options.length > 1, "Options have to be higher than 1"); + pollCount++; + + Poll storage curPoll = polls[pollCount]; + curPoll.creator = msg.sender; + curPoll.status = PollStatus.IN_PROGRESS; + + for(uint i = 0; i < options.length; i++){ + curPoll.options[i] = options[i]; + } + curPoll.optionsSize = options.length; + curPoll.expirationTime = now.add(_voteLength).mul(1 seconds); + curPoll.description = _description; + + emit pollCreated(msg.sender, pollCount, _description, _voteLength); + return pollCount; + } + + /* + * Ends a poll. Only the creator of a given poll can end that poll. + */ + function endPoll(uint _pollID) external validPoll(_pollID) { + require(polls[_pollID].status == PollStatus.IN_PROGRESS, "Vote is not in progress."); + require(now >= polls[_pollID].expirationTime, "Voting period has not expired"); + _countVotes(_pollID); + polls[_pollID].status = PollStatus.ENDED; + } + + /* + * Gets the status of a poll. + */ + function getPoolInformation(uint _pollID) public view validPoll(_pollID) returns (address, PollStatus, uint256, string memory, address[] memory, uint256) { + return (polls[_pollID].creator, polls[_pollID].status, polls[_pollID].optionsSize, polls[_pollID].description, + polls[_pollID].voters, polls[_pollID].expirationTime); + } + + /* + * Gets the winner vote of pool + */ + function getPoolWinner(uint _pollID) public view validPoll(_pollID) returns (uint256, uint256) { + return (polls[_pollID].winnerId, getPollOptionById(_pollID, polls[_pollID].winnerId)); + } + + /* + * Gets the pool option meaning by id + */ + function getPollOptionById(uint256 _pollID, uint id) public view validPoll(_pollID) returns (uint256) { + return polls[_pollID].options[id]; + } + + /* + * Gets the complete list of polls a user has voted in. + */ + function getPollHistory(address _voter) public view returns(uint[] memory) { + return bank[_voter].participatedPolls; + } + + /* + * Gets a voter's encrypted vote and weight for a given expired poll. + */ + function getPollInfoForVoter(uint _pollID, address _voter) public view validPoll(_pollID) returns (uint256, uint256) { + require(polls[_pollID].status != PollStatus.IN_PROGRESS); + require(userHasVoted(_pollID, _voter)); + Poll storage curPoll = polls[_pollID]; + uint256 vote = curPoll.voterInfo[_voter].vote; + uint256 weight = curPoll.voterInfo[_voter].weight; + return (vote, weight); + } + + /* + * Checks if a user has voted for a specific poll. + */ + function userHasVoted(uint _pollID, address _user) public view validPoll(_pollID) returns (bool) { + return (polls[_pollID].voterInfo[_user].hasVoted); + } + + /* + * Modifier that checks for a valid poll ID. + */ + modifier validPoll(uint _pollID) { + require(_pollID > 0 && _pollID <= pollCount, "Not a valid poll Id."); + _; + } + + /* VOTE OPERATIONS */ + + /* + * Casts a vote for a given poll. + */ + function castVote(uint _pollID, uint256 _voteId) external validPoll(_pollID) { + Poll storage curPoll = polls[_pollID]; + require(curPoll.status == PollStatus.IN_PROGRESS, "Poll has expired."); + require(!userHasVoted(_pollID, msg.sender), "User has already voted."); + require(curPoll.expirationTime > now); + require(_voteId < curPoll.optionsSize, "Vote option is not availble"); + + // update token bank + bank[msg.sender].lockedTokens[_pollID] = getTokenStake(msg.sender); + bank[msg.sender].participatedPolls.push(_pollID); + + curPoll.votesPerOption[_voteId] = curPoll.votesPerOption[_voteId].add(getTokenStake(msg.sender)); + + curPoll.voterInfo[msg.sender] = Voter({ + hasVoted: true, + vote: _voteId, + weight: getTokenStake(msg.sender) + }); + + curPoll.voters.push(msg.sender); + + emit voteCasted(msg.sender, _pollID, _voteId, getTokenStake(msg.sender)); + } + + /* + * Function that counts votes + */ + function _countVotes(uint _pollID) internal returns (uint256) { + Poll storage curPoll = polls[_pollID]; + + uint256 winnerId = curPoll.votesPerOption[0]; + for(uint i = 1; i < curPoll.optionsSize; i++){ + if(curPoll.votesPerOption[i] > curPoll.votesPerOption[i-1]){ + winnerId = i; + } + } + curPoll.winnerId = winnerId; + return winnerId; + } + + + /* TOKEN OPERATIONS */ + + /* + * Stakes tokens for a given voter in return for voting credits. + * NOTE: + * User must approve transfer of tokens. + * _numTokens is denominated in *wei*. + */ + function stakeVotingTokens(uint256 _numTokens) external { + require(erc20.balanceOf(msg.sender) >= _numTokens, "User does not have enough tokens"); + require(erc20.transferFrom(msg.sender, address(this), _numTokens), "User did not approve token transfer."); + bank[msg.sender].tokenBalance += _numTokens; + } + + /* + * Allows a voter to withdraw voting tokens after a poll has ended. + * NOTE: _numTokens is denominated in *wei*. + */ + function withdrawTokens(uint256 _numTokens) external { + uint largest = getLockedAmount(msg.sender); + require(getTokenStake(msg.sender) - largest >= _numTokens, "User is trying to withdraw too many tokens."); + bank[msg.sender].tokenBalance -= _numTokens; + require(erc20.transfer(msg.sender, _numTokens)); + } + + /* + * Gets the amount of Voting Tokens that are locked for a given voter. + */ + function getLockedAmount(address _voter) public view returns (uint) { + TokenManager storage manager = bank[_voter]; + uint largest; + for (uint i = 0; i < manager.participatedPolls.length; i++) { + uint curPollID = manager.participatedPolls[i]; + if (manager.lockedTokens[curPollID] > largest) { + largest = manager.lockedTokens[curPollID]; + } + } + return largest; + } + + /* + * Gets the amount of Voting Credits for a given voter. + */ + function getTokenStake(address _voter) public view returns(uint) { + return bank[_voter].tokenBalance; + } + +} \ No newline at end of file diff --git a/docs-src/jsdoc.json b/docs-src/jsdoc.json index 12748414..a8e94c9d 100644 --- a/docs-src/jsdoc.json +++ b/docs-src/jsdoc.json @@ -27,7 +27,7 @@ }, "better-docs": { "name": "BEPRO Network Documentation", - "logo": "", + "logo": "//avatars.githubusercontent.com/u/49488487?s=200&v=4", "title": "BEPRO Network Dev Docs", "css": "./doc-styles.css", "trackingCode": "", diff --git a/docs-src/static/doc-styles.css b/docs-src/static/doc-styles.css index da8ede6e..c6270d30 100644 --- a/docs-src/static/doc-styles.css +++ b/docs-src/static/doc-styles.css @@ -1,5 +1,11 @@ -.logo .image { +.logo { + display: flex; + align-items: center; +} + +.logo .image img { height: 24px; + width: auto; } #main-content-wrapper.core { diff --git a/docs/Application.html b/docs/Application.html deleted file mode 100644 index d98dfb38..00000000 --- a/docs/Application.html +++ /dev/null @@ -1,2892 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs Application - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

Application

-
- - - - - -
- -
- -

Application(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new Application(params) - - -

- - - - -
-

Application Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

test - - -Bool - - - -

Automated Tests / Default : False

localtest - - -Bool - - - -

Ganache Local Blockchain / Default : False

opt - - -Object - - - -

Optional Chain Connection Object (Default ETH)

opt.web3Connection - - -String - - - -

Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545)

opt.privateKey - - -String - - - -

Private key (0x....) used for server side use

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 33 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - getAddress() → {Address} - - -

- - - - -
-

Get Address connected via login()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 334 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Address in Use

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getBEPRONetwork(params) → {BEPRONetwork} - - -

- - - - -
-

Create a BEPRONetwork Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 238 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

BEPRONetwork

- - -
- - -BEPRONetwork - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20Contract(params) → {ERC20Contract} - - -

- - - - -
-

Create a ERC20Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 280 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract

- - -
- - -ERC20Contract - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20TokenLock(params) → {ERC20TokenLock} - - -

- - - - -
-

Create a ERC20TokenLock Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

tokenAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 215 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20TokenLock

- - -
- - -ERC20TokenLock - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC721Collectibles(params) → {ERC721Collectibles} - - -

- - - - -
-

Create a ERC721Collectibles Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 261 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC721Collectibles

- - -
- - -ERC721Collectibles - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC721Contract(params) → {ERC721Contract} - - -

- - - - -
-

Create a ERC721Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 299 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC721Contract

- - -
- - -ERC721Contract - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getETHBalance() → {Integer} - - -

- - - - -
-

Get ETH Balance of Address connected via login()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 344 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ETH Balance

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getETHNetwork() → {String} - - -

- - - - -
-

Get ETH Network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 320 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Network Name (Ex : Kovan)

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getExchangeContract(params) → {ExchangeContract} - - -

- - - - -
-

Create a Exchange Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
ContractAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 125 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ExchangeContract

- - -
- - -ExchangeContract - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getMarketplaceRealFvrContract(params) → {MarketplaceRealFvr} - - -

- - - - -
-

Create a MarketplaceRealFvr Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

tokenAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 169 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

MarketplaceRealFvr

- - -
- - -MarketplaceRealFvr - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getOpenRealFvrContract(params) → {OpenerRealFvr} - - -

- - - - -
-

Create a OpenerRealFvr Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

tokenAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 145 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

OpenerRealFvr

- - -
- - -OpenerRealFvr - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getStakingContract(params) → {StakingContract} - - -

- - - - -
-

Create a StakingContract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
contractAddress - - -Address - - - -

(Opt) If it is deployed

tokenAddress - - -Address - - - -

(Opt) If it is deployed

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 191 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

StakingContract

- - -
- - -StakingContract - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - login() - - -

- - - - -
-

Login with Metamask/Web3 Wallet - substitutes start()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 101 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - start() - - -

- - - - -
-

Connect to Web3 injected in the constructor

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Application.js, line 73 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/Application.js.html b/docs/Application.js.html deleted file mode 100644 index 83657f64..00000000 --- a/docs/Application.js.html +++ /dev/null @@ -1,486 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs Application.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

Application.js

-
- - - - - -
-
-
/* global window */
-/* eslint-disable max-len */
-import Web3 from 'web3';
-import {
-  ExchangeContract,
-  ERC20Contract,
-  StakingContract,
-  BEPRONetwork,
-  ERC20TokenLock,
-  ERC721Contract,
-  ERC721Collectibles,
-  OpenerRealFvr,
-  MarketplaceRealFvr,
-} from './models/index';
-import Account from './utils/Account';
-
-const ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b';
-// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too
-const ETH_URL_LOCAL_TEST = 'http://localhost:8545';
-const TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132';
-// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7';
-
-const networksEnum = Object.freeze({
-  1: 'Ethereum Main',
-  2: 'Morden',
-  3: 'Ropsten',
-  4: 'Rinkeby',
-  56: 'BSC Main',
-  97: 'BSC Test',
-  42: 'Kovan',
-});
-
-/**
- * Application Object
- * @class Application
- * @param {Object} params Parameters
- * @param {Bool} params.test Automated Tests / Default : False
- * @param {Bool} params.localtest Ganache Local Blockchain / Default : False
- * @param {Object} params.opt Optional Chain Connection Object (Default ETH)
- * @param {String} params.opt.web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545)
- * @param {String} params.opt.privateKey Private key (0x....) used for server side use
- */
-class Application {
-  constructor({
-    test = false, // Automated tests
-    localtest = false, // ganache local blockchain
-    opt = {
-      web3Connection: ETH_URL_TESTNET,
-      privateKey: TEST_PRIVATE_KEY,
-    },
-  }) {
-    this.test = test;
-    this.localtest = localtest;
-    this.opt = opt;
-    if (this.test) {
-      this.start();
-      this.login();
-      if (!this.localtest) {
-        this.account = new Account(
-          this.web3,
-          this.web3.eth.accounts.privateKeyToAccount(opt.privateKey),
-        );
-        console.log(`My address: ${this.account.getAddress()}`);
-      }
-      // /this.account = new Account(this.web3, this.web3.eth.accounts.privateKeyToAccount(LOCAL_TEST_PRIVATE_KEY));
-    }
-  }
-
-  /**
-   * @function
-   * @description Connect to Web3 injected in the constructor
-   */
-  start = () => {
-    if (this.localtest) {
-      this.web3 = new Web3(
-        new Web3.providers.HttpProvider(ETH_URL_LOCAL_TEST),
-        // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks
-        null,
-        { transactionConfirmationBlocks: 1 },
-      );
-    } else if (this.opt.web3Connection.toLowerCase().includes('http')) {
-      this.web3 = new Web3(new Web3.providers.HttpProvider(this.opt.web3Connection));
-    } else {
-      this.web3 = new Web3(new Web3.providers.WebsocketProvider(this.opt.web3Connection));
-    }
-
-
-    if (typeof window !== 'undefined') {
-      window.web3 = this.web3;
-    } else if (!this.test) {
-      throw new Error(
-        'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet',
-      );
-    }
-  };
-
-  /**
-   * @function
-   * @description Login with Metamask/Web3 Wallet - substitutes start()
-   */
-  login = async () => {
-    try {
-      if (typeof window === 'undefined') {
-        return false;
-      }
-      if (window.ethereum) {
-        window.web3 = new Web3(window.ethereum);
-        this.web3 = window.web3;
-        await window.ethereum.enable();
-        return true;
-      }
-      return false;
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a Exchange Contract
-   * @param {Object} params
-   * @param {Address} params.ContractAddress (Opt) If it is deployed
-   * @return {ExchangeContract} ExchangeContract
-   */
-  getExchangeContract = ({ contractAddress = null } = {}) => {
-    try {
-      return new ExchangeContract({
-        web3: this.web3,
-        contractAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a OpenerRealFvr Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @param {Address} params.tokenAddress (Opt) If it is deployed
-   * @return {OpenerRealFvr} OpenerRealFvr
-   */
-  getOpenRealFvrContract = ({
-    contractAddress = null,
-    tokenAddress = null,
-  } = {}) => {
-    try {
-      return new OpenerRealFvr({
-        web3: this.web3,
-        contractAddress,
-        tokenAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a MarketplaceRealFvr Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @param {Address} params.tokenAddress (Opt) If it is deployed
-   * @return {MarketplaceRealFvr} MarketplaceRealFvr
-   */
-  getMarketplaceRealFvrContract = ({
-    contractAddress = null,
-  } = {}) => {
-    try {
-      return new MarketplaceRealFvr({
-        web3: this.web3,
-        contractAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a StakingContract Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @param {Address} params.tokenAddress (Opt) If it is deployed
-   * @return {StakingContract} StakingContract
-   */
-  getStakingContract = ({
-    contractAddress = null,
-    tokenAddress = null,
-  } = {}) => {
-    try {
-      return new StakingContract({
-        web3: this.web3,
-        contractAddress,
-        tokenAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a ERC20TokenLock Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @param {Address} params.tokenAddress (Opt) If it is deployed
-   * @return {ERC20TokenLock} ERC20TokenLock
-   */
-  getERC20TokenLock = ({
-    contractAddress = null,
-    tokenAddress = null,
-  } = {}) => {
-    try {
-      return new ERC20TokenLock({
-        web3: this.web3,
-        contractAddress,
-        tokenAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a BEPRONetwork Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @return {BEPRONetwork} BEPRONetwork
-   */
-   getBEPRONetwork = ({
-     contractAddress = null,
-     tokenAddress = null,
-   } = {}) => {
-     try {
-       return new BEPRONetwork({
-         web3: this.web3,
-         contractAddress,
-         tokenAddress,
-         acc: this.test && !this.localtest ? this.account : null,
-       });
-     } catch (err) {
-       throw err;
-     }
-   };
-
-  /**
-   * @function
-   * @description Create a ERC721Collectibles Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @return {ERC721Collectibles} ERC721Collectibles
-   */
-  getERC721Collectibles = ({ contractAddress = null } = {}) => {
-    try {
-      return new ERC721Collectibles({
-        web3: this.web3,
-        contractAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a ERC20Contract Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @return {ERC20Contract} ERC20Contract
-   */
-  getERC20Contract = ({ contractAddress = null }) => {
-    try {
-      return new ERC20Contract({
-        web3: this.web3,
-        contractAddress,
-        acc: this.test && !this.localtest ? this.account : null,
-      });
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Create a ERC721Contract Object
-   * @param {Object} params
-   * @param {Address} params.contractAddress (Opt) If it is deployed
-   * @return {ERC721Contract} ERC721Contract
-   */
-   getERC721Contract = ({ contractAddress = null }) => {
-     try {
-       return new ERC721Contract({
-         web3: this.web3,
-         contractAddress,
-         acc: this.test && !this.localtest ? this.account : null,
-       });
-     } catch (err) {
-       throw err;
-     }
-   };
-
-   /** ***** */
-   /** UTILS */
-   /** ***** */
-
-  /**
-   * @function
-   * @description Get ETH Network
-   * @return {String} Network Name (Ex : Kovan)
-   */
-  getETHNetwork = async () => {
-    const netId = await this.web3.eth.net.getId();
-    // eslint-disable-next-line no-prototype-builtins
-    const networkName = networksEnum.hasOwnProperty(netId)
-      ? networksEnum[netId]
-      : 'Unknown';
-    return networkName;
-  };
-
-  /**
-   * @function
-   * @description Get Address connected via login()
-   * @return {Address} Address in Use
-   */
-  getAddress = async () => {
-    const accounts = await this.web3.eth.getAccounts();
-    return accounts[0];
-  };
-
-  /**
-   * @function
-   * @description Get ETH Balance of Address connected via login()
-   * @return {Integer} ETH Balance
-   */
-  getETHBalance = async () => {
-    const wei = await this.web3.eth.getBalance(await this.getAddress());
-    return this.web3.utils.fromWei(wei, 'ether');
-  };
-}
-
-export default Application;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/BEPRONetwork.html b/docs/BEPRONetwork.html deleted file mode 100644 index 04e10b61..00000000 --- a/docs/BEPRONetwork.html +++ /dev/null @@ -1,5321 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs BEPRONetwork - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

BEPRONetwork

-
- - - - - -
- -
- -

BEPRONetwork(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new BEPRONetwork(params) - - -

- - - - -
-

BEPRONetwork Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

contractAddress - - -Address - - - -

Optional/If Existent

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 11 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - approveERC20() - - -

- - - - -
-

Approve ERC20 Allowance

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 350 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - approveIssue(issueId) - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 446 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - approveMerge(issueId, mergeId) - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -integer - - - -
mergeId - - -integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 468 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - beproVotesStaked() → {Integer} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Tickets in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 159 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - closeIssue(issueID, mergeID) - - -

- - - - -
-

close Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueID - - -integer - - - -
mergeID - - -integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 521 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - COUNCIL_BEPRO_AMOUNT() → {Integer} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Council in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 174 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - delegateOracles(beproAmount, delegatedTo) - - -

- - - - -
-

Delegated Oracles to others

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
beproAmount - - -integer - - - -
delegatedTo - - -address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 409 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - DEVELOPER_BEPRO_AMOUNT() → {Integer} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Developer in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 204 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getAmountofIssuesClosed() → {Integer} - - -

- - - - -
-

Get Amount of Issues Closed in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 75 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getAmountofIssuesOpened() → {Integer} - - -

- - - - -
-

Get Amount of Issues Opened in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 63 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getBEPROStaked() → {Integer} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Tickets in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 133 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getIssueById(issue_id) → {Integer|Integer|Date|Address|Integer|Integer|Bool|Bool} - - -

- - - - -
-

Get Issue Id Info

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issue_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 297 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - - - -
- -

beproStaked

- - -
- - -Integer - - -
- -
- - - - -
- -

creationDate

- - -
- - -Date - - -
- -
- - - - -
- -

issueGenerator

- - -
- - -Address - - -
- -
- - - - -
- -

votesForApprove

- - -
- - -Integer - - -
- -
- - - - -
- -

mergeProposalsAmount

- - -
- - -Integer - - -
- -
- - - - -
- -

finalized

- - -
- - -Bool - - -
- -
- - - - -
- -

canceled

- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getIssuesByAddress(address) → {Integer|Array} - - -

- - - - -
-

Get Open Issues Available

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 49 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer -| - -Array - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getMergeById(issue_id, merge_id) → {Integer|Integer|Integer|Address|Array|Integer|Array|Address} - - -

- - - - -
-

Get Issue Id Info

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issue_id - - -Integer - - - -
merge_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 328 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - - - -
- -

votes

- - -
- - -Integer - - -
- -
- - - - -
- -

disputes

- - -
- - -Integer - - -
- -
- - - - -
- -

prAddresses

- - -
- - -Address -| - -Array - - -
- -
- - - - -
- -

prAmounts

- - -
- - -Integer -| - -Array - - -
- -
- - - - -
- -

proposalAddress

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getVotesByAddress(address) → {Integer} - - -

- - - - -
-

Get Issue Id Info

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 275 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

votes

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - isApprovedERC20() - - -

- - - - -
-

Verify if Approved

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 362 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - isIssueApprovable(issueId) → {Bool} - - -

- - - - -
-

Is issue available to be approved (time wise)

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 233 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isIssueApproved(issueId) → {Bool} - - -

- - - - -
-

Is issue Approved

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 220 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isIssueMergeable(issueId, mergeId) → {Bool} - - -

- - - - -
-

Is issue mergeable

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -Integer - - - -
mergeId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 247 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isMergeTheOneWithMoreVotes(issueId, mergeId) → {Bool} - - -

- - - - -
-

Is issue mergeable

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueId - - -Integer - - - -
mergeId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 261 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - lockBepro(beproAmount) - - -

- - - - -
-

lock BEPRO for oracles

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
beproAmount - - -integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 373 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - openIssue(beproAmount, address) - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
beproAmount - - -integer - - - -
address - - -address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 427 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - OPERATOR_BEPRO_AMOUNT() → {Integer} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Operator in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 189 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForApprove() → {Integer} - - -

- - - - -
-

Get Amount of Needed for Approve

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 87 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForDispute() → {Integer} - - -

- - - - -
-

Get Amount of Needed for Dispute

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 102 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForMerge() → {Integer} - - -

- - - - -
-

Get Amount of Needed for Merge

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 118 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - proposeIssueMerge(issueID, prAddresses, prAmounts) - - -

- - - - -
-

Propose Merge of Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueID - - -integer - - - -
prAddresses - - -address -| - -Array - - - -
prAmounts - - -address -| - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 504 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - redeemIssue() - - -

- - - - -
-

redeem Issue

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 456 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - timeOpenForIssueApprove() → {Date} - - -

- - - - -
-

GetTotal amount of time where an issue has to be approved

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 145 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Date - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - unlockBepro(beproAmount, from) - - -

- - - - -
-

Unlock BEPRO for oracles

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
beproAmount - - -integer - - - -
from - - -address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 393 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - updateIssue(issueID, beproAmount, address) - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
issueID - - -integer - - - -
beproAmount - - -integer - - - -
address - - -address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 481 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/DexStorage.html b/docs/DexStorage.html deleted file mode 100644 index ff033f2a..00000000 --- a/docs/DexStorage.html +++ /dev/null @@ -1,767 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs DexStorage - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

DexStorage

-
- - - - - -
- -
- -

DexStorage(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new DexStorage(params) - - -

- - - - -
-

DexStorage Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

ipfsClientHTTP - - -String - - - -

Optional, IPFS Infura Node API or object

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - utils/IPFS.js, line 5 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - async - - - - - get(params) → {String} - - -

- - - - -
-

Get Data

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

cid - - -String - - - -

CID String, if image blob info

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - utils/IPFS.js, line 38 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

data (Hash to be used to access the params.data later)

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - save(params) → {String} - - -

- - - - -
-

Save Data

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

data - - -String - - - -

Data String, if image blob info

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - utils/IPFS.js, line 26 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

CID (Hash to be used to access the params.data later)

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC20Contract.html b/docs/ERC20Contract.html deleted file mode 100644 index f3235b6c..00000000 --- a/docs/ERC20Contract.html +++ /dev/null @@ -1,1849 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC20Contract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC20Contract

-
- - - - - -
- -
- -

ERC20Contract(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC20Contract(params) - - -

- - - - - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

contractAddress - - -Address - - - -

Optional/If Existent

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 5 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - approve(params) → {Transaction} - - -

- - - - -
-

Approve tokens to be used by another address/contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

address - - -Address - - - -

Spender Address/Contract

amount - - -Integer - - - -

Amount of Tokens

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 125 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy(params) → {Transaction} - - -

- - - - -
-

Deploy ERC20 Token

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

name - - -String - - - -

Name of token

symbol - - -String - - - -

Symbol of token

cap - - -Integer - - - -

Max supply of Token (ex : 100M)

distributionAddress - - -Address - - - -

Where tokens should be sent to initially

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 155 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAddress() → {Address} - - -

- - - - -
-

Get Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 29 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

address

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getDecimals() → {Integer} - - -

- - - - -
-

Get Decimals of Token

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 83 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Total supply

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTokenAmount(address) → {Transaction} - - -

- - - - -
-

Get Amount of Tokens User Holds

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -

User Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 59 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - isApproved(params) → {Bool} - - -

- - - - -
-

Verify if Spender is Approved to use tokens

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

address - - -Address - - - -

Sender Address

amount - - -Integer - - - -

Amount of Tokens

spenderAddress - - -Address - - - -

Spender Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 98 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

isApproved

- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - totalSupply() → {Integer} - - -

- - - - -
-

Get Total Supply of Token

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 69 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Total supply

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - transferTokenAmount(params) → {Transaction} - - -

- - - - -
-

Transfer Tokens

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

toAddress - - -Address - - - -

To Address

tokenAmount - - -Integer - - - -

Amount of Tokens

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Contract.js, line 41 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC20Distribution.html b/docs/ERC20Distribution.html deleted file mode 100644 index 5e3aa8c3..00000000 --- a/docs/ERC20Distribution.html +++ /dev/null @@ -1,2324 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC20Distribution - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC20Distribution

-
- - - - - -
- -
- -

ERC20Distribution(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC20Distribution(options) - - -

- - - - -
-

ERC20 Token Distribution Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -ERC20Distribution~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 15 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - -
-

Members

-
- -
- -

- # - - - __assert - - -

- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 123 - -

- -
- - - - - -
- -
-
- - - -
-

Methods

-
- -
- - - -

- # - - - - deploy(params) → {Promise.<(*|undefined)>} - - -

- - - - -
-

Deploy the Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
callback - - -function - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 152 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

No Token Address Provided

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<(*|undefined)> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - erc20() → {Promise.<Address>} - - -

- - - - -
-

Get ERC20 Address of the Token Contract managed

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 33 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<Address> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20Contract() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 165 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract|undefined

- - -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTokenAmount(params) → {Promise.<number>} - - -

- - - - -
-

Get Token Amount of ERC20 Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 44 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Amount

- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - safeGuardAllTokens(params) → {Promise.<boolean>} - - -

- - - - -
-

(Admin only) Get All tokens from the Distribution Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -

Address to transfer the ERC20 tokens to

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 66 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setInitialDistribution(params) → {Promise.<boolean>} - - -

- - - - -
-

(Admin only) Set Initial Distribution (Call the amount of times necessary)

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -

Address of the recipient

tokenAmount - - -Integer - - - -

Token amount for this tranche

unlockTime - - -Integer - - - -

Time to when this tokens unlock

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 94 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setTGEDate(params) → {Promise.<boolean>} - - -

- - - - -
-

(Admin only) Set the Token Generation Event

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
time - - -Integer - - - -

Time to set the TGE to (Token Generation Event)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 79 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setTokenAddress(params) → {Promise.<boolean>} - - -

- - - - -
-

(Admin only) Set Token address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -

ERC20 Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 53 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - triggerTokenSend(params) → {Promise.<boolean>} - - -

- - - - -
-

Trigger Token - should be called every month

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 112 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
-
- - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -Boolean - - - - - - - - - -
localtest - - -Boolean - - - - - - - - - -

ganache local blockchain

web3Connection - - -Web3Connection - - - - - - <optional>
- - - -
- - Web3Connection - -

created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'

contractAddress - - -string - - - - - - <optional>
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20Distribution.js, line 7 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC20TokenLock.html b/docs/ERC20TokenLock.html deleted file mode 100644 index 0e0525d9..00000000 --- a/docs/ERC20TokenLock.html +++ /dev/null @@ -1,2777 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC20TokenLock - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC20TokenLock

-
- - - - - -
- -
- -

ERC20TokenLock(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC20TokenLock(params) - - -

- - - - -
-

ERC20 Token Lock Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAddress - - -Address - - - -
contractAddress - - -Address - - - -

? (opt)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 11 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - approveERC20Transfer() → {Boolean} - - -

- - - - -
-

Approve this contract to transfer tokens of the ERC20 token contract on behalf of user

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 278 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - canRelease(params) → {Boolean} - - -

- - - - -
-

Check if locked tokens release date has come and user can withdraw them

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 105 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

canRelease

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy() - - -

- - - - -
-

Deploy the ERC20 Token Lock Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 317 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - erc20() → {Address} - - -

- - - - -
-

Get ERC20 Address of the Token Contract managed

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 46 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getLockedTokens(params) → {Integer} - - -

- - - - -
-

Get locked tokens amount for a given address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 114 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

amount Locked token amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getLockedTokensInfo(params) → {Date|Date|Integer} - - -

- - - - -
-

Get locked tokens info for a given address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 131 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

startDate

- - -
- - -Date - - -
- -
- - - - -
- -

endDate

- - -
- - -Date - - -
- -
- - - - -
- -

amount Token amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTokenAmount(params) → {Integer} - - -

- - - - -
-

Get Token Amount of ERC20 Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 57 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - lock(params) → {Boolean} - - -

- - - - -
-

User locks his tokens until specified end date.

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -

User Address

amount - - -Integer - - - -

Tokens amount to be locked

endDate - - -Date - - - -

Lock tokens until this end date

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 204 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful -REQUIREMENTS: -user must have approved this contract to spend the tokens "amount" he wants to lock before calling this function.

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - maxAmountToLock() → {Integer} - - -

- - - - -
-

Get maximum amount of tokens to lock per user

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 90 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Maximum Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - minAmountToLock() → {Integer} - - -

- - - - -
-

Get minimum amount of tokens to lock per user

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 77 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Minimum Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - release(params) → {Boolean} - - -

- - - - -
-

User withdraws his locked tokens after specified end date

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -

User Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 253 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setMaxAmountToLock(params) → {Boolean} - - -

- - - - -
-

Admin sets maximum amount of tokens to lock per user

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAmount - - -Address - - - -

Amount of Tokens

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 154 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setMinAmountToLock(params) → {Boolean} - - -

- - - - -
-

Admin sets minimum amount of tokens to lock per user

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAmount - - -Integer - - - -

Minimum tokens amount

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 177 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success True if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - totalAmountStaked() → {Integer} - - -

- - - - -
-

Get All Tokens staked/locked at that specific moment

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC20/ERC20TokenLock.js, line 64 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC721Collectibles.html b/docs/ERC721Collectibles.html deleted file mode 100644 index 575be063..00000000 --- a/docs/ERC721Collectibles.html +++ /dev/null @@ -1,3244 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC721Collectibles - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC721Collectibles

-
- - - - - -
- -
- -

ERC721Collectibles(web3, contractAddress)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC721Collectibles(web3, contractAddress) - - -

- - - - -
-

ERC721Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
web3 - - -Web3 - - - -
contractAddress - - -Address - - - -

? (opt)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 9 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - approveERC20() - - -

- - - - -
-

Approve ERC20 Allowance

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 179 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - baseURI() → {String} - - -

- - - - -
-

Verify what is the baseURI

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 118 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - currentTokenId() → {Integer} - - -

- - - - -
-

Verify what is the currentTokenId

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 95 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Current Token Id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - exists() → {Integer} - - -

- - - - -
-

Verify if token ID exists

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 73 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getPricePerPack() → {Integer} - - -

- - - - -
-

Get Price Per Pack

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 61 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getRegisteredIDs(address) → {Integer|Array} - - -

- - - - -
-

Get Ids

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 128 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ids

- - -
- - -Integer -| - -Array - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getURITokenID() → {String} - - -

- - - - -
-

Verify what is the getURITokenID

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 106 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - isApproved(address, amount) - - -

- - - - -
-

Approve ERC20 Allowance

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 201 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - isIDRegistered() → {Bool} - - -

- - - - -
-

Verify if ID is registered

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 142 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isLimited() → {Bool} - - -

- - - - -
-

Verify if it is limited

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 85 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - mint(to, tokenID) - - -

- - - - -
-

Mint created TokenID

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
to - - -Address - - - -
tokenID - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 224 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - openedPacks() → {Integer} - - -

- - - - -
-

Verify how much opened packs exist

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 168 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

packs

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - openPack(amount) - - -

- - - - -
-

open Pack of tokens

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
amount - - -Integer - - - -

Amount of packs to open

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 212 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - pricePerPack() → {Integer} - - -

- - - - -
-

Verify what is the current price per Pack

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 155 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Price per pack in tokens

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - purchaseToken() → {Address} - - -

- - - - -
-

Get ERC20 Address of the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 49 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setBaseTokenURI() - - -

- - - - -
-

Set Base Token URI

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 191 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setFeeAddress(purchaseToken) - - -

- - - - -
-

set Fee Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
purchaseToken - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 272 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setPricePerPack(newPrice) - - -

- - - - -
-

set Price per Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
newPrice - - -Amount - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 283 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setPurchaseTokenAddress(purchaseToken) - - -

- - - - -
-

set Purchase Token Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
purchaseToken - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 235 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setStakeAddress(purchaseToken) - - -

- - - - -
-

set Stake Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
purchaseToken - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 248 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setSwapBackAddress(purchaseToken) - - -

- - - - -
-

set Fee Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
purchaseToken - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Collectibles.js, line 259 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC721Contract.html b/docs/ERC721Contract.html deleted file mode 100644 index 5a592031..00000000 --- a/docs/ERC721Contract.html +++ /dev/null @@ -1,1891 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC721Contract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC721Contract

-
- - - - - -
- -
- -

ERC721Contract(web3, contractAddress)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC721Contract(web3, contractAddress) - - -

- - - - -
-

ERC721Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
web3 - - -Web3 - - - -
contractAddress - - -Address - - - -

? (opt)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 4 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - async - - - - - approve(params, to, tokenId) - - -

- - - - -
-

Approve Use of TokenID

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
to - - -Address - - - -

Address to send to

tokenId - - -Integer - - - -

Token Id to use

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 105 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - baseURI() → {String} - - -

- - - - -
-

Verify what is the baseURI

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 55 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - exists() → {Integer} - - -

- - - - -
-

Verify if token ID exists

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 31 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getURITokenID() → {String} - - -

- - - - -
-

Verify what is the getURITokenID

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 43 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isApprovedForAll(params, from, to) - - -

- - - - -
-

Approve All Use

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
from - - -Address - - - -

Address to approve from

to - - -Address - - - -

Address to approve to

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 131 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - mint(params, to, tokenId) - - -

- - - - -
-

Mint created TokenID

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
to - - -Address - - - -

Address to send to

tokenId - - -Integer - - - -

Token Id to use

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 92 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - name() → {String} - - -

- - - - -
-

Get name

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 64 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Name

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - setApprovalForAll(params, to, approve) - - -

- - - - -
-

Approve All Use

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
to - - -Address - - - -

Address to approve to

approve - - -Bool - - - -

If to approve or disapprove

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 118 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - setBaseTokenURI() - - -

- - - - -
-

Set Base Token URI

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 81 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - symbol() → {String} - - -

- - - - -
-

Get Symbol

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Contract.js, line 73 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Symbol

- - -
- - -String - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ERC721Standard.html b/docs/ERC721Standard.html deleted file mode 100644 index 44c7f2f0..00000000 --- a/docs/ERC721Standard.html +++ /dev/null @@ -1,2055 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ERC721Standard - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ERC721Standard

-
- - - - - -
- -
- -

ERC721Standard(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ERC721Standard(options) - - -

- - - - -
-

ERC721Standard Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -ERC721Standard~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 13 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - -
-

Members

-
- -
- -

- # - - - deploy - - -

- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 126 - -

- -
- - - - - -
- -
-
- - - -
-

Methods

-
- -
- - - -

- # - - - - __assert() → {Promise.<void>} - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 28 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Contract is not deployed, first deploy it and provide a contract address

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<void> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - baseURI() → {Promise.<string>} - - -

- - - - -
-

Verify what is the baseURI

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 77 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -Promise.<string> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - exists(params) → {Promise.<boolean>} - - -

- - - - -
-

Verify if token ID exists

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenID - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 53 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Id

- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20Contract() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 146 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract|undefined

- - -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getURITokenID(params) → {Promise.<string>} - - -

- - - - -
-

Verify what is the getURITokenID

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenID - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 66 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

URI

- - -
- - -Promise.<string> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - mint(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

Mint created TokenID

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenID - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 110 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setBaseTokenURI(params) → {Promise.<*>} - - -

- - - - -
-

Set Base Token URI

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
URI - - -string - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 88 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<*> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setTokenURI(params) → {Promise.<*>} - - -

- - - - -
-

Set Token URI

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenID - - -string - - - -
URI - - -string - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 100 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<*> - - -
- -
- - -
-
- - - - -
- -
-
- - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -Boolean - - - - - - - - - -
localtest - - -Boolean - - - - - - - - - -

ganache local blockchain

web3Connection - - -Web3Connection - - - - - - <optional>
- - - -
- - Web3Connection - -

created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'

contractAddress - - -string - - - - - - <optional>
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/ERC721/ERC721Standard.js, line 5 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/ExchangeContract.html b/docs/ExchangeContract.html deleted file mode 100644 index 57ecf077..00000000 --- a/docs/ExchangeContract.html +++ /dev/null @@ -1,4063 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs ExchangeContract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

ExchangeContract

-
- - - - - -
- -
- -

ExchangeContract(web3, tokenAddress, decimals, contractAddress)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new ExchangeContract(web3, tokenAddress, decimals, contractAddress) - - -

- - - - -
-

Exchange Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
web3 - - -Web3 - - - -
tokenAddress - - -Address - - - -
decimals - - -Integer - - - -
contractAddress - - -Address - - - -

? (opt)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 6 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - addLiquidity(eventId) - - -

- - - - -
-

Add Liquidity

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
eventId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 250 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - buy(event_id, resultSpace_id, fractions_amount) - - -

- - - - -
-

Buy Fractions

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 277 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - createEvent(_resultSpaceIds, urlOracle, eventName) - - -

- - - - -
-

Create an Event

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
_resultSpaceIds - - -Integer -| - -Array - - - -
urlOracle - - -String - - - -
eventName - - -String - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 211 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - deploy() - - -

- - - - -
-

Deploy the Pool Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 355 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - getEventData(event_id) → {String|Integer|String|Boolean} - - -

- - - - -
-

Get EventData

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 56 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Event Name

- - -
- - -String - - -
- -
- - - - -
- -

Result Id

- - -
- - -Integer - - -
- -
- - - - -
- -

URL Oracle

- - -
- - -String - - -
- -
- - - - -
- -

Is Resolved

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getEvents() → {Integer|Array} - - -

- - - - -
-

Get Events

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 26 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Get Events ID

- - -
- - -Integer -| - -Array - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getFractionsCost(event_id, resultSpace_id, fractions_amount) → {Integer} - - -

- - - - -
-

Get Fractions Cost

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 158 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

cost

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getMyEventHoldings(event_id) → {Integer|Integer|Integer|Integer|Integer|Integer} - - -

- - - - -
-

Get My Event Holdings

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 82 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

1 In Pool Balances

- - -
- - -Integer - - -
- -
- - - - -
- -

1 Out Pool Balances

- - -
- - -Integer - - -
- -
- - - - -
- -

1 Liquidity Balances

- - -
- - -Integer - - -
- -
- - - - -
- -

2 In Pool Balances

- - -
- - -Integer - - -
- -
- - - - -
- -

2 Out Pool Balances

- - -
- - -Integer - - -
- -
- - - - -
- -

2 Liquidity Balances

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getMyEvents() → {Integer|Array} - - -

- - - - -
-

Get Events

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 39 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Get Events ID

- - -
- - -Integer -| - -Array - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getResultSpaceData(event_id, resultSpace_id) → {Integer|Integer|Integer|Integer|Integer|Integer|Integer|Integer|Integer|Integer} - - -

- - - - -
-

Get Result Space Data

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 115 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - - - -
- -

_resultId

- - -
- - -Integer - - -
- -
- - - - -
- -

pool

- - -
- - -Integer - - -
- -
- - - - -
- -

cost

- - -
- - -Integer - - -
- -
- - - - -
- -

odd

- - -
- - -Integer - - -
- -
- - - - -
- -

amount

- - -
- - -Integer - - -
- -
- - - - -
- -

inPool

- - -
- - -Integer - - -
- -
- - - - -
- -

outPool

- - -
- - -Integer - - -
- -
- - - - -
- -

fees

- - -
- - -Integer - - -
- -
- - - - -
- -

liqAmount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getSlipageOnBuy(event_id, resultSpace_id, fractions_amount) → {Integer} - - -

- - - - -
-

Get Slipage on Buy

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 178 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getSlipageOnSell(event_id, resultSpace_id, fractions_amount) → {Integer} - - -

- - - - -
-

Get Slipage on Sell

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 193 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isEventOpen() → {Boolean} - - -

- - - - -
-

To see if Event is open

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 142 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - pullFractions(event_id, resultSpace_id, fractions_amount) - - -

- - - - -
-

Take Fractions out of the pool

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 317 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - pushFractions(eventId, resultSpace_id, fractions_amount) - - -

- - - - -
-

Move Fractions to the Pool

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
eventId - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 331 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - removeLiquidity(eventId) - - -

- - - - -
-

Remove Liquidity

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
eventId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 265 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - resolveEvent(event_id, resultSpace_id) - - -

- - - - -
-

Resolve Event

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 238 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - sell(event_id, resultSpace_id, fractions_amount) - - -

- - - - -
-

Sell Fractions

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
fractions_amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 303 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - withdrawWins(event_id, resultSpace_id) - - -

- - - - -
-

Withdraw Wins on end of Event

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
event_id - - -Integer - - - -
resultSpace_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/PredictionMarkets/ExchangeContract.js, line 344 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/IContract.html b/docs/IContract.html deleted file mode 100644 index b9ca01e0..00000000 --- a/docs/IContract.html +++ /dev/null @@ -1,2454 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs IContract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

IContract

-
- - - - - -
- -
- -

IContract(web3, contractAddress, abi, acc, tokenAddress)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new IContract(web3, contractAddress, abi, acc, tokenAddress) - - -

- - - - -
-

Contract Object Interface

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
web3 - - -Web3 - - - -
contractAddress - - -Address - - - -

? (opt)

abi - - -ABI - - - -
acc - - -Account - - - -

? (opt)

tokenAddress - - -Address - - - -

? (opt)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 4 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - async - - - - - changeTokenAddress(newTokenAddress) - - -

- - - - -
-

Change Token Address of Application

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
newTokenAddress - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 234 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - deploy() - - -

- - - - -
-

Deploy the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 134 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - getAddress(Balance) - - -

- - - - -
-

Get Balance of Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
Balance - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 247 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - getBalance(Balance) - - -

- - - - -
-

Get Balance of Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
Balance - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 256 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - getUserAddress(User) - - -

- - - - -
-

Get contract current user/sender address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
User - - -Address - - - -

address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 266 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - getWeb3Contract() - - -

- - - - -
-

Get Web3 Contract to interact directly with the web3 library functions like events (https://web3js.readthedocs.io/en/v1.2.11/web3-eth-contract.html?highlight=events#contract-events)

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 147 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - isPaused() → {boolean} - - -

- - - - -
-

Get Owner of the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 176 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - onlyOwner() - - -

- - - - -
-

Verify that current user/sender is admin, throws an error otherwise

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 278 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- - -
- -Error - - -
- - -
- - -
-
- - - - - - -
- -
- - - -

- # - - - async - - - - - owner() → {string} - - -

- - - - -
-

Get Owner of the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 167 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

address

- - -
- - -string - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - pauseContract() → {admin} - - -

- - - - -
-

Pause Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 185 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -admin - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - removeOtherERC20Tokens(tokenAddress, toAddress) - - -

- - - - -
-

Remove Tokens from other ERC20 Address (in case of accident)

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
tokenAddress - - -Address - - - -
toAddress - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 210 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - safeGuardAllTokens(toAddress) - - -

- - - - -
-

Remove all tokens for the sake of bug or problem in the smart contract, contract has to be paused first, only Admin

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
toAddress - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 223 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - setNewOwner(address) - - -

- - - - -
-

Set New Owner of the Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -string - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 156 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - unpauseContract() → {admin} - - -

- - - - -
-

Unpause Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 196 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -admin - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - whenNotPaused() - - -

- - - - -
-

Verify that contract is not paused before sending a transaction, throws an error otherwise

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/IContract.js, line 293 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- - -
- -Error - - -
- - -
- - -
-
- - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/MarketplaceRealFvr.html b/docs/MarketplaceRealFvr.html deleted file mode 100644 index 127b4e71..00000000 --- a/docs/MarketplaceRealFvr.html +++ /dev/null @@ -1,2552 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs MarketplaceRealFvr - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

MarketplaceRealFvr

-
- - - - - -
- -
- -

MarketplaceRealFvr(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new MarketplaceRealFvr(params) - - -

- - - - -
-

MarketplaceRealFvr Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

contractAddress - - -Address - - - -

Contract Address (If Deployed)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 8 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - approveERC721use(params) → {TransactionObject} - - -

- - - - -
-

Approve ERC721 to be put on Sale

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

to - - -Address - - - -

Address To

approve - - -Bool - - - -

If to Approve

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 174 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - buyERC721(params) → {TransactionObject} - - -

- - - - -
-

Buy ERC721 from Sale

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -String - - - -

Token Id

value - - -Integer - - - -

If Native ETH, value = 0.1 ETH; if ERC20 value is 0 or optional

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 95 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - changeERC20(params) → {TransactionObject} - - -

- - - - -
-

Change ERC20 Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

erc20TokenAddress - - -String - - - -

ERC20TokenAddress

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 106 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - changeERC721(params) → {TransactionObject} - - -

- - - - -
-

Change ERC20 Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

erc721TokenAddress - - -String - - - -

ERC721TokenAddress

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 117 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy(params) → {Boolean} - - -

- - - - -
-

User deploys the contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

erc20TokenAddress - - -Address - - - -

Address of the Contract - Optional (Dont insert if you want to use ETH or BNB or the native currency)

erc721TokenAddress - - -Address - - - -

Address of the Contract

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 184 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAmountofNFTsEverInSale() → {Integer} - - -

- - - - -
-

Get Amount of ERC721s ever in sale

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 159 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Amount of NFTs in Sale

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20TokenAddress() → {Address} - - -

- - - - -
-

Get ERC20 Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 138 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Address

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC721TokenAddress() → {Address} - - -

- - - - -
-

Get ERC721 Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 145 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Address

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getFeeAddress() → {Address} - - -

- - - - -
-

Get FeeAddress

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 152 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Fee Address

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - putERC721OnSale(params) → {TransactionObject} - - -

- - - - -
-

Put ERC721 on Sale

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -String - - - -

Token Id

price - - -String - - - -

Price (Token Amount)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 65 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - removeERC721FromSale(params) → {TransactionObject} - - -

- - - - -
-

Remove ERC721 from Sale

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -String - - - -

Token Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 83 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setFixedFees(params) → {TransactionObject} - - -

- - - - -
-

Change ERC20 Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

feeAddress - - -String - - - -

Fee Address

feePercentage - - -String - - - -

Fee Percentage (1 = 1%)

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/MarketplaceRealFvr.js, line 129 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/Network.html b/docs/Network.html deleted file mode 100644 index 9a880ea9..00000000 --- a/docs/Network.html +++ /dev/null @@ -1,6942 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs Network - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

Network

-
- - - - - -
- -
- -

Network(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new Network(options) - - -

- - - - -
-

Network Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -Network~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 17 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - __assert() → {Promise.<void>} - - -

- - - - -
-

Asserts the 2 ERC20Contract on the current address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 35 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Contract is not deployed, first deploy it and provide a contract address

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<void> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - approveIssue(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 468 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - approveMerge(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
mergeId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 493 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - approveSettlerERC20Token() → {Promise.<number>} - - -

- - - - -
-

Approve ERC20 Allowance

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 338 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - approveTransactionalERC20Token() → {Promise.<number>} - - -

- - - - -
-

Approve ERC20 Allowance

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 351 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - closeIssue(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

close Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueID - - -number - - - -
mergeID - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 546 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - COUNCIL_AMOUNT() → {Promise.<Integer>} - - -

- - - - -
-

Get Amount Needed for Council

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 211 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<Integer> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - delegateOracles(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

Delegated Oracles to others

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAmount - - -number - - - -
delegatedTo - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 431 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy(params) → {Promise.<(*|undefined)>} - - -

- - - - -
-

Deploys current contract and awaits for TokensNetwork#__assert

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
settlerTokenAddress - - -string - - - -
transactionTokenAddress - - -string - - - -
governanceAddress - - -string - - - -
callback - - -function - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 562 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<(*|undefined)> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getAmountofIssuesClosed() → {Promise.<number>} - - -

- - - - -
-

Get Amount of Issues Closed in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 95 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getAmountofIssuesOpened() → {Promise.<number>} - - -

- - - - -
-

Get Amount of Issues Opened in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 84 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getBEPROStaked() → {Promise.<number>} - - -

- - - - -
-

Get Total Amount of BEPRO Staked for Tickets in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 149 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getIssuesByAddress(address) → {Array.<number>} - - -

- - - - -
-

Get Open Issues Available

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 71 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Array.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getMergeById(params) → {Promise.<TokensNetwork~MergedIssue>} - - -

- - - - -
-

Get votes, address and amounts for issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issue_id - - -number - - - -
merge_id - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 315 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TokensNetwork~MergedIssue> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getSettlerTokenAddress() → {Promise.<address>} - - -

- - - - -
-

Get Settler Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 199 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<address> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getSettlerTokenContract() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 577 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract|null

- - -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getTransactionTokenAddress() → {Promise.<address>} - - -

- - - - -
-

Get Transaction Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 188 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<address> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTransactionTokenContract() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 584 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract|null

- - -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getVotesByAddress(params) → {Promise.<number>} - - -

- - - - -
-

Get Issue Id Info

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 281 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Number of votes

- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - isApprovedSettlerToken(params) → {Promise.<number>} - - -

- - - - -
-

Verify if Approved

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
amount - - -number - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 367 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - isApprovedTransactionalToken(params) → {Promise.<number>} - - -

- - - - -
-

Verify if Approved

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
amount - - -number - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 381 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isIssueApprovable(params) → {Promise.<boolean>} - - -

- - - - -
-

Is issue available to be approved (time wise)

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 240 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isIssueApproved(params) → {Promise.<boolean>} - - -

- - - - -
-

Is issue Approved

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 227 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isIssueMergeable(params) → {Promise.<boolean>} - - -

- - - - -
-

Can this issue be merged

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
mergeId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 254 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - isMergeTheOneWithMoreVotes(params) → {Promise.<boolean>} - - -

- - - - -
-

Can this issue be merged

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
mergeId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 268 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - lock(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

lock tokens for oracles

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 395 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Tokens Amount has to be higher than 0

-
- -Error - - -
- -
- - - -
- -

Tokens not approve for tx, first use 'approveERC20'

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - openIssue(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAmount - - -number - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 452 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Tokens Amount has to be higher than 0

-
- -Error - - -
- -
- - - -
- -

Tokens not approve for tx, first use 'approveERC20'

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForApprove() → {Promise.<number>} - - -

- - - - -
-

Get Amount of Needed for Approve

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 106 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForDispute() → {Promise.<number>} - - -

- - - - -
-

Get Amount of Needed for Dispute

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 120 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - percentageNeededForMerge() → {Promise.<number>} - - -

- - - - -
-

Get Amount of Needed for Merge

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 135 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - proposeIssueMerge(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

Propose Merge of Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueID - - -number - - - -
prAddresses - - -Array.<Address> - - - -
prAmounts - - -Array.<number> - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 528 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - redeemIssue(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

redeem Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueId - - -number - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 480 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - timeOpenForIssueApprove() → {Promise.<Date>} - - -

- - - - -
-

GetTotal amount of time where an issue has to be approved

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 160 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<Date> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - unlock(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

Unlock Tokens for oracles

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 414 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Tokens Amount has to be higher than 0

-
- -Error - - -
- -
- - -
-
- - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - updateIssue(params) → {Promise.<TransactionObject>} - - -

- - - - -
-

open Issue

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
issueID - - -number - - - -
tokenAmount - - -number - - - -
address - - -address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 507 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - votesStaked() → {Promise.<number>} - - -

- - - - -
-

Get Total Amount of Tokens Staked in the network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 173 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<number> - - -
- -
- - -
-
- - - - -
- -
-
- - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -Boolean - - - - - - - - - -
localtest - - -Boolean - - - - - - - - - -

ganache local blockchain

web3Connection - - -Web3Connection - - - - - - <optional>
- - - -
- - Web3Connection - -

created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'

contractAddress - - -string - - - - - - <optional>
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 9 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/OpenerRealFvr.html b/docs/OpenerRealFvr.html deleted file mode 100644 index 8868c64e..00000000 --- a/docs/OpenerRealFvr.html +++ /dev/null @@ -1,5624 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs OpenerRealFvr - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

OpenerRealFvr

-
- - - - - -
- -
- -

OpenerRealFvr(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new OpenerRealFvr(params) - - -

- - - - -
-

OpenerRealFvr Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

contractAddress - - -Address - - - -

Contract Address (If Deployed)

tokenAddress - - -Address - - - -

Token Purchase Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 7 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - - buyPack(params) → {Transaction} - - -

- - - - -
-

Buy Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -

Pack Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 52 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - buyPacks(params) → {Transaction} - - -

- - - - -
-

Buy Packs

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packIds - - -Array -| - -Integer - - - -

Pack Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 63 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - createPack(params) → {TransactionObject} - - -

- - - - -
-

Create Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

nftAmount - - -Integer - - - -

Amount of NFTs/Tokens

price - - -Integer - - - -

Price of Pack (100 = $1; 1 = $0.01)

serie - - -String - - - -

Serie of Pack

packType - - -String - - - -

Pack Type

drop - - -String - - - -

Pack Drop

saleStart - - -Date - - - -

Start Date

saleDistributionAddresses - - -Address -| - -Array - - - -

Revenue Addresses of the First Purchase

saleDistributionAmounts - - -Integer -| - -Array - - - -

Revenue Amounts of the First Purchase

marketplaceDistributionAddresses - - -Address -| - -Array - - - -

Revenue Addresses of the Marketplace Sales

marketplaceDistributionAmounts - - -Integer -| - -Array - - - -

Revenue Amounts of the Marketplace Sales

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 119 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deletePackById(params) → {TransactionObject} - - -

- - - - -
-

Delete Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -

Pack Id Integer

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 181 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy(params) → {Boolean} - - -

- - - - -
-

User deploys the contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

name - - -String - - - -

Name of the Contract

symbol - - -String - - - -

Symbol of the Contract

tokenAddress - - -Address - - - -

token Address of the purchase Token in use

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 412 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - editPackInfo(params) → {TransactionObject} - - -

- - - - -
-

Edit Pack Info

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -

Pack Number

saleStart - - -Date - - - -

Time of Start of the Sale

serie - - -String - - - -

Serie of Pack

packType - - -String - - - -

Pack Type

drop - - -String - - - -

Pack Drop

price - - -Integer - - - -

Pack Price

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 159 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - exists(params) → {Bool} - - -

- - - - -
-

Verify if a Token was already minted

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 337 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

wasMinted

- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAmountOfPacksCreated() → {Integer} - - -

- - - - -
-

Get Amount of Packs Created

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 381 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

packsAmount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAmountOfPacksOpened() → {Integer} - - -

- - - - -
-

Get Amount of Packs Opened

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 390 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

packsAmount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAmountOfTokensCreated() → {Integer} - - -

- - - - -
-

Get Amount of Tokens/NFTs Created (Inherent to the Packs)

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 399 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

tokensAmount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getMarketplaceDistributionForERC721(params) → {Array|Integer|Array|Address} - - -

- - - - -
-

Get Distribution Sales Description for ERC721 Marketplace Sales

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenid - - -Integer - - - -

Token Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 318 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Distribution Amounts

- - -
- - -Array -| - -Integer - - -
- -
- - - - -
- -

Distribution Addresses

- - -
- - -Array -| - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPackbyId(params) → {Integer|Integer|String|String|String|Address|Array|Address|Array|Integer|Bool} - - -

- - - - -
-

Get Pack If Information

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 274 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

packId

- - -
- - -Integer - - -
- -
- - - - -
- -

price

- - -
- - -Integer - - -
- -
- - - - -
- -

serie

- - -
- - -String - - -
- -
- - - - -
- -

drop

- - -
- - -String - - -
- -
- - - - -
- -

packType

- - -
- - -String - - -
- -
- - - - -
- -

buyer

- - -
- - -Address - - -
- -
- - - - -
- -

saleDistributionAddresses

- - -
- - -Array -| - -Address - - -
- -
- - - - -
- -

saleDistributionAmounts

- - -
- - -Array -| - -Integer - - -
- -
- - - - -
- -

opened

- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPackPriceInFVR(params) → {Integer} - - -

- - - - -
-

Get Cost in Fvr Tokens of the Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 368 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Price in Real Fvr Tokens

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPurchaseToken() → {Address} - - -

- - - - -
-

Get Purchase Token Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 345 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Token Address

- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getRegisteredTokens(params) → {Array|Integer} - - -

- - - - -
-

Get Token IDs that were already bought via a pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 301 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

TokensRegistered

- - -
- - -Array -| - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTokenWorthof1USD() → {Integer} - - -

- - - - -
-

Get Real Fvr Cost in USD

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 352 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Price in Real Fvr Tokens

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - lock() → {TransactionObject} - - -

- - - - -
-

Lock the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 214 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - mint(params) → {TransactionObject} - - -

- - - - -
-

Mint Token Id (After buying a pack)

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -Integer - - - -

Token ID

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 192 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - offerPack(params) → {TransactionObject} - - -

- - - - -
-

Offer Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -

Pack Id

receivingAddress - - -Address - - - -

Pack Id Integer

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 97 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - openPack(params) → {Transaction} - - -

- - - - -
-

Open Pack

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packId - - -Integer - - - -

Pack Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 74 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - openPacks(params) → {Transaction} - - -

- - - - -
-

Open Packs

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

packIds - - -Array -| - -Integer - - - -

Pack Id

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 85 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Transaction

- - -
- - -Transaction - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setBaseURI(params) → {TransactionObject} - - -

- - - - -
-

Set Base Id URI

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

uri - - -String - - - -

URI of the Token Id Metadata JSON

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 243 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setPurchaseTokenAddress(params) → {TransactionObject} - - -

- - - - -
-

Set Purchase Token

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

address - - -Address - - - -

Token Address

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 203 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setTokenURI(params) → {TransactionObject} - - -

- - - - -
-

Set Specific Token Id URI

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

tokenId - - -Integer - - - -

Token ID

uri - - -String - - - -

URI of the Token Id Metadata JSON

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 255 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - setTokenWorthof1USD(params) → {TransactionObject} - - -

- - - - -
-

Set Token Price of Real Fvr in USD --> 1*10**18 as input means 1 Real Fvr = $0.000001

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -

Parameters

price - - -Price - - - -

Token Price

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 230 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - unlock() → {TransactionObject} - - -

- - - - -
-

Unlock the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/custom/RealFvr/OpenerRealFvr.js, line 221 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success the Tx Object if operation was successful

- - -
- - -TransactionObject - - -
- -
- - -
-
- - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/StakingContract.html b/docs/StakingContract.html deleted file mode 100644 index e442a6a2..00000000 --- a/docs/StakingContract.html +++ /dev/null @@ -1,3480 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs StakingContract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

StakingContract

-
- - - - - -
- -
- -

StakingContract(params)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new StakingContract(params) - - -

- - - - -
-

Staking Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
tokenAddress - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 7 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - -
-

Members

-
- -
- -

- # - - - __assert - - -

- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 391 - -

- -
- - - - - -
- -
-
- - - -
-

Methods

-
- -
- - - -

- # - - - - approveERC20Transfer() - - -

- - - - -
-

Approve ERC20 Allowance for Transfer for Subscribe Product

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 214 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - availableTokens() → {Integer} - - -

- - - - -
-

Get All Tokens Available for the Subscription Amount

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 67 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - createProduct(startDate, endDate, totalMaxAmount, individualMinimumAmount, APR, lockedUntilFinalization) - - -

- - - - -
-

createProduct

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
startDate - - -Date - - - -
endDate - - -Date - - - -
totalMaxAmount - - -Integer - - - -
individualMinimumAmount - - -Integer - - - -
APR - - -Integer - - - -
lockedUntilFinalization - - -Boolean - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 127 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - - deploy() - - -

- - - - -
-

Deploy the Staking Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 417 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - depositAPRTokensByAdmin(amount) - - -

- - - - -
-

Transfer Tokens by the Admin to ensure APR Amount

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 354 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
- - - -

- # - - - async - - - - - erc20() → {Address} - - -

- - - - -
-

Get ERC20 Address of the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 35 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - futureLockedTokens() → {Integer} - - -

- - - - -
-

Get All Tokens Locked for the APR

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 54 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAllSubscriptions() → {Array|Subscription} - - -

- - - - -
-

Get All Subscriptions done

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 328 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

subscriptions

- - -
- - -Array -| - -Subscription - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getAPRAmount(APR, startDate, endDate, amount) → {Integer} - - -

- - - - -
-

Get APR Amount based on amount of timestamp, amount and APR of that product

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
APR - - -Integer - - - -
startDate - - -Date - - - -
endDate - - -Date - - - -
amount - - -Integer - - - -

Token Amount

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 97 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getProduct(product_id) → {Date|Date|Date|Integer|Integer|Integer|Integer|Boolean|Array|Address|Array|Integer} - - -

- - - - -
-

Get Subscription from product

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
product_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 180 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

createdAt

- - -
- - -Date - - -
- -
- - - - -
- -

startDate

- - -
- - -Date - - -
- -
- - - - -
- -

endDate

- - -
- - -Date - - -
- -
- - - - -
- -

totalMaxAmount

- - -
- - -Integer - - -
- -
- - - - -
- -

individualMinimumAmount

- - -
- - -Integer - - -
- -
- - - - -
- -

APR

- - -
- - -Integer - - -
- -
- - - - -
- -

currentAmount

- - -
- - -Integer - - -
- -
- - - - -
- -

lockedUntilFinalization

- - -
- - -Boolean - - -
- -
- - - - -
- -

subscribers

- - -
- - -Array -| - -Address - - -
- -
- - - - -
- -

subscriptionIds

- - -
- - -Array -| - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getProducts() → {Array|Integer} - - -

- - - - -
-

Get All Available Products

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 160 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ids

- - -
- - -Array -| - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getSubscription(product_id, subscription_id) → {Integer|Integer|Date|Date|Address|Integer|Boolean} - - -

- - - - -
-

Get Subscription from product

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
product_id - - -Integer - - - -
subscription_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 270 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

_id

- - -
- - -Integer - - -
- -
- - - - -
- -

productId

- - -
- - -Integer - - -
- -
- - - - -
- -

startDate

- - -
- - -Date - - -
- -
- - - - -
- -

endDate

- - -
- - -Date - - -
- -
- - - - -
- -

subscriberAddress

- - -
- - -Address - - -
- -
- - - - -
- -

APR

- - -
- - -Integer - - -
- -
- - - - -
- -

finalized

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getSubscriptionsByAddress(address) → {Array|Integer} - - -

- - - - -
-

Get Subscriptions by Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 315 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

subscriptions_ids

- - -
- - -Array -| - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTokenAmount() → {Address} - - -

- - - - -
-

Get Token Amount of ERC20 Address

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 47 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Address - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getTotalNeededTokensForAPRbyAdmin() → {Integer} - - -

- - - - -
-

Get Total Amount of tokens needed to be deposited by Admin to ensure APR for all available Products

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 366 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - heldTokens() → {Integer} - - -

- - - - -
-

Get All Tokens Held in Stake at that specific moment

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 80 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - subscribeProduct(product_id, amount) → {Boolean} - - -

- - - - -
-

Subscribe to a product Staking

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
product_id - - -Integer - - - -
amount - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 232 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Success

- - -
- - -Boolean - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - withdrawSubscription(product_id, subscription_id) - - -

- - - - -
-

Withdraw Subscription to a product Staking

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
product_id - - -Integer - - - -
subscription_id - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Staking/StakingContract.js, line 303 - -

- -
- - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/TokensNetwork.html b/docs/TokensNetwork.html deleted file mode 100644 index e276223e..00000000 --- a/docs/TokensNetwork.html +++ /dev/null @@ -1,1140 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs TokensNetwork - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

TokensNetwork

-
- - - - - -
- -
- -

TokensNetwork(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new TokensNetwork(options) - - -

- - - - -
-

TokensNetwork Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -TokensNetwork~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 17 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Issue - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
finalized: - - -boolean - - - -

boolean

canceled - - -boolean - - - -
votesForApprove - - -number - - - -
TokensStaked - - -number - - - -
issueGenerator - - -Address - - - -
mergeProposalsAmount - - -number - - - -
_id - - -number - - - -
creationDate - - -Date - - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 23 - -

- -
- - - - - -
- -
- - - - -Object - - - - -

- # - - - MergedIssue - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
prAddresses - - -Array.<Address> - - - -
prAmounts - - -Array.<number> - - - -
votes - - -number - - - -
disputes - - -number - - - -
proposalAddress - - -Address - - - -
_id - - -number - - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 35 - -

- -
- - - - - -
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -Boolean - - - - - - - - - -
localtest - - -Boolean - - - - - - - - - -

ganache local blockchain

web3Connection - - -Web3Connection - - - - - - <optional>
- - - -
- - Web3Connection - -

created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'

contractAddress - - -string - - - - - - <optional>
- - - -
- -
tokenAddress - - -string - - - - - - <optional>
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/BEPRO/Network.js, line 8 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/VotingContract.html b/docs/VotingContract.html deleted file mode 100644 index 95b2da91..00000000 --- a/docs/VotingContract.html +++ /dev/null @@ -1,3877 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs VotingContract - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

VotingContract

-
- - - - - -
- -
- -

VotingContract(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new VotingContract(options) - - -

- - - - -
-

Voting Contract Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -VotingContract~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 15 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - async - - - - - __assert() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 296 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Contract is not deployed, first deploy it and provide a contract address

-
- -Error - - -
- -
- - -
-
- - - - - - -
- -
- - - -

- # - - - async - - - - - castVote() → {Promise.<TransactionObject>} - - -

- - - - -
-

Cast Vote

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params.poolId - - -Integer - - - -

Pool Id

params.voteId - - -Integer - - - -

Vote Position on Length

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 86 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - createPool() → {Promise.<TransactionObject>} - - -

- - - - -
-

Creates a Pool

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params.description - - -String - - - -
params.expirationTime - - -Integer - - - -
params.options - - -Array -| - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 47 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - deploy(Objectopt) → {Promise.<*>} - - -

- - - - -
-

Deploy the Staking Contract

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDescription
Object - - - - <optional>
- - - - - -

params

params.erc20Contract - - -Address - - - - - - - - - -
params.callback - - -function - - - - - - - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 327 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<*> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - endPool() → {Promise.<TransactionObject>} - - -

- - - - -
-

Creates a Pool

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params.poolId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 68 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - erc20() → {Promise.<Address>} - - -

- - - - -
-

Get ERC20 Address of the Contract

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 33 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<Address> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getERC20Contract() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 340 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ERC20Contract|undefined

- - -
- - -
-
- - - - -
- -
- - - -

- # - - - - getLockedAmount(params) → {Integer} - - -

- - - - -
-

Get Locked Amount

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
voter - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 258 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Locked Amount

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPollHistory(params) → {Array|Integer} - - -

- - - - -
-

Get Pool History for Address

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
address - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 198 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Pool Ids

- - -
- - -Array -| - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPollInfoForVoter(params) → {Integer|Integer} - - -

- - - - -
-

Get Pool Info for Voter

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
poolId - - -Integer - - - -
voter - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 218 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Vote

- - -
- - -Integer - - -
- -
- - - - -
- -

Weigth (Token Value)

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPollOptionById(params) → {Integer} - - -

- - - - -
-

Get Pool Winner

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
poolId - - -Integer - - - -

Pool Id

optionIndex - - -Integer - - - -

Option Id for Pool

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 182 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Option Id

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPoolInformation(params) → {Promise.<VotingContract~Pool>} - - -

- - - - -
-

Get Pool Information

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
poolId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 137 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<VotingContract~Pool> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - getPoolWinner(params) → {Integer|Integer} - - -

- - - - -
-

Get Pool Winner

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
poolId - - -Integer - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 162 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Winner Id

- - -
- - -Integer - - -
- -
- - - - -
- -

Winner Id Index

- - -
- - -Integer - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - stakeVotingTokens() → {Promise.<TransactionObject>} - - -

- - - - -
-

Stake Voting Tokens

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params.tokens - - -Integer - - - -

Tokens

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 105 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - userHasVoted(params) → {Bool} - - -

- - - - -
-

Check if a User has voted

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params - - -Object - - - -
poolId - - -Integer - - - -
voter - - -Address - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 241 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

HasVoted

- - -
- - -Bool - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - withdrawTokens() → {Promise.<TransactionObject>} - - -

- - - - -
-

Withdraw Tokens from Voting

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
params.tokens - - -Integer - - - -

Tokens

-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 275 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<TransactionObject> - - -
- -
- - -
-
- - - - -
- -
-
- - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -Boolean - - - - - - - - - -
localtest - - -Boolean - - - - - - - - - -

ganache local blockchain

web3Connection - - -Web3Connection - - - - - - <optional>
- - - -
- - Web3Connection - -

created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'

contractAddress - - -string - - - - - - <optional>
- - - -
- -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 7 - -

- -
- - - - - -
- -
- - - - -Object - - - - -

- # - - - Pool - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
creator - - -Address - - - -
status - - -Bool - - - -
optionsSize - - -Integer - - - -
description - - -String - - - -
voters - - -Array -| - -Address - - - -
expirationTime - - -Date - - - -
-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - models/Voting/VotingContract.js, line 120 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/Web3Connection.html b/docs/Web3Connection.html deleted file mode 100644 index 70006038..00000000 --- a/docs/Web3Connection.html +++ /dev/null @@ -1,1325 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs Web3Connection - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Class

-

Web3Connection

-
- - - - - -
- -
- -

Web3Connection(options)

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new Web3Connection(options) - - -

- - - - -
-

Web3Connection Object

-
- - - - - - - - - - -
Parameters:
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
options - - -Web3Connection~Options - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 33 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - - - - - - - - - - - -
-

Methods

-
- -
- - - -

- # - - - async - - - - - getAddress() → {Promise.<string>} - - -

- - - - -
-

Get Address connected via login()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 144 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Address in Use

- - -
- - -Promise.<string> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getETHBalance() → {Promise.<string>} - - -

- - - - -
-

Get ETH Balance of Address connected via login()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 156 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

ETH Balance

- - -
- - -Promise.<string> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - getETHNetwork() → {Promise.<string>} - - -

- - - - -
-

Get ETH Network

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 130 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- -

Network Name (Ex : Kovan)

- - -
- - -Promise.<string> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - async - - - - - login() → {Promise.<boolean>} - - -

- - - - -
-

Login with Metamask/Web3 Wallet - substitutes start()

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 104 - -

- -
- - - - - - - - - - - - - - - - - - -
-
-
- - - -
- - -
- - -Promise.<boolean> - - -
- -
- - -
-
- - - - -
- -
- - - -

- # - - - - start() - - -

- - - - -
-

Connect to Web3 injected in the constructor

-
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 69 - -

- -
- - - - - - - - - - - - - - - - -
-
-
- - -
- -

Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet

-
- -Error - - -
- -
- - -
-
- - - - - - -
- -
-
- - - -
-

Type Definitions

-
- -
- - - - -Object - - - - -

- # - - - Optional - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeDescription
web3Connection - - -string - - - -

Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545)

privateKey - - -string - - - -

Private key (0x....) used for server side use

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 20 - -

- -
- - - - - -
- -
- - - - -Object - - - - -

- # - - - Options - - -

- - - - - - - - -
Properties:
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameTypeAttributesDefaultDescription
test - - -boolean - - - - - - <optional>
- - - -
- - false - -

Automated Tests

localtest - - -boolean - - - - - - <optional>
- - - -
- - false - -

Ganache Local Blockchain

opt - - -Web3Connection~Optional - - - - - - <optional>
- - - -
- -

Optional Chain Connection Object (Default ETH)

-
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Web3Connection.js, line 26 - -

- -
- - - - - -
- -
-
- - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/Web3Connection.js.html b/docs/Web3Connection.js.html deleted file mode 100644 index 9805b533..00000000 --- a/docs/Web3Connection.js.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs Web3Connection.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

Web3Connection.js

-
- - - - - -
-
-
import Web3 from 'web3';
-import Account from './utils/Account';
-
-const ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b';
-// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too
-const ETH_URL_LOCAL_TEST = 'http://localhost:8545';
-const TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132';
-// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7';
-
-const networksEnum = Object.freeze({
-  1: 'Ethereum Main',
-  2: 'Morden',
-  3: 'Ropsten',
-  4: 'Rinkeby',
-  56: 'BSC Main',
-  97: 'BSC Test',
-  42: 'Kovan',
-});
-
-/**
- * @typedef {Object} Web3Connection~Optional
- * @property {string} web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545)
- * @property {string} privateKey Private key (0x....) used for server side use
- */
-
-/**
- * @typedef {Object} Web3Connection~Options
- * @property {boolean} [test=false] Automated Tests
- * @property {boolean} [localtest=false] Ganache Local Blockchain
- * @property {Web3Connection~Optional} [opt] Optional Chain Connection Object (Default ETH)
- */
-
-/**
- * Web3Connection Object
- * @class Web3Connection
- * @param {Web3Connection~Options} options
- */
-class Web3Connection {
-  constructor({
-    test = false, // Automated tests
-    localtest = false, // ganache local blockchain
-    opt = { web3Connection: ETH_URL_TESTNET, privateKey: TEST_PRIVATE_KEY },
-  }) {
-    this.test = test;
-    this.localtest = localtest;
-    this.opt = opt;
-    if (this.test) {
-      this.start();
-      this.login();
-      if (!this.localtest) {
-        this.account = new Account(
-          this.web3,
-          this.web3.eth.accounts.privateKeyToAccount(opt.privateKey),
-        );
-      }
-    }
-  }
-
-  /** **** */
-  /** * CORE */
-  /** **** */
-
-  /**
-   * Connect to Web3 injected in the constructor
-   * @function
-   * @throws {Error} Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet
-   * @void
-   */
-  start() {
-    if (this.localtest) {
-      this.web3 = new Web3(
-        new Web3.providers.HttpProvider(ETH_URL_LOCAL_TEST),
-        // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks
-        null,
-        { transactionConfirmationBlocks: 1 },
-      );
-    } else if (this.opt.web3Connection.toLowerCase().includes('http')) {
-      this.web3 = new Web3(new Web3.providers.HttpProvider(this.opt.web3Connection));
-    } else {
-      this.web3 = new Web3(new Web3.providers.WebsocketProvider(this.opt.web3Connection));
-    }
-
-    if (!this.localtest && this.test) {
-      this.account = new Account(
-        this.web3,
-        this.web3.eth.accounts.privateKeyToAccount(this.opt.privateKey),
-      );
-    }
-
-    if (typeof window !== 'undefined') {
-      window.web3 = this.web3;
-    } else if (!this.test) {
-      throw new Error(
-        'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet',
-      );
-    }
-  }
-
-  /**
-   * Login with Metamask/Web3 Wallet - substitutes start()
-   * @function
-   * @return {Promise<boolean>}
-   */
-  async login() {
-    try {
-      if (typeof window === 'undefined') {
-        return false;
-      }
-      if (window.ethereum) {
-        window.web3 = new Web3(window.ethereum);
-        this.web3 = window.web3;
-        await window.ethereum.enable();
-        return true;
-      }
-      return false;
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  /** ***** */
-  /** UTILS */
-  /** ***** */
-
-  /**
-   * Get ETH Network
-   * @function
-   * @return {Promise<string>} Network Name (Ex : Kovan)
-   */
-  async getETHNetwork() {
-    const netId = await this.web3.eth.net.getId();
-    // eslint-disable-next-line no-prototype-builtins
-    const networkName = networksEnum.hasOwnProperty(netId)
-      ? networksEnum[netId]
-      : await this.web3.currentProvider.host; // 'Unknown';
-    return networkName;
-  }
-
-  /**
-   * Get Address connected via login()
-   * @function
-   * @return {Promise<string>} Address in Use
-   */
-  async getAddress() {
-    if (this.account) return this.account.getAddress();
-
-    const accounts = await this.web3.eth.getAccounts();
-    return accounts[0];
-  }
-
-  /**
-   * Get ETH Balance of Address connected via login()
-   * @function
-   * @return {Promise<string>} ETH Balance
-   */
-  async getETHBalance() {
-    const wei = await this.web3.eth.getBalance(await this.getAddress());
-    return this.web3.utils.fromWei(wei, 'ether');
-  }
-}
-
-export default Web3Connection;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/doc-styles.css b/docs/doc-styles.css deleted file mode 100644 index da8ede6e..00000000 --- a/docs/doc-styles.css +++ /dev/null @@ -1,11 +0,0 @@ -.logo .image { - height: 24px; -} - -#main-content-wrapper.core { - overflow-x: hidden; -} - -html { - overflow-y: hidden; -} diff --git a/docs/favicon.ico b/docs/favicon.ico deleted file mode 100644 index 2f8a21bf..00000000 Binary files a/docs/favicon.ico and /dev/null differ diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index d3ec9d76..00000000 --- a/docs/index.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - - BEPRO Network Dev Docs Home - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

-

Home

-
- - - - - - - -

- - - - - - - - - - - - - - - -
-

alt tag

-

Python -Build Status -Dependencies -GitHub issues -Contributions welcome -License

-

Introductions

-

Build the future of DeFi Gaming

-

Installation

-

bepro-js is available as npm package.

-
// with npm
-$ npm i bepro-js
-
-

Before try to install, make sure your working directory has Python 2 and the recommended NVM version setted on. To do, so:

-
    -
  1. Setting of Python 2:
  2. -
-
// Install it via bash terminal globally
-$ sudo apt install python2
-
-// Check the installed version.
-// Must shown Python 2.7.18rc1 on terminal to the install be OK
-$ python2 --version
-
-// Verify Python 2.7 path
-$ ls /usr/bin/python*
-
-// Set Python 2 as alternative 1
-$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
-
-// Confirm Python 2 as alternative priority 1
-$ sudo update-alternatives --config python
-
-// Confirm the procedure.
-// Must shown Python 2.7.18rc1 on terminal to the install be OK
-$ python --version
-
-// On the working directory, run the cmd below to set Python locally
-$ npm config set python python
-
-
    -
  1. Setting of Node:
  2. -
-
// Install NVM recommended version for bepro-js
-$ nvm install 8.12.0
-
-// Set it on the working directory
-$ nvm alias default v8.12.0
-
-// Use the settled as default
-$ nvm use default
-
-

Now, your work directory is able to install and run bepro-js.

-

Docker support

-

Requirements

-
    -
  • Docker CE - 19.03.3+
  • -
  • Docker Compose - 1.19.0+
  • -
-

How to install or upgrade docker and docker-compose?

-
Docker:
-
sudo curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
-
-

Notice:If you already have Docker installed, this script can cause trouble. If you installed the current Docker package using this script and are using it again to update Docker. Or use official installation instructions: Mac, Windows, Ubuntu, Other.

-
Docker Compose:
-

For linux:

-
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
-
-

For Mac or Windows take a look on: official guides.

-

Running containers

-

You can use docker-compose directly, or the nifty make that comes bundled.

-

Build images

-
make build
-
-

Starting containers in background:

-
make up
-
-

Start npm watch:

-
make watch
-
-

Run tests

-
make test
-
-

Stop containers

-
make down
-
-

Using docker-compose instead of make

-
docker-compose up
-
-

Usage

-

https://bepronetwork.github.io/bepro-js/

-

-/* Note :  WEB3_LINK should be get from Infura/Quicknode or any other Web3 Provider - ETH, BSC, Moonbeam and others are supported */
-
-import moment from 'moment';
-import { Application } from 'bepro-js';
-
-/* 1 - Instantiate the App with the Infura/Web3 Connection */
-let app = new Application({opt : {web3Connection : 'WEB3_LINK'}});
-
-/* 2 - Connect the App to the Metamask Web3 Injected wallet*/
-await app.login();
-/* or instantiate with the provided web3Connection */
-await app.start()
-
-/* 3 - Generate a Object (Staking, ERC20 etc..) */
-let staking = app.getStakingContract({contractAddress : /* Contract Address (optional) */});
-
-/* 4 - Assert all object data */
-await staking.__assert();
-/* or deploy the contract*/
-await staking.deploy();
-
-/* 5 - Access other Methods */
-await staking.availableTokens();
-
-
-

Contribution

-

Contributions are welcomed but we ask to red existing code guidelines, specially the code format. Please review Contributor guidelines

-

License

-

MIT

-

Notes

-

The usage of ETH in all methods or params means using the native currency of that blockchain, example BSC in Binance Chain would still be nominated as ETH

-
- - - - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/models_BEPRO_Network.js.html b/docs/models_BEPRO_Network.js.html deleted file mode 100644 index 3b06c2e0..00000000 --- a/docs/models_BEPRO_Network.js.html +++ /dev/null @@ -1,675 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/BEPRO/Network.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/BEPRO/Network.js

-
- - - - - -
-
-
/* eslint-disable no-underscore-dangle */
-// eslint-disable-next-line no-unused-vars
-import _ from 'lodash';
-import { beproNetwork } from '../../interfaces';
-import Numbers from '../../utils/Numbers';
-import IContract from '../IContract';
-import ERC20Contract from '../ERC20/ERC20Contract';
-
-const beproAddress = '0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A';
-
-/**
- * BEPRONetwork Object
- * @class BEPRONetwork
- * @param {Object} params Parameters
- * @param {Address} params.contractAddress Optional/If Existent
- */
-class BEPRONetwork extends IContract {
-  constructor(params) {
-    super({ abi: beproNetwork, ...params });
-  }
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-
-    // Use ABI
-    this.params.contract.use(beproNetwork, this.getAddress());
-
-    // Set Token Address Contract for easy access
-    this.params.ERC20Contract = new ERC20Contract({
-      web3: this.web3,
-      contractAddress: beproAddress,
-      acc: this.acc,
-    });
-
-    // Assert Token Contract
-    await this.params.ERC20Contract.__assert();
-  };
-
-  /**
-   * @function
-   * @description Get Open Issues Available
-   * @param {Address} address
-   * @returns {Integer | Array}
-   */
-  async getIssuesByAddress(address) {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getIssuesByAddress(address)
-      .call();
-
-    return res.map(r => parseInt(r, 10));
-  }
-
-  /**
-   * @function
-   * @description Get Amount of Issues Opened in the network
-   * @returns {Integer}
-   */
-  async getAmountofIssuesOpened() {
-    return parseInt(
-      await this.params.contract.getContract().methods.incrementIssueID().call(),
-      10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Amount of Issues Closed in the network
-   * @returns {Integer}
-   */
-  async getAmountofIssuesClosed() {
-    return parseInt(
-      await this.params.contract.getContract().methods.closedIdsCount().call(),
-      10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Amount of Needed for Approve
-   * @returns {Integer}
-   */
-  async percentageNeededForApprove() {
-    return parseInt(
-      await this.params.contract
-        .getContract()
-        .methods.percentageNeededForApprove()
-        .call(),
-      10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Amount of Needed for Dispute
-   * @returns {Integer}
-   */
-  async percentageNeededForDispute() {
-    return parseInt(
-      await this.params.contract
-        .getContract()
-        .methods.percentageNeededForDispute()
-        .call(),
-      10,
-    );
-  }
-
-
-  /**
-   * @function
-   * @description Get Amount of Needed for Merge
-   * @returns {Integer}
-   */
-  async percentageNeededForMerge() {
-    return parseInt(
-      await this.params.contract
-        .getContract()
-        .methods.percentageNeededForMerge()
-        .call(),
-      10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of BEPRO Staked for Tickets in the network
-   * @returns {Integer}
-   */
-  async getBEPROStaked() {
-    return Numbers.fromDecimals(
-      await this.params.contract.getContract().methods.totalStaked().call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description GetTotal amount of time where an issue has to be approved
-   * @returns {Date}
-   */
-  async timeOpenForIssueApprove() {
-    return Numbers.fromSmartContractTimeToMinutes(
-      await this.params.contract
-        .getContract()
-        .methods.timeOpenForIssueApprove()
-        .call(),
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of BEPRO Staked for Tickets in the network
-   * @returns {Integer}
-   */
-  async beproVotesStaked() {
-    return Numbers.fromDecimals(
-      await this.params.contract
-        .getContract()
-        .methods.beproVotesStaked()
-        .call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of BEPRO Staked for Council in the network
-   * @returns {Integer}
-   */
-  async COUNCIL_BEPRO_AMOUNT() {
-    return Numbers.fromDecimals(
-      await this.params.contract
-        .getContract()
-        .methods.COUNCIL_BEPRO_AMOUNT()
-        .call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of BEPRO Staked for Operator in the network
-   * @returns {Integer}
-   */
-  async OPERATOR_BEPRO_AMOUNT() {
-    return Numbers.fromDecimals(
-      await this.params.contract
-        .getContract()
-        .methods.OPERATOR_BEPRO_AMOUNT()
-        .call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of BEPRO Staked for Developer in the network
-   * @returns {Integer}
-   */
-  async DEVELOPER_BEPRO_AMOUNT() {
-    return Numbers.fromDecimals(
-      await this.params.contract
-        .getContract()
-        .methods.DEVELOPER_BEPRO_AMOUNT()
-        .call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Is issue Approved
-   * @param {Integer} issueId
-   * @returns {Bool}
-   */
-  async isIssueApproved({ issueId }) {
-    return await this.params.contract
-      .getContract()
-      .methods.isIssueApproved(issueId)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Is issue available to be approved (time wise)
-   * @param {Integer} issueId
-   * @returns {Bool}
-   */
-  async isIssueApprovable({ issueId }) {
-    return await this.params.contract
-      .getContract()
-      .methods.isIssueApprovable(issueId)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Is issue mergeable
-   * @param {Integer} issueId
-   * @param {Integer} mergeId
-   * @returns {Bool}
-   */
-  async isIssueMergeable({ issueId, mergeId }) {
-    return await this.params.contract
-      .getContract()
-      .methods.isIssueMergeable(issueId, mergeId)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Is issue mergeable
-   * @param {Integer} issueId
-   * @param {Integer} mergeId
-   * @returns {Bool}
-   */
-  async isMergeTheOneWithMoreVotes({ issueId, mergeId }) {
-    return await this.params.contract
-      .getContract()
-      .methods.isMergeTheOneWithMoreVotes(issueId, mergeId)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Get Issue Id Info
-   * @param {Address} address
-   * @returns {Integer} votes
-   */
-
-  async getVotesByAddress({ address }) {
-    const r = await this.params.contract
-      .getContract()
-      .methods.getVotesByAddress(address)
-      .call();
-    return Numbers.fromDecimals(r, 18);
-  }
-
-  /**
-   * @function
-   * @description Get Issue Id Info
-   * @param {Integer} issue_id
-   * @returns {Integer} _id
-   * @returns {Integer} beproStaked
-   * @returns {Date} creationDate
-   * @returns {Address} issueGenerator
-   * @returns {Integer} votesForApprove
-   * @returns {Integer} mergeProposalsAmount
-   * @returns {Bool} finalized
-   * @returns {Bool} canceled
-   */
-
-  async getIssueById({ issue_id }) {
-    const r = await this.__sendTx(
-      this.params.contract.getContract().methods.getIssueById(issue_id),
-      true,
-    );
-
-    return {
-      _id: Numbers.fromHex(r[0]),
-      beproStaked: Numbers.fromDecimals(r[1], 18),
-      creationDate: Numbers.fromSmartContractTimeToMinutes(r[2]),
-      issueGenerator: r[3],
-      votesForApprove: Numbers.fromDecimals(r[4], 18),
-      mergeProposalsAmount: parseInt(r[5], 10),
-      finalized: r[6],
-      canceled: r[7],
-    };
-  }
-
-  /**
-   * @function
-   * @description Get Issue Id Info
-   * @param {Integer} issue_id
-   * @param {Integer} merge_id
-   * @returns {Integer} _id
-   * @returns {Integer} votes
-   * @returns {Integer} disputes
-   * @returns {Address | Array} prAddresses
-   * @returns {Integer | Array} prAmounts
-   * @returns {Address} proposalAddress
-   */
-
-  async getMergeById({ issue_id, merge_id }) {
-    const r = await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.getMergeById(issue_id, merge_id),
-      true,
-    );
-
-    return {
-      _id: Numbers.fromHex(r[0]),
-      votes: Numbers.fromDecimals(r[1], 18),
-      disputes: Numbers.fromDecimals(r[2], 18),
-      prAddresses: r[3],
-      prAmounts: r[4] ? r[4].map(a => Numbers.fromDecimals(a, 18)) : 0,
-      proposalAddress: r[5],
-    };
-  }
-
-  /**
-   * @function
-   * @description Approve ERC20 Allowance
-   */
-  approveERC20 = async () => {
-    const totalMaxAmount = await this.getERC20Contract().totalSupply();
-    return await this.getERC20Contract().approve({
-      address: this.getAddress(),
-      amount: totalMaxAmount,
-    });
-  };
-
-  /**
-   * @function
-   * @description Verify if Approved
-   */
-  isApprovedERC20 = async ({ amount, address }) => await this.getERC20Contract().isApproved({
-    address,
-    amount,
-    spenderAddress: this.getAddress(),
-  });
-
-  /**
-   * @function
-   * @description lock BEPRO for oracles
-   * @param {integer} beproAmount
-   */
-  async lockBepro({ beproAmount }) {
-    if (beproAmount <= 0) {
-      throw new Error('Bepro Amount has to be higher than 0');
-    }
-
-    if (!(await this.isApprovedERC20({ amount, address }))) {
-      throw new Error("Bepro not approve for tx, first use 'approveERC20'");
-    }
-
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.lockBepro(beproAmount),
-    );
-  }
-
-  /**
-   * @function
-   * @description Unlock BEPRO for oracles
-   * @param {integer} beproAmount
-   * @param {address} from
-   */
-  async unlockBepro({ beproAmount, from }) {
-    if (beproAmount <= 0) {
-      throw new Error('Bepro Amount has to be higher than 0');
-    }
-
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.unlockBepro(beproAmount, from),
-    );
-  }
-
-  /**
-   * @function
-   * @description Delegated Oracles to others
-   * @param {integer} beproAmount
-   * @param {address} delegatedTo
-   */
-  async delegateOracles({ beproAmount, delegatedTo }) {
-    if (beproAmount <= 0) {
-      throw new Error('Bepro Amount has to be higher than 0');
-    }
-
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.unlockBepro(beproAmount, delegatedTo),
-    );
-  }
-
-  /**
-   * @function
-   * @description open Issue
-   * @param {integer} beproAmount
-   * @param {address} address
-   */
-  async openIssue({ beproAmount, address }) {
-    if (beproAmount < 0) {
-      throw new Error('Bepro Amount has to be higher than 0');
-    }
-
-    if (!(await this.isApprovedERC20({ amount, address }))) {
-      throw new Error("Bepro not approve for tx, first use 'approveERC20'");
-    }
-
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.openIssue(beproAmount),
-    );
-  }
-
-  /**
-   * @function
-   * @description open Issue
-   * @param {integer} issueId
-   */
-  async approveIssue({ issueId }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.approveIssue(issueId),
-    );
-  }
-
-  /**
-   * @function
-   * @description redeem Issue
-   */
-  async redeemIssue({ issueId }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.redeemIssue(issueId),
-    );
-  }
-
-  /**
-   * @function
-   * @description open Issue
-   * @param {integer} issueId
-   * @param {integer} mergeId
-   */
-  async approveMerge({ issueId, mergeId }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.approveMerge(issueId, mergeId),
-    );
-  }
-
-  /**
-   * @function
-   * @description open Issue
-   * @param {integer} issueID
-   * @param {integer} beproAmount
-   * @param {address} address
-   */
-  async updateIssue({ issueID, beproAmount, address }) {
-    if (beproAmount < 0) {
-      throw new Error('Bepro Amount has to be higher than 0');
-    }
-
-    if (!(await this.isApprovedERC20({ amount, address }))) {
-      throw new Error("Bepro not approve for tx, first use 'approveERC20'");
-    }
-
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.updateIssue(issueID, beproAmount, address),
-    );
-  }
-
-  /**
-   * @function
-   * @description Propose Merge of Issue
-   * @param {integer} issueID
-   * @param {address | Array} prAddresses
-   * @param {address | Integer} prAmounts
-   */
-  async proposeIssueMerge({ issueID, prAddresses, prAmounts }) {
-    if (prAddresses.length != prAmounts.length) {
-      throw new Error('prAddresses dont match prAmounts size');
-    }
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.proposeIssueMerge(issueID, prAddresses, prAmounts),
-    );
-  }
-
-  /**
-   * @function
-   * @description close Issue
-   * @param {integer} issueID
-   * @param {integer} mergeID
-   */
-  async closeIssue({ issueID, mergeID }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.closeIssue(issueID, mergeID),
-    );
-  }
-
-  deploy = async ({ tokenAddress, callback }) => {
-    const params = [tokenAddress];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default BEPRONetwork;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC20_ERC20Contract.js.html b/docs/models_ERC20_ERC20Contract.js.html deleted file mode 100644 index 528d5ca4..00000000 --- a/docs/models_ERC20_ERC20Contract.js.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC20/ERC20Contract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC20/ERC20Contract.js

-
- - - - - -
-
-
import { ierc20 } from '../../interfaces';
-import Numbers from '../../utils/Numbers';
-import IContract from '../IContract';
-
-/**
- * @class ERC20Contract
- * @param {Object} params Parameters
- * @param {Address} params.contractAddress Optional/If Existent
- */
-class ERC20Contract extends IContract {
-  constructor(params = {}) {
-    super({ abi: ierc20, ...params });
-  }
-
-  __assert = async () => {
-    this.params.contract.use(ierc20, this.getAddress());
-    this.params.decimals = await this.getDecimalsAsync();
-  };
-
-  getContract() {
-    return this.params.contract.getContract();
-  }
-
-  /**
-   * @function
-   * @description Get Token Address
-   * @returns {Address} address
-   */
-  getAddress() {
-    return this.params.contractAddress;
-  }
-
-  /**
-   * @function
-   * @description Transfer Tokens
-   * @param {Object} params Parameters
-   * @param {Address} params.toAddress To Address
-   * @param {Integer} params.tokenAmount Amount of Tokens
-   * @returns {Transaction} Transaction
-   */
-  transferTokenAmount = async ({ toAddress, tokenAmount }) => {
-    const amountWithDecimals = Numbers.toSmartContractDecimals(
-      tokenAmount,
-      this.getDecimals(),
-    );
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.transfer(toAddress, amountWithDecimals),
-    );
-  };
-
-  /**
-   * @function
-   * @description Get Amount of Tokens User Holds
-   * @param {Address} address User Address
-   * @returns {Transaction} Transaction
-   */
-  getTokenAmount = async address => Numbers.fromDecimals(
-    await this.getContract().methods.balanceOf(address).call(),
-    this.getDecimals(),
-  );
-
-  /**
-   * @function
-   * @description Get Total Supply of Token
-   * @returns {Integer} Total supply
-   */
-  totalSupply = async () => Numbers.fromDecimals(
-    await this.getContract().methods.totalSupply().call(),
-    this.getDecimals(),
-  );
-
-  getABI() {
-    return this.params.contract;
-  }
-
-  /**
-   * @function
-   * @description Get Decimals of Token
-   * @returns {Integer} Total supply
-   */
-  getDecimals() {
-    return this.params.decimals;
-  }
-
-  getDecimalsAsync = async () => await this.getContract().methods.decimals().call();
-
-  /**
-   * @function
-   * @description Verify if Spender is Approved to use tokens
-   * @param {Object} params Parameters
-   * @param {Address} params.address Sender Address
-   * @param {Integer} params.amount Amount of Tokens
-   * @param {Address} params.spenderAddress Spender Address
-   * @returns {Bool} isApproved
-   */
-  isApproved = async ({ address, amount, spenderAddress }) => {
-    try {
-      const approvedAmount = Numbers.fromDecimals(
-        await this.getContract()
-          .methods.allowance(address, spenderAddress)
-          .call(),
-        this.getDecimals(),
-      );
-
-      const amountWithDecimal = Numbers.fromDecimals(
-        amount,
-        this.getDecimals(),
-      );
-      return approvedAmount >= amountWithDecimal;
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Approve tokens to be used by another address/contract
-   * @param {Object} params Parameters
-   * @param {Address} params.address Spender Address/Contract
-   * @param {Integer} params.amount Amount of Tokens
-   * @returns {Transaction} Transaction
-   */
-  approve = async ({ address, amount, callback }) => {
-    try {
-      const amountWithDecimals = Numbers.toSmartContractDecimals(
-        amount,
-        this.getDecimals(),
-      );
-      const res = await this.__sendTx(
-        this.params.contract
-          .getContract()
-          .methods.approve(address, amountWithDecimals),
-        null,
-        null,
-        callback,
-      );
-      return res;
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  /**
-   * @function
-   * @description Deploy ERC20 Token
-   * @param {Object} params Parameters
-   * @param {String} params.name Name of token
-   * @param {String} params.symbol Symbol of token
-   * @param {Integer} params.cap Max supply of Token (ex : 100M)
-   * @param {Address} params.distributionAddress Where tokens should be sent to initially
-   * @returns {Transaction} Transaction
-   */
-  deploy = async ({
-    name, symbol, cap, distributionAddress, callback,
-  }) => {
-    if (!distributionAddress) {
-      throw new Error('Please provide an Distribution address for distro');
-    }
-
-    if (!name) {
-      throw new Error('Please provide a name');
-    }
-
-    if (!symbol) {
-      throw new Error('Please provide a symbol');
-    }
-
-    if (!cap) {
-      throw new Error('Please provide a cap');
-    }
-    const params = [name, symbol, cap, distributionAddress];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-}
-
-export default ERC20Contract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC20_ERC20Distribution.js.html b/docs/models_ERC20_ERC20Distribution.js.html deleted file mode 100644 index ecef28ef..00000000 --- a/docs/models_ERC20_ERC20Distribution.js.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC20/ERC20Distribution.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC20/ERC20Distribution.js

-
- - - - - -
-
-
import moment from 'moment';
-import { erc20distribution } from '../../interfaces';
-import ERC20Contract from './ERC20Contract';
-import IContract from '../IContract';
-import Numbers from '../../utils/Numbers';
-
-/**
- * @typedef {Object} ERC20Distribution~Options
- * @property {Boolean} test
- * @property {Boolean} localtest ganache local blockchain
- * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'
- * @property {string} [contractAddress]
- */
-
-/**
- * ERC20 Token Distribution Contract Object
- * @class ERC20Distribution
- * @param {ERC20Distribution~Options} options
- */
-class ERC20Distribution extends IContract {
-  constructor(params = {}) {
-    try {
-      super({ ...params, abi: erc20distribution });
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  /**
-   * Get ERC20 Address of the Token Contract managed
-   * @returns {Promise<Address>}
-   */
-  async erc20() {
-    return await this.params.contract.getContract().methods.erc20().call();
-  }
-
-  /**
-   * Get Token Amount of ERC20 Address
-   * @function
-   * @param {Object} params
-   * @param {Address} params.address
-   * @returns {Promise<number>} Token Amount
-   */
-  getTokenAmount = async ({ address }) => await this.getERC20Contract().getTokenAmount(address);
-
-  /**
-   * (Admin only) Set Token address
-   * @function
-   * @param {Object} params
-   * @param {Address} params.address ERC20 Address
-   * @returns {Promise<boolean>} Success True if operation was successful
-   */
-   setTokenAddress = async ({ address }) => await this.__sendTx(
-     this.params.contract
-       .getContract()
-       .methods.setTokenAddress(address),
-   );
-
-   /**
-   * (Admin only) Get All tokens from the Distribution Contract
-   * @function
-   * @param {Object} params
-   * @param {Address} params.address Address to transfer the ERC20 tokens to
-   * @returns {Promise<boolean>} Success True if operation was successful
-   */
-    safeGuardAllTokens = async ({ address }) => await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.safeGuardAllTokens(address),
-    );
-
-    /**
-   * (Admin only) Set the Token Generation Event
-   * @function
-   * @param {Object} params
-   * @param {Integer} params.time Time to set the TGE to (Token Generation Event)
-   * @returns {Promise<boolean>} Success True if operation was successful
-   */
-    setTGEDate = async ({ time }) => await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setTGEDate(Numbers.timeToSmartContractTime(time)),
-    );
-
-    /**
-   * (Admin only) Set Initial Distribution (Call the amount of times necessary)
-   * @function
-   * @param {Object} params
-   * @param {Address} params.address Address of the recipient
-   * @param {Integer} params.tokenAmount Token amount for this tranche
-   * @param {Integer} params.unlockTime Time to when this tokens unlock
-   * @returns {Promise<boolean>} Success True if operation was successful
-   */
-    setInitialDistribution = async ({ address, tokenAmount, unlockTime }) => {
-      const tokenAmountWithDecimals = Numbers.toSmartContractDecimals(
-        tokenAmount,
-        this.getERC20Contract().getDecimals(),
-      );
-      return await this.__sendTx(
-        this.params.contract
-          .getContract()
-          .methods.setInitialDistribution(address, tokenAmountWithDecimals, Numbers.timeToSmartContractTime(unlockTime)),
-      );
-    };
-
-    /**
-   * Trigger Token - should be called every month
-   * @function
-   * @param {Object} params
-   * @returns {Promise<boolean>} Success True if operation was successful
-   */
-    triggerTokenSend = async () => await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.triggerTokenSend(),
-    );
-
-    /**
-     *
-     * @return {Promise<void>}
-     * @throws {Error} Contract is not deployed, first deploy it and provide a contract address
-     */
-    __assert = async () => {
-      if (!this.getAddress()) {
-        throw new Error(
-          'Contract is not deployed, first deploy it and provide a contract address',
-        );
-      }
-
-      /* Use ABI */
-      this.params.contract.use(erc20distribution, this.getAddress());
-
-      /* Set Token Address Contract for easy access */
-      if (!this.params.ERC20Contract) {
-        this.params.ERC20Contract = new ERC20Contract({
-          web3Connection: this.web3Connection,
-          contractAddress: await this.erc20(),
-        });
-      }
-      /* Assert Token Contract */
-      await this.params.ERC20Contract.__assert();
-    };
-
-    /**
-     * Deploy the Contract
-     * @function
-     * @param {Object} params
-     * @param {function():void} params.callback
-     * @return {Promise<*|undefined>}
-     * @throws {Error} No Token Address Provided
-     */
-    deploy = async ({ callback } = {}) => {
-      const params = [];
-      const res = await this.__deploy(params, callback);
-      this.params.contractAddress = res.contractAddress;
-      /* Call to Backend API */
-      await this.__assert();
-      return res;
-    };
-
-    /**
-     * @function
-     * @return ERC20Contract|undefined
-     */
-    getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default ERC20Distribution;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC20_ERC20TokenLock.js.html b/docs/models_ERC20_ERC20TokenLock.js.html deleted file mode 100644 index 6c9b1c57..00000000 --- a/docs/models_ERC20_ERC20TokenLock.js.html +++ /dev/null @@ -1,469 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC20/ERC20TokenLock.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC20/ERC20TokenLock.js

-
- - - - - -
-
-
import _ from 'lodash';
-import moment from 'moment';
-import dayjs from 'dayjs';
-import { tokenlock } from '../../interfaces';
-import ERC20Contract from './ERC20Contract';
-import IContract from '../IContract';
-import Numbers from '../../utils/Numbers';
-
-const assert = require('assert');
-
-/**
- * ERC20 Token Lock Contract Object
- * @class ERC20TokenLock
- * @param {Object} params
- * @param {Address} params.tokenAddress
- * @param {Address} params.contractAddress ? (opt)
- */
-
-class ERC20TokenLock extends IContract {
-  constructor(params = {}) {
-    try {
-      super({ ...params, abi: tokenlock });
-      console.log(`ERC20TokenLock.ctor.tokenAddress: ${params.tokenAddress}`);
-      console.log(
-        `ERC20TokenLock.ctor.contractAddress: ${params.contractAddress}`,
-      );
-      if (params.tokenAddress) {
-        this.params.ERC20Contract = new ERC20Contract({
-          web3: params.web3,
-          contractAddress: params.tokenAddress,
-          acc: params.acc,
-        });
-      } else {
-        throw new Error("Please provide an ERC20 Address in 'tokenAddress'");
-      }
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  /**
-   * @function
-   * @description Get ERC20 Address of the Token Contract managed
-   * @returns {Address}
-   */
-  async erc20() {
-    return await this.params.contract.getContract().methods.erc20().call();
-  }
-
-  /**
-   * @function
-   * @description Get Token Amount of ERC20 Address
-   * @param {Object} params
-   * @param {Address} params.address
-   * @returns {Integer} Token Amount
-   */
-  getTokenAmount = async ({ address }) => await this.getERC20Contract().getTokenAmount(address);
-
-  /**
-   * @function
-   * @description Get All Tokens staked/locked at that specific moment
-   * @returns {Integer} Token Amount
-   */
-  async totalAmountStaked() {
-    const res = await this.params.contract
-      .getContract()
-      .methods.totalAmountStaked()
-      .call();
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Get minimum amount of tokens to lock per user
-   * @returns {Integer} Minimum Amount
-   */
-  async minAmountToLock() {
-    const res = await this.params.contract
-      .getContract()
-      .methods.minAmountToLock()
-      .call();
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Get maximum amount of tokens to lock per user
-   * @returns {Integer} Maximum Amount
-   */
-  async maxAmountToLock() {
-    const res = await this.params.contract
-      .getContract()
-      .methods.maxAmountToLock()
-      .call();
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Check if locked tokens release date has come and user can withdraw them
-   * @param {Object} params
-   * @param {Address} params.address
-   * @returns {Boolean} canRelease
-   */
-  canRelease = async ({ address }) => await this.params.contract.getContract().methods.canRelease(address).call();
-
-  /**
-   * @function
-   * @description Get locked tokens amount for a given address
-   * @param {Object} params
-   * @param {Address} params.address
-   * @returns {Integer} amount Locked token amount
-   */
-  getLockedTokens = async ({ address }) => {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getLockedTokens(address)
-      .call();
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  };
-
-  /**
-   * @function
-   * @description Get locked tokens info for a given address
-   * @param {Object} params
-   * @param {Address} params.address
-   * @returns {Date} startDate
-   * @returns {Date} endDate
-   * @returns {Integer} amount Token amount
-   */
-  getLockedTokensInfo = async ({ address }) => {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getLockedTokensInfo(address)
-      .call();
-
-    return {
-      startDate: Numbers.fromSmartContractTimeToMinutes(res[0]),
-      endDate: Numbers.fromSmartContractTimeToMinutes(res[1]),
-      amount: Numbers.fromDecimals(
-        res[2],
-        this.getERC20Contract().getDecimals(),
-      ),
-    };
-  };
-
-  /**
-   * @function
-   * @description Admin sets maximum amount of tokens to lock per user
-   * @param {Object} params
-   * @param {Address} params.tokenAmount Amount of Tokens
-   * @returns {Boolean} Success True if operation was successful
-   */
-  setMaxAmountToLock = async ({ tokenAmount }) => {
-    this.onlyOwner(); // verify that user is admin
-
-    /* Get Decimals of Amount */
-    const amountWithDecimals = Numbers.toSmartContractDecimals(
-      tokenAmount,
-      this.getERC20Contract().getDecimals(),
-    );
-
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setMaxAmountToLock(amountWithDecimals),
-    );
-  };
-
-  /**
-   * @function
-   * @description Admin sets minimum amount of tokens to lock per user
-   * @param {Object} params
-   * @param {Integer} params.tokenAmount Minimum tokens amount
-   * @returns {Boolean} Success True if operation was successful
-   */
-  setMinAmountToLock = async ({ tokenAmount }) => {
-    this.onlyOwner(); // verify that user is admin
-
-    /* Get Decimals of Amount */
-    const amountWithDecimals = Numbers.toSmartContractDecimals(
-      tokenAmount,
-      this.getERC20Contract().getDecimals(),
-    );
-
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setMinAmountToLock(amountWithDecimals),
-    );
-  };
-
-  /**
-   * @function
-   * @description User locks his tokens until specified end date.
-   * @param {Object} params
-   * @param {Address} params.address User Address
-   * @param {Integer} params.amount Tokens amount to be locked
-   * @param {Date} params.endDate Lock tokens until this end date
-   * @returns {Boolean} Success True if operation was successful
-   * REQUIREMENTS:
-   * user must have approved this contract to spend the tokens "amount" he wants to lock before calling this function.
-   */
-  lock = async ({ address, amount, endDate }) => {
-    // / 'address' is current user address
-
-    this.whenNotPaused(); // verify that contract is not paused
-
-    assert(
-      amount > 0
-        && amount >= (await this.minAmountToLock())
-        && amount <= (await this.maxAmountToLock()),
-      'Invalid token amount',
-    );
-    assert(endDate > moment(), 'Invalid end date');
-
-    // check if user can lock tokens
-    const lockedAmount = await this.getLockedTokens({ address });
-    assert(lockedAmount == 0, 'User already has locked tokens'); // otherwise user already locked tokens
-
-    /* Verify if transfer is approved for this amount */
-    const isApproved = await this.getERC20Contract().isApproved({
-      address,
-      amount,
-      spenderAddress: this.getAddress(),
-    });
-    if (!isApproved) {
-      throw new Error(
-        "Has to Approve Token Transfer First, use the 'approve' Call",
-      );
-    }
-    console.log('---lock.bp0');
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.lock(
-          Numbers.toSmartContractDecimals(
-            amount,
-            this.getERC20Contract().getDecimals(),
-          ),
-          Numbers.timeToSmartContractTime(endDate),
-        ),
-    );
-  };
-
-  /**
-   * @function
-   * @description User withdraws his locked tokens after specified end date
-   * @param {Object} params
-   * @param {Address} params.address User Address
-   * @return {Boolean} Success True if operation was successful
-   */
-  release = async ({ address }) => {
-    // / 'address' is current user address
-
-    // check if user has locked tokens and if he can unlock and withdraw them
-    const { startDate, endDate, amount } = await this.getLockedTokensInfo({
-      address,
-    });
-    const lockedAmount = amount;
-
-    assert(lockedAmount > 0, 'ERC20TokenLock.user has no locked tokens');
-    assert(
-      moment() >= endDate,
-      'ERC20TokenLock.tokens release date not reached',
-    );
-
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.release(),
-    );
-  };
-
-  /**
-   * @function
-   * @description Approve this contract to transfer tokens of the ERC20 token contract on behalf of user
-   * @return {Boolean} Success True if operation was successful
-   */
-  approveERC20Transfer = async () => {
-    // let totalMaxAmount = await this.getERC20Contract().getTokenAmount(await this.getUserAddress());
-    const totalMaxAmount = await this.getERC20Contract().totalSupply();
-    return await this.getERC20Contract().approve({
-      address: this.getAddress(),
-      amount: Numbers.toSmartContractDecimals(
-        totalMaxAmount,
-        this.getERC20Contract().getDecimals(),
-      ),
-    });
-  };
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-
-    /* Use ABI */
-    this.params.contract.use(tokenlock, this.getAddress());
-
-    /* Set Token Address Contract for easy access */
-    if (!this.params.ERC20Contract) {
-      // console.log('---ERC20TokenLock.__assert.ERC20Contract null, creating new one');
-      this.params.ERC20Contract = new ERC20Contract({
-        web3: this.web3,
-        contractAddress: await this.erc20(),
-        acc: this.acc,
-      });
-    }
-    /* Assert Token Contract */
-    await this.params.ERC20Contract.__assert();
-  };
-
-  /**
-   * @function
-   * @description Deploy the ERC20 Token Lock Contract
-   */
-  deploy = async ({ callback } = {}) => {
-    if (!this.getERC20Contract()) {
-      throw new Error('No Token Address Provided');
-    }
-    const params = [this.getERC20Contract().getAddress()];
-
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default ERC20TokenLock;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC721_ERC721Collectibles.js.html b/docs/models_ERC721_ERC721Collectibles.js.html deleted file mode 100644 index e727035e..00000000 --- a/docs/models_ERC721_ERC721Collectibles.js.html +++ /dev/null @@ -1,467 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC721/ERC721Collectibles.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC721/ERC721Collectibles.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { erc721collectibles } from '../../interfaces';
-import Numbers from '../../utils/Numbers';
-import IContract from '../IContract';
-import ERC20Contract from '../ERC20/ERC20Contract';
-
-const baseFeeAddress = '0x6714d41094a264bb4b8fcb74713b42cfee6b4f74';
-
-/**
- * ERC721Contract Object
- * @class ERC721Collectibles
- * @param {Web3} web3
- * @param {Address} contractAddress ? (opt)
- */
-
-class ERC721Collectibles extends IContract {
-  constructor(params = {}) {
-    super({ abi: erc721collectibles, ...params });
-  }
-
-  /**
-   * @private
-   */
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    /* Use ABI */
-    this.params.contract.use(erc721collectibles, this.getAddress());
-
-    /* Set Token Address Contract for easy access */
-    this.params.ERC20Contract = new ERC20Contract({
-      web3: this.web3,
-      contractAddress: await this.purchaseToken(),
-      acc: this.acc,
-    });
-
-    /* Assert Token Contract */
-    await this.params.ERC20Contract.__assert();
-  };
-
-  /**
-   * @function
-   * @description Get ERC20 Address of the Contract
-   * @returns {Address}
-   */
-  async purchaseToken() {
-    return await this.params.contract
-      .getContract()
-      .methods._purchaseToken()
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Get Price Per Pack
-   * @returns {Integer}
-   */
-  async getPricePerPack() {
-    return Numbers.fromDecimals(
-      await this.params.contract.getContract().methods._pricePerPack().call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Verify if token ID exists
-   * @returns {Integer} Token Id
-   */
-  async exists({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.exists(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify if it is limited
-   * @returns {Bool}
-   */
-  async isLimited() {
-    return await this.params.contract.getContract().methods._isLimited().call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the currentTokenId
-   * @returns {Integer} Current Token Id
-   */
-
-  async currentTokenId() {
-    return parseInt(
-      await this.params.contract.getContract().methods._currentTokenId().call(), 10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Verify what is the getURITokenID
-   * @returns {String} URI
-   */
-  async getURITokenID({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.tokenURI(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the baseURI
-   * @returns {String} URI
-   */
-  async baseURI() {
-    return await this.params.contract.getContract().methods.baseURI().call();
-  }
-
-  /**
-   * @function
-   * @description Get Ids
-   * @param {Address} address
-   * @returns {Integer | Array} ids
-   */
-  async getRegisteredIDs({ address }) {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getRegisteredIDs(address)
-      .call();
-
-    return res.map(r => parseInt(r, 10));
-  }
-
-  /**
-   * @function
-   * @description Verify if ID is registered
-   * @returns {Bool}
-   */
-  async isIDRegistered({ address, tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.registeredIDs(address, tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the current price per Pack
-   * @returns {Integer} Price per pack in tokens
-   */
-
-  async pricePerPack() {
-    return Numbers.fromDecimals(
-      await this.params.contract.getContract().methods._pricePerPack().call(),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Verify how much opened packs exist
-   * @returns {Integer} packs
-   */
-
-  async openedPacks() {
-    return parseInt(
-      await this.params.contract.getContract().methods._openedPacks().call(),
-      10,
-    );
-  }
-
-  /**
-   * @function
-   * @description Approve ERC20 Allowance
-   */
-  approveERC20 = async () => {
-    const totalMaxAmount = await this.getERC20Contract().totalSupply();
-    return await this.getERC20Contract().approve({
-      address: this.getAddress(),
-      amount: totalMaxAmount,
-    });
-  };
-
-  /**
-   * @function
-   * @description Set Base Token URI
-   */
-  setBaseTokenURI = async ({ URI }) => await this.__sendTx(
-    this.params.contract.getContract().methods.setBaseURI(URI),
-  );
-
-  /**
-   * @function
-   * @description Approve ERC20 Allowance
-   * @param {Address} address
-   * @param {Integer} amount
-   */
-  isApproved = async ({ address, amount }) => await this.getERC20Contract().isApproved({
-    address,
-    amount,
-    spenderAddress: this.getAddress(),
-  });
-
-  /**
-   * @function
-   * @description open Pack of tokens
-   * @param {Integer} amount Amount of packs to open
-   */
-  async openPack({ amount }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.openPack(amount),
-    );
-  }
-
-  /**
-   * @function
-   * @description Mint created TokenID
-   * @param {Address} to
-   * @param {Integer} tokenID
-   */
-  async mint({ tokenID }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.mint(tokenID),
-    );
-  }
-
-  /**
-   * @function
-   * @description set Purchase Token Address
-   * @param {Address} purchaseToken
-   */
-  async setPurchaseTokenAddress({ purchaseToken }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setPurchaseTokenAddress(purchaseToken),
-    );
-  }
-
-  /**
-   * @function
-   * @description set Stake Address
-   * @param {Address} purchaseToken
-   */
-  async setStakeAddress({ purchaseToken }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.setStakeAddress(purchaseToken),
-    );
-  }
-
-  /**
-   * @function
-   * @description set Fee Address
-   * @param {Address} purchaseToken
-   */
-  async setSwapBackAddress({ purchaseToken }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setSwapBackAddress(purchaseToken),
-    );
-  }
-
-  /**
-   * @function
-   * @description set Fee Address
-   * @param {Address} purchaseToken
-   */
-  async setFeeAddress({ purchaseToken }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.setFeeAddress(purchaseToken),
-    );
-  }
-
-  /**
-   * @function
-   * @description set Price per Pack
-   * @param {Amount} newPrice
-   */
-  async setPricePerPack({ newPrice }) {
-    const newPriceWithDecimals = Numbers.toSmartContractDecimals(newPrice, 18);
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.setPricePerPack(newPriceWithDecimals),
-    );
-  }
-
-  deploy = async ({
-    name,
-    symbol,
-    limitedAmount = 0,
-    erc20Purchase,
-    feeAddress = '0x0000000000000000000000000000000000000001',
-    otherAddress = '0x0000000000000000000000000000000000000001',
-    callback,
-  }) => {
-    if (!erc20Purchase) {
-      throw new Error('Please provide an erc20 address for purchases');
-    }
-
-    if (!name) {
-      throw new Error('Please provide a name');
-    }
-
-    if (!symbol) {
-      throw new Error('Please provide a symbol');
-    }
-    const params = [
-      name,
-      symbol,
-      limitedAmount,
-      erc20Purchase,
-      baseFeeAddress,
-      feeAddress,
-      otherAddress,
-    ];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default ERC721Collectibles;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC721_ERC721Contract.js.html b/docs/models_ERC721_ERC721Contract.js.html deleted file mode 100644 index bfe18c8d..00000000 --- a/docs/models_ERC721_ERC721Contract.js.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC721/ERC721Contract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC721/ERC721Contract.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { erc721contract } from '../../interfaces';
-import IContract from '../IContract';
-/**
- * ERC721Contract Object
- * @class ERC721Contract
- * @param {Web3} web3
- * @param {Address} contractAddress ? (opt)
- */
-
-class ERC721Contract extends IContract {
-  constructor(params = {}) {
-    super({ abi: erc721contract, ...params });
-  }
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    /* Use ABI */
-    this.params.contract.use(erc721contract, this.getAddress());
-  };
-
-  /**
-   * @function
-   * @description Verify if token ID exists
-   * @returns {Integer} Token Id
-   */
-  async exists({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.exists(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the getURITokenID
-   * @returns {String} URI
-   */
-  async getURITokenID({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.tokenURI(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the baseURI
-   * @returns {String} URI
-   */
-  async baseURI() {
-    return await this.params.contract.getContract().methods.baseURI().call();
-  }
-
-  /**
-   * @function
-   * @description Get name
-   * @returns {String} Name
-   */
-  async name() {
-    return await this.params.contract.getContract().methods.name().call();
-  }
-
-  /**
-   * @function
-   * @description Get Symbol
-   * @returns {String} Symbol
-   */
-  async symbol() {
-    return await this.params.contract.getContract().methods.symbol().call();
-  }
-
-  /**
-   * @function
-   * @description Set Base Token URI
-   */
-  setBaseTokenURI = async ({ URI }) => await this.__sendTx(
-    this.params.contract.getContract().methods.setBaseURI(URI),
-  );
-
-  /**
-   * @function
-   * @description Mint created TokenID
-   * @param {Object} params
-   * @param {Address} to Address to send to
-   * @param {Integer} tokenId Token Id to use
-   */
-  async mint({ to, tokenId }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.mint(to, tokenId),
-    );
-  }
-
-  /**
-   * @function
-   * @description Approve Use of TokenID
-   * @param {Object} params
-   * @param {Address} to Address to send to
-   * @param {Integer} tokenId Token Id to use
-   */
-  async approve({ to, tokenId }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.approve(to, tokenId),
-    );
-  }
-
-  /**
-   * @function
-   * @description Approve All Use
-   * @param {Object} params
-   * @param {Address} to Address to approve to
-   * @param {Bool} approve If to approve or disapprove
-   */
-  async setApprovalForAll({ to, approve = true }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.setApprovalForAll(to, approve),
-    );
-  }
-
-  /**
-   * @function
-   * @description Approve All Use
-   * @param {Object} params
-   * @param {Address} from Address to approve from
-   * @param {Address} to Address to approve to
-   */
-  async isApprovedForAll({ from, to }) {
-    return await this.params.contract
-      .getContract()
-      .methods.isApprovedForAll(from, to)
-      .call();
-  }
-
-  deploy = async ({ name, symbol, callback }) => {
-    if (!name) {
-      throw new Error('Please provide a name');
-    }
-
-    if (!symbol) {
-      throw new Error('Please provide a symbol');
-    }
-    const params = [name, symbol];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-}
-
-export default ERC721Contract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_ERC721_ERC721Standard.js.html b/docs/models_ERC721_ERC721Standard.js.html deleted file mode 100644 index d843f3c5..00000000 --- a/docs/models_ERC721_ERC721Standard.js.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/ERC721/ERC721Standard.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/ERC721/ERC721Standard.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { erc721standard } from '../../interfaces';
-import IContract from '../IContract';
-/**
- * ERC721Contract Object
- * @class ERC721Contract
- * @param {Web3} web3
- * @param {Address} contractAddress ? (opt)
- */
-
-class ERC721Standard extends IContract {
-  constructor(params = {}) {
-    super({ abi: erc721standard, ...params });
-  }
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    /* Use ABI */
-    this.params.contract.use(erc721collectibles, this.getAddress());
-  };
-
-  /**
-   * @function
-   * @description Verify if token ID exists
-   * @returns {Integer} Token Id
-   */
-  async exists({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.exists(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the getURITokenID
-   * @returns {String} URI
-   */
-  async getURITokenID({ tokenID }) {
-    return await this.params.contract
-      .getContract()
-      .methods.tokenURI(tokenID)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Verify what is the baseURI
-   * @returns {String} URI
-   */
-  async baseURI() {
-    return await this.params.contract.getContract().methods.baseURI().call();
-  }
-
-    /**
-   * @function
-   * @description Get name
-   * @returns {String} Name
-   */
-     async name() {
-      return await this.params.contract.getContract().methods.name().call();
-    }
-
-       /**
-   * @function
-   * @description Get Symbol
-   * @returns {String} Symbol
-   */
-    async symbol() {
-      return await this.params.contract.getContract().methods.symbol().call();
-    }
-
-  /**
-   * @function
-   * @description Set Base Token URI
-   */
-  setBaseTokenURI = async ({ URI }) => await this.__sendTx(
-    this.params.contract.getContract().methods.setBaseURI(URI),
-  );
-
-  /**
-   * @function
-   * @description Mint created TokenID
-   * @param {Address} to
-   * @param {Integer} tokenID
-   */
-  async mint({ tokenID }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.mint(tokenID),
-    );
-  }
-
-  deploy = async ({ name, symbol, callback }) => {
-    if (!name) {
-      throw new Error('Please provide a name');
-    }
-
-    if (!symbol) {
-      throw new Error('Please provide a symbol');
-    }
-    const params = [name, symbol];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-}
-
-export default ERC721Standard;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_IContract.js.html b/docs/models_IContract.js.html deleted file mode 100644 index 80489861..00000000 --- a/docs/models_IContract.js.html +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/IContract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/IContract.js

-
- - - - - -
-
-
import _ from 'lodash';
-import Contract from '../utils/Contract';
-
-/**
- * Contract Object Interface
- * @class IContract
- * @param {Web3} web3
- * @param {Address} contractAddress ? (opt)
- * @param {ABI} abi
- * @param {Account} acc ? (opt)
- * @param {Address} tokenAddress ? (opt)
- */
-
-class IContract {
-  constructor({
-    web3,
-    contractAddress = null /* If not deployed */,
-    abi,
-    acc,
-    tokenAddress,
-  }) {
-    try {
-      if (!abi) {
-        throw new Error('No ABI Interface provided');
-      }
-      if (!web3) {
-        throw new Error('Please provide a valid web3 provider');
-      }
-
-      this.web3 = web3;
-
-      if (acc) {
-        this.acc = acc;
-      }
-      this.params = {
-        web3,
-        abi,
-        contractAddress,
-        tokenAddress,
-        contract: new Contract(web3, abi, contractAddress),
-      };
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  __init__ = async () => {
-    try {
-      if (!this.getAddress()) {
-        throw new Error('Please add a Contract Address');
-      }
-
-      await this.__assert();
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  __metamaskCall = async ({
-    f, acc, value, callback = () => {},
-  }) => new Promise((resolve, reject) => {
-    f.send({
-      from: acc,
-      value,
-      gasPrice: 5000000000, // temp test
-      gas: 5913388, // 6721975 //temp test
-    })
-      .on('confirmation', (confirmationNumber, receipt) => {
-        callback(confirmationNumber);
-        if (confirmationNumber > 0) {
-          resolve(receipt);
-        }
-      })
-      .on('error', (err) => {
-        reject(err);
-      });
-  });
-
-  __sendTx = async (f, call = false, value, callback = () => {}) => {
-    try {
-      let res;
-      if (!this.acc && !call) {
-        const accounts = await this.params.web3.eth.getAccounts();
-        res = await this.__metamaskCall({
-          f,
-          acc: accounts[0],
-          value,
-          callback,
-        });
-      } else if (this.acc && !call) {
-        const data = f.encodeABI();
-        res = await this.params.contract
-          .send(this.acc.getAccount(), data, value)
-          .catch((err) => {
-            throw err;
-          });
-      } else if (this.acc && call) {
-        res = await f.call({ from: this.acc.getAddress() }).catch((err) => {
-          throw err;
-        });
-      } else {
-        res = await f.call().catch((err) => {
-          throw err;
-        });
-      }
-      return res;
-    } catch (err) {
-      throw err;
-    }
-  };
-
-  __deploy = async (params, callback) => await this.params.contract.deploy(
-    this.acc,
-    this.params.contract.getABI(),
-    this.params.contract.getJSON().bytecode,
-    params,
-    callback,
-  );
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    /* Use ABI */
-    this.params.contract.use(this.params.abi, this.getAddress());
-  };
-
-  /**
-   * @function
-   * @description Deploy the Contract
-   */
-  deploy = async ({ callback }) => {
-    const params = [];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  /**
-   * @function
-   * @description Get Web3 Contract to interact directly with the web3 library functions like events (https://web3js.readthedocs.io/en/v1.2.11/web3-eth-contract.html?highlight=events#contract-events)
-   */
-  getWeb3Contract() {
-    return this.params.contract.getContract();
-  }
-
-  /**
-   * @function
-   * @description Set New Owner of the Contract
-   * @param {string} address
-   */
-  async setNewOwner({ address }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.transferOwnership(address),
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Owner of the Contract
-   * @returns {string} address
-   */
-  async owner() {
-    return await this.params.contract.getContract().methods.owner().call();
-  }
-
-  /**
-   * @function
-   * @description Get Owner of the Contract
-   * @returns {boolean}
-   */
-  async isPaused() {
-    return await this.params.contract.getContract().methods.paused().call();
-  }
-
-  /**
-   * @function
-   * @type admin
-   * @description Pause Contract
-   */
-  async pauseContract() {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.pause(),
-    );
-  }
-
-  /**
-   * @function
-   * @type admin
-   * @description Unpause Contract
-   */
-  async unpauseContract() {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.unpause(),
-    );
-  }
-
-  /* Optional */
-
-  /**
-   * @function
-   * @description Remove Tokens from other ERC20 Address (in case of accident)
-   * @param {Address} tokenAddress
-   * @param {Address} toAddress
-   */
-  async removeOtherERC20Tokens({ tokenAddress, toAddress }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.removeOtherERC20Tokens(tokenAddress, toAddress),
-    );
-  }
-
-  /**
-   * @function
-   * @description Remove all tokens for the sake of bug or problem in the smart contract, contract has to be paused first, only Admin
-   * @param {Address} toAddress
-   */
-  async safeGuardAllTokens({ toAddress }) {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.safeGuardAllTokens(toAddress),
-    );
-  }
-
-  /**
-   * @function
-   * @description Change Token Address of Application
-   * @param {Address} newTokenAddress
-   */
-  async changeTokenAddress({ newTokenAddress }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.changeTokenAddress(newTokenAddress),
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Balance of Contract
-   * @param {Integer} Balance
-   */
-  getAddress() {
-    return this.params.contractAddress;
-  }
-
-  /**
-   * @function
-   * @description Get Balance of Contract
-   * @param {Integer} Balance
-   */
-  async getBalance() {
-    const wei = await this.web3.eth.getBalance(this.getAddress());
-    return this.web3.utils.fromWei(wei, 'ether');
-  }
-
-  /**
-   * @function
-   * @description Get contract current user/sender address
-   * @param {Address} User address
-   */
-  async getUserAddress() {
-    if (this.acc) return this.acc.getAddress();
-
-    const accounts = await this.params.web3.eth.getAccounts();
-    return accounts[0];
-  }
-
-  /**
-   * @function
-   * @description Verify that current user/sender is admin, throws an error otherwise
-   * @throws {Error}
-   */
-  async onlyOwner() {
-    /* Verify that sender is admin */
-    const adminAddress = await this.owner();
-    const userAddress = await this.getUserAddress();
-    const isAdmin = adminAddress === userAddress;
-    if (!isAdmin) {
-      throw new Error('Only admin can perform this operation');
-    }
-  }
-
-  /**
-   * @function
-   * @description Verify that contract is not paused before sending a transaction, throws an error otherwise
-   * @throws {Error}
-   */
-  async whenNotPaused() {
-    /* Verify that contract is not paused */
-    const paused = await this.isPaused();
-    if (paused) {
-      throw new Error('Contract is paused');
-    }
-  }
-}
-
-export default IContract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_PredictionMarkets_ExchangeContract.js.html b/docs/models_PredictionMarkets_ExchangeContract.js.html deleted file mode 100644 index ed1db0a2..00000000 --- a/docs/models_PredictionMarkets_ExchangeContract.js.html +++ /dev/null @@ -1,501 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/PredictionMarkets/ExchangeContract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/PredictionMarkets/ExchangeContract.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { exchange } from '../../interfaces';
-import Numbers from '../../utils/Numbers';
-import IContract from '../IContract';
-
-/**
- * Exchange Contract Object
- * @class ExchangeContract
- * @param {Web3} web3
- * @param {Address} tokenAddress
- * @param {Integer} decimals
- * @param {Address} contractAddress ? (opt)
- */
-
-class ExchangeContract extends IContract {
-  constructor(params) {
-    super({ abi: exchange, ...params });
-  }
-
-  /* Get Functions */
-  /**
-   * @function
-   * @description Get Events
-   * @returns {Integer | Array} Get Events ID
-   */
-  async getEvents() {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getEvents()
-      .call();
-    return res.map(id => Numbers.fromHex(id));
-  }
-
-  /**
-   * @function
-   * @description Get Events
-   * @returns {Integer | Array} Get Events ID
-   */
-  async getMyEvents() {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.getMyEvents(),
-      true,
-    );
-    return res.map(id => Numbers.fromHex(id));
-  }
-
-  /**
-   * @function
-   * @description Get EventData
-   * @param {Integer} event_id
-   * @returns {String} Event Name
-   * @returns {Integer} Result Id
-   * @returns {String} URL Oracle
-   * @returns {Boolean} Is Resolved
-   */
-  async getEventData({ event_id }) {
-    const r = await this.__sendTx(
-      this.params.contract.getContract().methods.getEventData(event_id),
-      true,
-    );
-
-    return {
-      name: r[0],
-      _resultId: Numbers.fromHex(r[1]),
-      urlOracle: r[2],
-      isResolved: r[3],
-    };
-  }
-
-  /**
-   * @function
-   * @description Get My Event Holdings
-   * @param {Integer} event_id
-   * @returns {Integer} 1 In Pool Balances
-   * @returns {Integer} 1 Out Pool Balances
-   * @returns {Integer} 1 Liquidity Balances
-   * @returns {Integer} 2 In Pool Balances
-   * @returns {Integer} 2 Out Pool Balances
-   * @returns {Integer} 2 Liquidity Balances
-   */
-
-  async getMyEventHoldings({ event_id }) {
-    const r = await this.__sendTx(
-      this.params.contract.getContract().methods.getMyEventHoldings(event_id),
-      true,
-    );
-
-    return {
-      inPoolBalancesA: r[0],
-      outPoolBalancesA: r[1],
-      liquidityA: r[2],
-      inPoolBalancesB: r[3],
-      outPoolBalancesB: r[4],
-      liquidityB: r[5],
-    };
-  }
-
-  /**
-   * @function
-   * @description Get Result Space Data
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @returns {Integer} _id
-   * @returns {Integer} _resultId
-   * @returns {Integer} pool
-   * @returns {Integer} cost
-   * @returns {Integer} odd
-   * @returns {Integer} amount
-   * @returns {Integer} inPool
-   * @returns {Integer} outPool
-   * @returns {Integer} fees
-   * @returns {Integer} liqAmount
-   */
-
-  async getResultSpaceData({ event_id, resultSpace_id }) {
-    const r = await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.getResultSpaceData(event_id, resultSpace_id),
-      true,
-    );
-
-    return {
-      _id: Numbers.fromHex(r[0]),
-      _resultId: Numbers.fromHex(r[1]),
-      pool: Numbers.fromDecimals(r[2], 18),
-      cost: Numbers.fromDecimals(r[3], 7),
-      odd: Numbers.fromDecimals(r[4], 4),
-      amount: Numbers.fromDecimals(r[5], 7),
-      inPool: Numbers.fromDecimals(r[6], 7),
-      outPool: Numbers.fromDecimals(r[7], 7),
-      fees: Numbers.fromDecimals(r[8], 7),
-      liqAmount: Numbers.fromDecimals(r[9], 7),
-    };
-  }
-
-  /**
-   * @function
-   * @description To see if Event is open
-   * @returns {Boolean}
-   */
-  async isEventOpen() {
-    return await this.params.contract
-      .getContract()
-      .methods.isEventOpen()
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Get Fractions Cost
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   * @return {Integer} cost
-   */
-
-  async getFractionsCost({ event_id, resultSpace_id, fractions_amount }) {
-    return Numbers.fromDecimals(
-      await this.__sendTx(
-        this.params.contract
-          .getContract()
-          .methods.getFractionsCost(event_id, resultSpace_id, fractions_amount),
-        true,
-      ),
-      18,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Slipage on Buy
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   * @returns {Integer} _id
-   */
-  async getSlipageOnBuy({ event_id, resultSpace_id, fractions_amount }) {
-    return await this.params.contract
-      .getContract()
-      .methods.getSlipageOnBuy(event_id, resultSpace_id, fractions_amount)
-      .call();
-  }
-
-  /**
-   * @function
-   * @description Get Slipage on Sell
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   * @returns {Integer} _id
-   */
-  async getSlipageOnSell({ event_id, resultSpace_id, fractions_amount }) {
-    return await this.params.contract
-      .getContract()
-      .methods.getSlipageOnSell(event_id, resultSpace_id, fractions_amount)
-      .call();
-  }
-
-  /* POST User Functions */
-
-  /**
-   * @function
-   * @description Create an Event
-   * @param {Integer | Array} _resultSpaceIds
-   * @param {String} urlOracle
-   * @param {String} eventName
-
-   */
-
-  createEvent = async ({
-    resultSpaceIds,
-    urlOracle,
-    eventName,
-    ethAmount = 0,
-  }) => {
-    if (ethAmount == 0) {
-      throw new Error('Eth Amount has to be > 0');
-    }
-    const ETHToWei = Numbers.toSmartContractDecimals(ethAmount, 18);
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.createEvent(resultSpaceIds, urlOracle, eventName),
-      false,
-      ETHToWei,
-    );
-  };
-
-  /**
-   * @function
-   * @description Resolve Event
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-
-   */
-
-  resolveEvent = async ({ event_id, resultSpace_id }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.resolveEvent(event_id, resultSpace_id),
-  );
-
-  /**
-   * @function
-   * @description Add Liquidity
-   * @param {Integer} eventId
-   */
-
-  addLiquidity = async ({ event_id, ethAmount }) => {
-    const ETHToWei = Numbers.toSmartContractDecimals(ethAmount, 18);
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.addLiquidity(event_id),
-      false,
-      ETHToWei,
-    );
-  };
-
-  /**
-   * @function
-   * @description Remove Liquidity
-   * @param {Integer} eventId
-   */
-
-  removeLiquidity = async ({ event_id }) => await this.__sendTx(
-    this.params.contract.getContract().methods.removeLiquidity(event_id),
-  );
-
-  /**
-   * @function
-   * @description Buy Fractions
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   */
-
-  buy = async ({ event_id, resultSpace_id, fractions_amount }) => {
-    // eslint-disable-next-line no-param-reassign
-    fractions_amount = Numbers.toSmartContractDecimals(fractions_amount, 7);
-    const ETHCost = await this.getFractionsCost({
-      event_id,
-      resultSpace_id,
-      fractions_amount,
-    });
-    const ETHToWei = Numbers.toSmartContractDecimals(ETHCost, 18);
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.buy(event_id, resultSpace_id, fractions_amount),
-      false,
-      ETHToWei,
-    );
-  };
-
-  /**
-   * @function
-   * @description Sell Fractions
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   */
-
-  sell = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.sell(event_id, resultSpace_id, fractions_amount),
-  );
-
-  /**
-   * @function
-   * @description Take Fractions out of the pool
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   */
-
-  pullFractions = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.pullFractions(event_id, resultSpaceId, fractions_amount),
-  );
-
-  /**
-   * @function
-   * @description Move Fractions to the Pool
-   * @param {Integer} eventId
-   * @param {Integer} resultSpace_id
-   * @param {Integer} fractions_amount
-   */
-
-  pushFractions = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.pushFractions(event_id, resultSpace_id, fractions_amount),
-  );
-
-  /**
-   * @function
-   * @description Withdraw Wins on end of Event
-   * @param {Integer} event_id
-   * @param {Integer} resultSpace_id
-   */
-
-  withdrawWins = async ({ event_id, resultSpace_id }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.withdrawWins(event_id, resultSpace_id),
-  );
-
-  /**
-  * @function
-  * @description Deploy the Pool Contract
-
-  */
-  deploy = async ({ callback }) => {
-    const params = [];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    this.__assert();
-    return res;
-  };
-}
-
-export default ExchangeContract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_Staking_StakingContract.js.html b/docs/models_Staking_StakingContract.js.html deleted file mode 100644 index 2e22156b..00000000 --- a/docs/models_Staking_StakingContract.js.html +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/Staking/StakingContract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/Staking/StakingContract.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { staking } from '../../interfaces';
-import ERC20Contract from '../ERC20/ERC20Contract';
-import IContract from '../IContract';
-import Numbers from '../../utils/Numbers';
-
-/**
- * Staking Contract Object
- * @class StakingContract
- * @param {Object} params
- * @param {Address} params.tokenAddress
- */
-
-class StakingContract extends IContract {
-  constructor(params = {}) {
-    try {
-      super({ ...params, abi: staking });
-      if (params.tokenAddress) {
-        this.params.ERC20Contract = new ERC20Contract({
-          web3: params.web3,
-          contractAddress: params.tokenAddress,
-          acc: params.acc,
-        });
-      }
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  /**
-   * @function
-   * @description Get ERC20 Address of the Contract
-   * @returns {Address}
-   */
-  async erc20() {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.erc20(),
-      true,
-    );
-  }
-
-  /**
-   * @function
-   * @description Get Token Amount of ERC20 Address
-   * @returns {Address}
-   */
-  getTokenAmount = async ({ address }) => await this.getERC20Contract().getTokenAmount(address);
-
-  /**
-   * @function
-   * @description Get All Tokens Locked for the APR
-   * @returns {Integer}
-   */
-  async futureLockedTokens() {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.futureLockedTokens(),
-      true,
-    );
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Get All Tokens Available for the Subscription Amount
-   * @returns {Integer}
-   */
-  async availableTokens() {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.availableTokens(),
-      true,
-    );
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Get All Tokens Held in Stake at that specific moment
-   * @returns {Integer}
-   */
-  async heldTokens() {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.heldTokens(),
-      true,
-    );
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  }
-
-  /**
-   * @function
-   * @description Get APR Amount based on amount of timestamp, amount and APR of that product
-   * @param {Integer} APR
-   * @param {Date} startDate
-   * @param {Date} endDate
-   * @param {Integer} amount Token Amount
-   * @returns {Integer}
-   */
-  getAPRAmount = async ({
-    APR, startDate, endDate, amount,
-  }) => {
-    const res = await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.getAPRAmount(
-          APR,
-          Numbers.timeToSmartContractTime(startDate),
-          Numbers.timeToSmartContractTime(endDate),
-          Numbers.toSmartContractDecimals(
-            amount,
-            this.getERC20Contract().getDecimals(),
-          ),
-        ),
-      true,
-    );
-    return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals());
-  };
-  /**
-   * @function
-   * @description createProduct
-   * @param {Date} startDate
-   * @param {Date} endDate
-   * @param {Integer} totalMaxAmount
-   * @param {Integer} individualMinimumAmount
-   * @param {Integer} APR
-   * @param {Boolean} lockedUntilFinalization
-   */
-
-  async createProduct({
-    startDate,
-    endDate,
-    totalMaxAmount,
-    individualMinimumAmount,
-    APR,
-    lockedUntilFinalization,
-  }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.createProduct(
-          Numbers.timeToSmartContractTime(startDate),
-          Numbers.timeToSmartContractTime(endDate),
-          Numbers.toSmartContractDecimals(
-            totalMaxAmount,
-            this.getERC20Contract().getDecimals(),
-          ),
-          Numbers.toSmartContractDecimals(
-            individualMinimumAmount,
-            this.getERC20Contract().getDecimals(),
-          ),
-          APR,
-          lockedUntilFinalization,
-        ),
-    );
-  }
-
-  /**
-   * @function
-   * @description Get All Available Products
-   * @returns {Array | Integer} ids
-   */
-  getProducts = async () => await this.__sendTx(
-    this.params.contract.getContract().methods.getProductIds(),
-    true,
-  );
-
-  /**
-   * @function
-   * @description Get Subscription from product
-   * @param {Integer} product_id
-   * @returns {Date} createdAt
-   * @returns {Date} startDate
-   * @returns {Date} endDate
-   * @returns {Integer} totalMaxAmount
-   * @returns {Integer} individualMinimumAmount
-   * @returns {Integer} APR
-   * @returns {Integer} currentAmount
-   * @returns {Boolean} lockedUntilFinalization
-   * @returns {Array | Address} subscribers
-   * @returns {Array | Integer} subscriptionIds
-   */
-  getProduct = async ({ product_id }) => {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.getProduct(product_id),
-      true,
-    );
-
-    return {
-      _id: product_id,
-      createdAt: Numbers.fromSmartContractTimeToMinutes(res[0]),
-      startDate: Numbers.fromSmartContractTimeToMinutes(res[1]),
-      endDate: Numbers.fromSmartContractTimeToMinutes(res[2]),
-      totalMaxAmount: Numbers.fromDecimals(
-        res[3],
-        this.getERC20Contract().getDecimals(),
-      ),
-      individualMinimumAmount: Numbers.fromDecimals(
-        res[4],
-        this.getERC20Contract().getDecimals(),
-      ),
-      APR: parseInt(res[5], 10),
-      currentAmount: Numbers.fromDecimals(
-        res[6],
-        this.getERC20Contract().getDecimals(),
-      ),
-      lockedUntilFinalization: res[7],
-      subscribers: res[8],
-      subscriptionIds: Numbers.fromExponential(res[9]),
-    };
-  };
-
-  /**
-   * @function
-   * @description Approve ERC20 Allowance for Transfer for Subscribe Product
-   */
-  approveERC20Transfer = async () => {
-    const totalMaxAmount = await this.getERC20Contract().totalSupply();
-    return await this.getERC20Contract().approve({
-      address: this.getAddress(),
-      amount: Numbers.toSmartContractDecimals(
-        totalMaxAmount,
-        this.getERC20Contract().getDecimals(),
-      ),
-    });
-  };
-
-  /**
-   * @function
-   * @description Subscribe to a product Staking
-   * @param {Integer} product_id
-   * @param {Integer} amount
-   * @returns {Boolean} Success
-   */
-  subscribeProduct = async ({ address, product_id, amount }) => {
-    /* Get Decimals of Amount */
-    const amountWithDecimals = Numbers.toSmartContractDecimals(
-      amount,
-      this.getERC20Contract().getDecimals(),
-    );
-    /* Verify if transfer is approved for this amount */
-    const isApproved = await this.getERC20Contract().isApproved({
-      address,
-      amount,
-      spenderAddress: this.getAddress(),
-    });
-    if (!isApproved) {
-      throw new Error(
-        "Has to Approve Token Transfer First, use the 'approve' Call",
-      );
-    }
-
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.subscribeProduct(product_id, amountWithDecimals),
-    );
-  };
-
-  /**
-   * @function
-   * @description Get Subscription from product
-   * @param {Integer} product_id
-   * @param {Integer} subscription_id
-   * @returns {Integer} _id
-   * @returns {Integer} productId
-   * @returns {Date} startDate
-   * @returns {Date} endDate
-   * @returns {Address} subscriberAddress
-   * @returns {Integer} APR
-   * @returns {Boolean} finalized
-   */
-  getSubscription = async ({ subscription_id, product_id }) => {
-    const res = await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.getSubscription(subscription_id, product_id),
-      true,
-    );
-
-    return {
-      _id: Numbers.fromExponential(res[0]),
-      productId: Numbers.fromExponential(res[1]),
-      startDate: Numbers.fromSmartContractTimeToMinutes(res[2]),
-      endDate: Numbers.fromSmartContractTimeToMinutes(res[3]),
-      amount: Numbers.fromDecimals(
-        res[4],
-        this.getERC20Contract().getDecimals(),
-      ),
-      subscriberAddress: res[5],
-      APR: parseInt(res[6], 10),
-      finalized: res[7],
-      withdrawAmount: Numbers.fromDecimals(
-        res[8],
-        this.getERC20Contract().getDecimals(),
-      ),
-    };
-  };
-
-  /**
-   * @function
-   * @description Withdraw Subscription to a product Staking
-   * @param {Integer} product_id
-   * @param {Integer} subscription_id
-   */
-  withdrawSubscription = async ({ product_id, subscription_id }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.withdrawSubscription(product_id, subscription_id),
-  );
-
-  /**
-   * @function
-   * @description Get Subscriptions by Address
-   * @param {Address} address
-   * @returns {Array | Integer} subscriptions_ids
-   */
-  getSubscriptionsByAddress = async ({ address }) => {
-    const res = await this.__sendTx(
-      this.params.contract.getContract().methods.getMySubscriptions(address),
-      true,
-    );
-    return res.map(r => Numbers.fromExponential(r));
-  };
-
-  /**
-   * @function
-   * @description Get All Subscriptions done
-   * @returns {Array | Subscription} subscriptions
-   */
-  getAllSubscriptions = async () => {
-    /* Get All Products */
-    const products = await this.getProducts();
-
-    /* Get All Subscriptions */
-    const subscriptions = await Promise.all(
-      products.map(async (product) => {
-        const productObj = await this.getProduct({
-          product_id: product,
-        });
-        return await Promise.all(
-          productObj.subscriptionIds.map(async subscription_id => this.getSubscription({
-            subscription_id,
-            product_id: product,
-          })),
-        );
-      }),
-    );
-    return subscriptions ? _.flatten(subscriptions) : [];
-  };
-
-  /**
-   * @function
-   * @description Transfer Tokens by the Admin to ensure APR Amount
-   * @param {Integer} amount
-   */
-  async depositAPRTokensByAdmin({ amount }) {
-    return await this.getERC20Contract().transferTokenAmount({
-      toAddress: this.getAddress(),
-      tokenAmount: amount,
-    });
-  }
-
-  /**
-   * @function
-   * @description Get Total Amount of tokens needed to be deposited by Admin to ensure APR for all available Products
-   * @return {Integer} Amount
-   */
-  getTotalNeededTokensForAPRbyAdmin = async () => {
-    const products = await this.getProducts();
-
-    const allProducts = await Promise.all(
-      products.map(async (product) => {
-        const productObj = await this.getProduct({
-          product_id: product,
-        });
-        const res = await this.getAPRAmount({
-          APR: productObj.APR,
-          startDate: productObj.startDate,
-          endDate: productObj.endDate,
-          amount: productObj.totalMaxAmount,
-        });
-        return parseFloat(res);
-      }),
-    );
-    return Numbers.fromExponential(
-      allProducts.reduce((a, b) => a + b, 0),
-    ).toString();
-  };
-
-  /**
-   * @override
-   */
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-
-    /* Use ABI */
-    this.params.contract.use(staking, this.getAddress());
-
-    /* Set Token Address Contract for easy access */
-    this.params.ERC20Contract = new ERC20Contract({
-      web3: this.web3,
-      contractAddress: await this.erc20(),
-      acc: this.acc,
-    });
-
-    /* Assert Token Contract */
-    await this.params.ERC20Contract.__assert();
-  };
-
-  /**
-   * @function
-   * @override
-   * @description Deploy the Staking Contract
-   */
-  deploy = async ({ callback } = {}) => {
-    if (!this.getERC20Contract()) {
-      throw new Error('No Token Address Provided');
-    }
-    const params = [this.getERC20Contract().getAddress()];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default StakingContract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_Voting_VotingContract.js.html b/docs/models_Voting_VotingContract.js.html deleted file mode 100644 index 882f7351..00000000 --- a/docs/models_Voting_VotingContract.js.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/Voting/VotingContract.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/Voting/VotingContract.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { voting } from '../../interfaces';
-import ERC20Contract from '../ERC20/ERC20Contract';
-import IContract from '../IContract';
-import Numbers from '../../utils/Numbers';
-
-/**
- * @typedef {Object} VotingContract~Options
- * @property {Boolean} test
- * @property {Boolean} localtest ganache local blockchain
- * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey'
- * @property {string} [contractAddress]
- */
-
-/**
- * Voting Contract Object
- * @class VotingContract
- * @param {VotingContract~Options} options
- */
-class VotingContract extends IContract {
-  constructor(params = {}) {
-    try {
-      super({ ...params, abi: voting });
-    } catch (err) {
-      throw err;
-    }
-  }
-
-  /**
-   * Get ERC20 Address of the Contract
-   * @returns {Promise<Address>}
-   */
-  async erc20() {
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.erc20(),
-      true,
-    );
-  }
-
-  /**
-   * Creates a Pool
-   * @param {String} params.description
-   * @param {Integer} params.expirationTime
-   * @param {Array | Integer} params.options
-   * @return {Promise<TransactionObject>}
-   */
-  async createPool({
-    description,
-    expirationTime,
-    options,
-  }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.createPoll(
-          description,
-          Numbers.timeToSmartContractTime(expirationTime),
-          options,
-        ),
-    );
-  }
-
-  /**
-   * Creates a Pool
-   * @param {Integer} params.poolId
-   * @return {Promise<TransactionObject>}
-   */
-  async endPool({
-    poolId,
-  }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.endPool(
-          poolId,
-        ),
-    );
-  }
-
-  /**
-     * Cast Vote
-     * @param {Integer} params.poolId Pool Id
-     * @param {Integer} params.voteId Vote Position on Length
-     * @return {Promise<TransactionObject>}
-     */
-  async castVote({
-    poolId,
-    voteId,
-  }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.castVote(
-          poolId,
-          voteId,
-        ),
-    );
-  }
-
-  /**
-     * Stake Voting Tokens
-     * @param {Integer} params.tokens Tokens
-     * @return {Promise<TransactionObject>}
-     */
-  async stakeVotingTokens({
-    tokens,
-  }) {
-    return await this.__sendTx(
-      this.params.contract
-        .getContract()
-        .methods.stakeVotingTokens(
-          Numbers.toSmartContractDecimals(
-            tokens,
-            this.getERC20Contract().getDecimals(),
-          ),
-        ),
-    );
-  }
-
-  /**
-   * @typedef {Object} VotingContract~Pool
-   * @property {Address} creator
-   * @property {Bool} status
-   * @property {Integer} optionsSize
-   * @property {String} description
-   * @property {Array | Address} voters
-   * @property {Date} expirationTime
-   */
-
-    /**
-     * Get Pool Information
-     * @function
-     * @param {Object} params
-     * @param {Integer} params.poolId
-     * @return {Promise<VotingContract~Pool>}
-     */
-    getPoolInformation = async ({ poolId }) => {
-      const res = await this.__sendTx(
-        this.params.contract.getContract().methods.getPoolInformation(poolId),
-        true,
-      );
-
-      return {
-        _id: poolId,
-        creator: res[0],
-        status: res[1],
-        optionsSize: parseInt(res[2], 10),
-        descripton: res[3],
-        voters: res[4],
-        expirationTime: Numbers.fromSmartContractTimeToMinutes(res[5]),
-      };
-    };
-
-    /**
-     * Get Pool Winner
-     * @function
-     * @param {Object} params
-     * @param {Integer} params.poolId
-     * @return {Integer} Winner Id
-     * @return {Integer} Winner Id Index
-     */
-     getPoolWinner = async ({ poolId }) => {
-       const res = await this.__sendTx(
-         this.params.contract.getContract().methods.getPoolWinner(poolId),
-         true,
-       );
-
-       return {
-         winnerId: parseInt(res[0], 10),
-         optionId: parseInt(res[1], 10),
-       };
-     };
-
-     /**
-     * Get Pool Winner
-     * @function
-     * @param {Object} params
-     * @param {Integer} params.poolId Pool Id
-     * @param {Integer} params.optionIndex Option Id for Pool
-     * @return {Integer} Option Id
-     */
-     getPollOptionById = async ({ poolId, optionIndex }) => {
-       const res = await this.__sendTx(
-         this.params.contract.getContract().methods.getPollOptionById(poolId, optionIndex),
-         true,
-       );
-
-       return parseInt(res[0], 10);
-     };
-
-     /**
-     * Get Pool History for Address
-     * @function
-     * @param {Object} params
-     * @param {Address} params.address
-     * @return {Array | Integer} Pool Ids
-     */
-      getPollHistory = async ({ address }) => {
-        const res = await this.__sendTx(
-          this.params.contract.getContract().methods.getPollHistory(address),
-          true,
-        );
-
-        return {
-          pools: res[0].map(r => parseInt(r, 10)),
-        };
-      };
-
-    /**
-     * Get Pool Info for Voter
-     * @function
-     * @param {Object} params
-     * @param {Integer} params.poolId
-     * @param {Address} params.voter
-     * @return {Integer} Vote
-     * @return {Integer} Weigth (Token Value)
-     */
-    getPollInfoForVoter = async ({ poolId, voter }) => {
-      const res = await this.__sendTx(
-        this.params.contract.getContract().methods.getPollInfoForVoter(poolId, voter),
-        true,
-      );
-
-      return {
-        vote: parseInt(res[0], 10),
-        weigth: Numbers.toSmartContractDecimals(
-          res[1],
-          this.getERC20Contract().getDecimals(),
-        ),
-      };
-    };
-
-    /**
-     * Check if a User has voted
-     * @function
-     * @param {Object} params
-     * @param {Integer} params.poolId
-     * @param {Address} params.voter
-     * @return {Bool} HasVoted
-     */
-     userHasVoted = async ({ poolId, voter }) => {
-       const res = await this.__sendTx(
-         this.params.contract.getContract().methods.userHasVoted(poolId, voter),
-         true,
-       );
-
-       return res[0];
-     };
-
-
-     /**
-     * Get Locked Amount
-     * @function
-     * @param {Object} params
-     * @param {Address} params.voter
-     * @return {Integer} Locked Amount
-     */
-     getLockedAmount = async ({ voter }) => {
-       const res = await this.__sendTx(
-         this.params.contract.getContract().methods.getLockedAmount(voter),
-         true,
-       );
-
-       return Numbers.toSmartContractDecimals(
-         res[0],
-         this.getERC20Contract().getDecimals(),
-       );
-     };
-
-     /**
-     * Withdraw Tokens from Voting
-     * @param {Integer} params.tokens Tokens
-     * @return {Promise<TransactionObject>}
-     */
-     async withdrawTokens({
-       tokens,
-     }) {
-       return await this.__sendTx(
-         this.params.contract
-           .getContract()
-           .methods.withdrawTokens(
-             Numbers.toSmartContractDecimals(
-               tokens,
-               this.getERC20Contract().getDecimals(),
-             ),
-           ),
-       );
-     }
-
-  /**
-   * @async
-   * @function
-   * @throws {Error} Contract is not deployed, first deploy it and provide a contract address
-   * @void
-   */
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-
-    /* Use ABI */
-    this.params.contract.use(voting, this.getAddress());
-
-    /* Set Token Address Contract for easy access */
-    if (!this.params.ERC20Contract) {
-      this.params.ERC20Contract = new ERC20Contract({
-        web3Connection: this.web3Connection,
-        contractAddress: await this.erc20(),
-      });
-    }
-
-    /* Assert Token Contract */
-    await this.params.ERC20Contract.login();
-    await this.params.ERC20Contract.__assert();
-  };
-
-  /**
-   * Deploy the Staking Contract
-   * @function
-   * @param [Object] params
-   * @param {Address} params.erc20Contract
-   * @param {function():void} params.callback
-   * @return {Promise<*>}
-   */
-  deploy = async ({ erc20Contract, callback } = {}) => {
-    const params = [erc20Contract];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  /**
-   * @function
-   * @return ERC20Contract|undefined
-   */
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default VotingContract;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_custom_RealFvr_MarketplaceRealFvr.js.html b/docs/models_custom_RealFvr_MarketplaceRealFvr.js.html deleted file mode 100644 index 8af8e879..00000000 --- a/docs/models_custom_RealFvr_MarketplaceRealFvr.js.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/custom/RealFvr/MarketplaceRealFvr.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/custom/RealFvr/MarketplaceRealFvr.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { marketplaceRealFvr } from '../../../interfaces';
-import Numbers from '../../../utils/Numbers';
-import IContract from '../../IContract';
-import ERC20Contract from '../../ERC20/ERC20Contract';
-import ERC721Standard from '../../ERC721/ERC721Contract';
-
-/**
- * MarketplaceRealFvr Object
- * @class MarketplaceRealFvr
- * @param {Object} params Parameters
- * @param {Address} params.contractAddress Contract Address (If Deployed)
- */
-class MarketplaceRealFvr extends IContract {
-  constructor(params = {}) {
-    super({ abi: marketplaceRealFvr, ...params });
-  }
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    // Use ABI
-    this.params.contract.use(marketplaceRealFvr, this.getAddress());
-
-    this.params.tokenAddress = await this.getERC20TokenAddress();
-    this.params.erc721Address = await this.getERC721TokenAddress();
-
-    // Set Token Address Contract for easy access
-    this.params.ERC20Contract = new ERC20Contract({
-      web3: this.web3,
-      contractAddress: this.params.tokenAddress,
-      acc: this.acc,
-    });
-
-
-    // Set Token Address Contract for easy access
-    this.params.ERC721Contract = new ERC721Standard({
-      web3: this.web3,
-      contractAddress: this.params.tokenAddress,
-      acc: this.acc,
-    });
-
-    try {
-      // Assert Token Contract
-      await this.params.ERC20Contract.__assert();
-      await this.params.ERC721Contract.__assert();
-    } catch (err) {
-      throw new Error(`Problem on ERC20 Assert, confirm ERC20 'tokenAddress'${err}`);
-    }
-  };
-
-  isETHTransaction = async () => await this.getERC20TokenAddress() == '0x0000000000000000000000000000000000000000';
-
-  /**
-   * @function
-   * @description Put ERC721 on Sale
-   * @param {Object} params Parameters
-   * @param {String} params.tokenId Token Id
-   * @param {String} params.price Price (Token Amount)
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  putERC721OnSale = async ({ tokenId, price }) => {
-    const valueWithDecimals = Numbers.toSmartContractDecimals(
-      price,
-      await this.isETHTransaction() ? 18 : this.getERC20Contract().getDecimals(),
-    );
-
-    return await this.__sendTx(
-      this.params.contract.getContract().methods.putERC721OnSale(tokenId, valueWithDecimals),
-    );
-  };
-
-  /**
-     * @function
-     * @description Remove ERC721 from Sale
-     * @param {Object} params Parameters
-     * @param {String} params.tokenId Token Id
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-    removeERC721FromSale = async ({ tokenId }) => await this.__sendTx(
-      this.params.contract.getContract().methods.removeERC721FromSale(tokenId),
-    );
-
-    /**
-     * @function
-     * @description Buy ERC721 from Sale
-     * @param {Object} params Parameters
-     * @param {String} params.tokenId Token Id
-     * @param {Integer} params.value If Native ETH, value = 0.1 ETH; if ERC20 value is 0 or optional
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-    buyERC721 = async ({ tokenId, value = 0 }) => await this.__sendTx(
-      this.params.contract.getContract().methods.buyERC721(tokenId), false, Numbers.toSmartContractDecimals(value, 18),
-    );
-
-    /**
-     * @function
-     * @description Change ERC20 Address
-     * @param {Object} params Parameters
-     * @param {String} params.erc20TokenAddress ERC20TokenAddress
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-    changeERC20 = async ({ erc20TokenAddress }) => await this.__sendTx(
-      this.params.contract.getContract().methods.changeERC20(erc20TokenAddress),
-    );
-
-    /**
-     * @function
-     * @description Change ERC20 Address
-     * @param {Object} params Parameters
-     * @param {String} params.erc721TokenAddress ERC721TokenAddress
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-    */
-     changeERC721 = async ({ erc721TokenAddress }) => await this.__sendTx(
-       this.params.contract.getContract().methods.changeERC721(erc721TokenAddress),
-     );
-
-    /**
-     * @function
-     * @description Change ERC20 Address
-     * @param {Object} params Parameters
-     * @param {String} params.feeAddress Fee Address
-     * @param {String} params.feePercentage Fee Percentage (1 = 1%)
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-    */
-    setFixedFees = async ({ feeAddress, feePercentage }) => await this.__sendTx(
-      this.params.contract.getContract().methods.setFixedFees(feeAddress, feePercentage),
-    );
-
-    /**
-     * @function
-     * @description Get ERC20 Token Address
-     * @returns {Address} Token Address
-     */
-    getERC20TokenAddress = async () => await this.params.contract.getContract().methods.erc20Address().call();
-
-    /**
-     * @function
-     * @description Get ERC721 Token Address
-     * @returns {Address} Token Address
-     */
-    getERC721TokenAddress = async () => await this.params.contract.getContract().methods.erc721Address().call();
-
-    /**
-     * @function
-     * @description Get FeeAddress
-     * @returns {Address} Fee Address
-    */
-    getFeeAddress = async () => await this.params.contract.getContract().methods.feeAddress().call();
-
-    /**
-     * @function
-     * @description Get Amount of ERC721s ever in sale
-     * @returns {Integer} Amount of NFTs in Sale
-     */
-    getAmountofNFTsEverInSale = async () => {
-      parseInt(
-        await this.params.contract.getContract().methods.saleIncrementId().call(), 10,
-      ) - 1;
-    }
-
-
-    /**
-     * @function
-     * @description Approve ERC721 to be put on Sale
-     * @param {Object} params Parameters
-     * @param {Address} params.to Address To
-     * @param {Bool} params.approve If to Approve
-     * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-    approveERC721use = async ({ to, approve = true }) => await this.getERC721Contract().setApprovalForAll({ to, approve })
-
-    /**
-     * @function
-     * @description User deploys the contract
-     * @param {Object} params Parameters
-     * @param {Address} params.erc20TokenAddress Address of the Contract - Optional (Dont insert if you want to use ETH or BNB or the native currency)
-     * @param {Address} params.erc721TokenAddress Address of the Contract
-     * @returns {Boolean} Success the Tx Object if operation was successful
-     */
-    deploy = async ({
-      erc20TokenAddress = '0x0000000000000000000000000000000000000000', erc721TokenAddress, callback,
-    }) => {
-      const params = [erc20TokenAddress, erc721TokenAddress];
-      const res = await this.__deploy(params, callback);
-      this.params.contractAddress = res.contractAddress;
-      /* Call to Backend API */
-      await this.__assert();
-      return res;
-    };
-
-    getERC20Contract = () => this.params.ERC20Contract;
-
-    getERC721Contract = () => this.params.ERC721Contract;
-}
-
-export default MarketplaceRealFvr;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/models_custom_RealFvr_OpenerRealFvr.js.html b/docs/models_custom_RealFvr_OpenerRealFvr.js.html deleted file mode 100644 index b30bb6d3..00000000 --- a/docs/models_custom_RealFvr_OpenerRealFvr.js.html +++ /dev/null @@ -1,562 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs models/custom/RealFvr/OpenerRealFvr.js - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-

Source

-

models/custom/RealFvr/OpenerRealFvr.js

-
- - - - - -
-
-
import _ from 'lodash';
-import { openerRealFvr } from '../../../interfaces';
-import Numbers from '../../../utils/Numbers';
-import IContract from '../../IContract';
-import ERC20Contract from '../../ERC20/ERC20Contract';
-
-/**
- * OpenerRealFvr Object
- * @class OpenerRealFvr
- * @param {Object} params Parameters
- * @param {Address} params.contractAddress Contract Address (If Deployed)
- * @param {Address} params.tokenAddress Token Purchase Address
- */
-class OpenerRealFvr extends IContract {
-  constructor(params = {}) {
-    super({ abi: openerRealFvr, ...params });
-  }
-
-  __assert = async () => {
-    if (!this.getAddress()) {
-      throw new Error(
-        'Contract is not deployed, first deploy it and provide a contract address',
-      );
-    }
-    // Use ABI
-    this.params.contract.use(openerRealFvr, this.getAddress());
-
-    if (!this.params.tokenAddress) {
-      throw new Error("Problem on ERC20 Assert, 'tokenAddress' not provided");
-    }
-    // Set Token Address Contract for easy access
-    this.params.ERC20Contract = new ERC20Contract({
-      web3: this.web3,
-      contractAddress: this.params.tokenAddress,
-      acc: this.acc,
-    });
-    try {
-      // Assert Token Contract
-      await this.params.ERC20Contract.__assert();
-    } catch (err) {
-      throw new Error(`Problem on ERC20 Assert, confirm ERC20 'tokenAddress'${err}`);
-    }
-  };
-
-  /**
-   * @function
-   * @description Buy Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId Pack Id
-   * @returns {Transaction} Transaction
-   */
-  buyPack = async ({ packId }) => await this.__sendTx(
-    this.params.contract.getContract().methods.buyPack(packId),
-  );
-
-  /**
-   * @function
-   * @description Buy Packs
-   * @param {Object} params Parameters
-   * @param {Array | Integer} params.packIds Pack Id
-   * @returns {Transaction} Transaction
-   */
-    buyPacks = async ({ packIds }) => await this.__sendTx(
-      this.params.contract.getContract().methods.buyPacks(packIds),
-    );
-
-    /**
-   * @function
-   * @description Open Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId Pack Id
-   * @returns {Transaction} Transaction
-   */
-   openPack = async ({ packId }) => await this.__sendTx(
-     this.params.contract.getContract().methods.openPack(packId),
-   );
-
-   /**
-   * @function
-   * @description Open Packs
-   * @param {Object} params Parameters
-   * @param {Array | Integer} params.packIds Pack Id
-   * @returns {Transaction} Transaction
-   */
-  openPacks = async ({ packIds }) => await this.__sendTx(
-    this.params.contract.getContract().methods.openPacks(packIds),
-  );
-
-  /**
-   * @function
-   * @description Offer Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId Pack Id
-   * @param {Address} params.receivingAddress Pack Id Integer
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  offerPack = async ({ packId, receivingAddress }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.offerPack(packId, receivingAddress),
-  );
-
-  /**
-   * @function
-   * @description Create Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.nftAmount Amount of NFTs/Tokens
-   * @param {Integer} params.price Price of Pack (100 = $1; 1 = $0.01)
-   * @param {String} params.serie Serie of Pack
-   * @param {String} params.packType Pack Type
-   * @param {String} params.drop Pack Drop
-   * @param {Date} params.saleStart Start Date
-   * @param {Address | Array} params.saleDistributionAddresses Revenue Addresses of the First Purchase
-   * @param {Integer | Array} params.saleDistributionAmounts Revenue Amounts of the First Purchase
-   * @param {Address | Array} params.marketplaceDistributionAddresses Revenue Addresses of the Marketplace Sales
-   * @param {Integer | Array} params.marketplaceDistributionAmounts Revenue Amounts of the Marketplace Sales
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  createPack = async ({
-    nftAmount,
-    price,
-    serie,
-    packType,
-    drop,
-    saleStart,
-    saleDistributionAddresses,
-    saleDistributionAmounts,
-    marketplaceDistributionAddresses,
-    marketplaceDistributionAmounts,
-  }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.createPack(
-        parseInt(nftAmount, 10),
-        Numbers.toSmartContractDecimals(price, 3),
-        serie,
-        packType,
-        drop,
-        Numbers.timeToSmartContractTime(saleStart),
-        saleDistributionAddresses,
-        saleDistributionAmounts,
-        marketplaceDistributionAddresses,
-        marketplaceDistributionAmounts,
-      ),
-  );
-
-  /**
-   * @function
-   * @description Edit Pack Info
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId Pack Number
-   * @param {Date} params.saleStart Time of Start of the Sale
-   * @param {String} params.serie Serie of Pack
-   * @param {String} params.packType Pack Type
-   * @param {String} params.drop Pack Drop
-   * @param {Integer} params.price Pack Price
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  editPackInfo = async ({
-    packId, saleStart, price, serie, packType, drop,
-  }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.editPackInfo(
-        packId,
-        Numbers.timeToSmartContractTime(saleStart),
-        serie,
-        packType,
-        drop,
-        Numbers.toSmartContractDecimals(price, 3),
-      ),
-  );
-
-  /**
-   * @function
-   * @description Delete Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId Pack Id Integer
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  deletePackById = async ({ packId }) => await this.__sendTx(
-    this.params.contract.getContract().methods.deletePackById(packId),
-  );
-
-  /**
-   * @function
-   * @description Mint Token Id (After buying a pack)
-   * @param {Object} params Parameters
-   * @param {Integer} params.tokenId Token ID
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  mint = async ({ tokenId }) => await this.__sendTx(
-    this.params.contract.getContract().methods.mint(tokenId),
-  );
-
-  /**
-   * @function
-   * @description Set Purchase Token
-   * @param {Object} params Parameters
-   * @param {Address} params.address Token Address
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  setPurchaseTokenAddress = async ({ address }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.setPurchaseTokenAddress(address),
-  );
-
-  /**
-   * @function
-   * @description Lock the Contract
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  lock = async () => await this.__sendTx(this.params.contract.getContract().methods.lock());
-
-  /**
-   * @function
-   * @description Unlock the Contract
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  unlock = async () => await this.__sendTx(this.params.contract.getContract().methods.unlock());
-
-  /**
-   * @function
-   * @description Set Token Price of Real Fvr in USD --> 1*10**18 as input means 1 Real Fvr = $0.000001
-   * @param {Object} params Parameters
-   * @param {Price} params.price Token Price
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  setTokenWorthof1USD = async ({ price }) => await this.__sendTx(
-    this.params.contract
-      .getContract()
-      .methods.setTokenPriceInUSD(price),
-  );
-
-  /**
-   * @function
-   * @description Set Base Id URI
-   * @param {Object} params Parameters
-   * @param {String} params.uri URI of the Token Id Metadata JSON
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  setBaseURI = async ({ uri }) => await this.__sendTx(
-    this.params.contract.getContract().methods.setBaseURI(uri),
-  );
-
-  /**
-   * @function
-   * @description Set Specific Token Id URI
-   * @param {Object} params Parameters
-   * @param {Integer} params.tokenId Token ID
-   * @param {String} params.uri URI of the Token Id Metadata JSON
-   * @returns {TransactionObject} Success the Tx Object if operation was successful
-   */
-  setTokenURI = async ({ tokenId, uri }) => await this.__sendTx(
-    this.params.contract.getContract().methods.setTokenURI(tokenId, uri),
-  );
-
-  /**
-   * @function
-   * @description Get Pack If Information
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId
-   * @returns {Integer} packId
-   * @returns {Integer} price
-   * @returns {String} serie
-   * @returns {String} drop
-   * @returns {String} packType
-   * @returns {Address} buyer
-   * @returns {Array | Address} saleDistributionAddresses
-   * @returns {Array | Integer} saleDistributionAmounts
-   * @returns {Bool} opened
-   */
-  getPackbyId = async ({ packId }) => {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getPackbyId(packId)
-      .call();
-
-    return {
-      packId,
-      initialNFTId: parseInt(res[1], 10),
-      price: Numbers.fromDecimals(res[2], 3),
-      serie: res[3],
-      drop: res[4],
-      packType: res[5],
-      buyer: res[6],
-      saleDistributionAddresses: res[7],
-      saleDistributionAmounts: res[8] ? res[8].map(a => parseInt(a, 10)) : [],
-      opened: res[9],
-    };
-  };
-
-  /**
-   * @function
-   * @description Get Token IDs that were already bought via a pack
-   * @param {Object} params Parameters
-   * @param {Address} params.address
-   * @returns {Array | Integer} TokensRegistered
-   */
-  getRegisteredTokens = async ({ address }) => {
-    const res = await this.params.contract
-      .getContract()
-      .methods.getRegisteredIDs(address)
-      .call();
-
-    return res.map(a => parseInt(a, 10));
-  };
-
-  /**
-   * @function
-   * @description Get Distribution Sales Description for ERC721 Marketplace Sales
-   * @param {Object} params Parameters
-   * @param {Integer} params.tokenid Token Id
-   * @returns {Array | Integer} Distribution Amounts
-   * @returns {Array | Address} Distribution Addresses
-   */
-   getMarketplaceDistributionForERC721 = async ({ tokenId }) => {
-     const res = await this.params.contract
-       .getContract()
-       .methods.getMarketplaceDistributionForERC721(tokenId)
-       .call();
-
-     return {
-       distributionAmounts: res[0].map(a => parseInt(a, 10)),
-       distributionAddresses: res[1],
-     };
-   };
-
-  /**
-   * @function
-   * @description Verify if a Token was already minted
-   * @param {Object} params Parameters
-   * @param {Integer} params.tokenId
-   * @returns {Bool} wasMinted
-   */
-  exists = async ({ tokenId }) => await this.params.contract.getContract().methods.exists(tokenId).call();
-
-
-  /**
-   * @function
-   * @description Get Purchase Token Address
-   * @returns {Address} Token Address
-   */
-  getPurchaseToken = async () => await this.params.contract.getContract().methods._purchaseToken().call();
-
-  /**
-   * @function
-   * @description Get Real Fvr Cost in USD
-   * @returns {Integer} Price in Real Fvr Tokens
-   */
-  getTokenWorthof1USD = async () => Numbers.fromDecimals(
-    await this.params.contract
-      .getContract()
-      .methods._realFvrTokenPriceUSD()
-      .call(),
-    this.getERC20Contract().getDecimals(),
-  );
-
-
-  /**
-   * @function
-   * @description Get Cost in Fvr Tokens of the Pack
-   * @param {Object} params Parameters
-   * @param {Integer} params.packId
-   * @returns {Integer} Price in Real Fvr Tokens
-   */
-  getPackPriceInFVR = async ({ packId }) => Numbers.fromDecimals(
-    await this.params.contract
-      .getContract()
-      .methods.getPackPriceInFVR(packId)
-      .call(),
-    this.getERC20Contract().getDecimals(),
-  );
-
-  /**
-   * @function
-   * @description Get Amount of Packs Created
-   * @returns {Integer} packsAmount
-   */
-  getAmountOfPacksCreated = async () => parseInt(
-    await this.params.contract.getContract().methods.packIncrementId().call(), 10,
-  );
-
-  /**
-   * @function
-   * @description Get Amount of Packs Opened
-   * @returns {Integer} packsAmount
-   */
-  getAmountOfPacksOpened = async () => parseInt(
-    await this.params.contract.getContract().methods._openedPacks().call(), 10,
-  );
-
-  /**
-   * @function
-   * @description Get Amount of Tokens/NFTs Created (Inherent to the Packs)
-   * @returns {Integer} tokensAmount
-   */
-  getAmountOfTokensCreated = async () => parseInt(
-    await this.params.contract.getContract().methods.lastNFTID().call(), 10,
-  );
-
-  /**
-   * @function
-   * @description User deploys the contract
-   * @param {Object} params Parameters
-   * @param {String} params.name Name of the Contract
-   * @param {String} params.symbol Symbol of the Contract
-   * @param {Address} params.tokenAddress token Address of the purchase Token in use
-   * @returns {Boolean} Success the Tx Object if operation was successful
-   */
-  deploy = async ({
-    name, symbol, tokenAddress, callback,
-  }) => {
-    const params = [name, symbol, tokenAddress];
-    const res = await this.__deploy(params, callback);
-    this.params.contractAddress = res.contractAddress;
-    /* Call to Backend API */
-    await this.__assert();
-    return res;
-  };
-
-  getERC20Contract = () => this.params.ERC20Contract;
-}
-
-export default OpenerRealFvr;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/scripts/app.min.js b/docs/scripts/app.min.js deleted file mode 100644 index 9411fc03..00000000 --- a/docs/scripts/app.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";$().ready(function(){});var sidebarIsVisible=!1,toggleSidebar=function(e){var a=!(0 h1").text();if(t){o.append($("

").text(t));var s=$("
    ");i.find(".members h4.name").each(function(e,a){var i=$(a),t=i.find(".code-name").clone().children().remove().end().text(),n=i.find("a").attr("href"),r=$('')).text(t);s.append($("
  • ").append(r)),c.push({link:r,offset:i.offset().top})}),o.append(s)}else i.find(".members h4.name").each(function(e,a){var i=$(a),t=i.find(".code-name").clone().children().remove().end().text(),n=i.find("a").attr("href"),r=$('
    ')).text(t);o.append(r),c.push({link:r,offset:i.offset().top})})}),!$.trim(o.text()))return o.hide();function e(){for(var e=n.scrollTop(),a=!1,i=c.length-1;0<=i;i--){var t=c[i];t.link.removeClass("is-active"),e+OFFSET>=t.offset?a?t.link.addClass("is-past"):(t.link.addClass("is-active"),a=!0):t.link.removeClass("is-past")}}var n=$("#main-content-wrapper");n.on("scroll",e),e(),c.forEach(function(e){e.link.click(function(){n.animate({scrollTop:e.offset-OFFSET+1},500)})})}),$().ready(function(){$("#sidebarNav a").each(function(e,a){var i=$(a).attr("href");window.location.pathname.match("/"+i)&&($(a).addClass("active"),$("#sidebarNav").scrollTop($(a).offset().top-150))})}); \ No newline at end of file diff --git a/docs/scripts/linenumber.js b/docs/scripts/linenumber.js deleted file mode 100644 index 1ba40576..00000000 --- a/docs/scripts/linenumber.js +++ /dev/null @@ -1,26 +0,0 @@ -/*global document */ - -(function() { - var source = document.getElementsByClassName('prettyprint source linenums'); - var i = 0; - var lineNumber = 0; - var lineId; - var lines; - var totalLines; - var anchorHash; - - if (source && source[0]) { - anchorHash = document.location.hash.substring(1); - lines = source[0].getElementsByTagName('li'); - totalLines = lines.length; - - for (; i < totalLines; i++) { - lineNumber++; - lineId = 'line' + lineNumber; - lines[i].id = lineId; - if (lineId === anchorHash) { - lines[i].className += ' selected'; - } - } - } -})(); diff --git a/docs/scripts/search.js b/docs/scripts/search.js deleted file mode 100644 index 540d451c..00000000 --- a/docs/scripts/search.js +++ /dev/null @@ -1,39 +0,0 @@ -(function() { - const input = document.querySelector('#search') - const targets = [ ...document.querySelectorAll('#sidebarNav li')] - input.addEventListener('keyup', () => { - // loop over each targets and hide the not corresponding ones - targets.forEach(target => { - if (!target.innerText.toLowerCase().includes(input.value.toLowerCase())) { - target.style.display = 'none' - - /** - * Detects an empty list - * Remove the list and the list's title if the list is not displayed - */ - const list = [...target.parentNode.childNodes].filter( elem => elem.style.display !== 'none') - - if (!list.length) { - target.parentNode.style.display = 'none' - target.parentNode.previousSibling.style.display = 'none' - } - - /** - * Detects empty category - * Remove the entire category if no item is displayed - */ - const category = [...target.parentNode.parentNode.childNodes] - .filter( elem => elem.tagName !== 'H2' && elem.style.display !== 'none') - - if (!category.length) { - target.parentNode.parentNode.style.display = 'none' - } - } else { - target.parentNode.style.display = 'block' - target.parentNode.previousSibling.style.display = 'block' - target.parentNode.parentNode.style.display = 'block' - target.style.display = 'block' - } - }) - }) -})() \ No newline at end of file diff --git a/docs/styles/app.min.css b/docs/styles/app.min.css deleted file mode 100644 index 16207525..00000000 --- a/docs/styles/app.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.delete,.modal-close,.is-unselectable,.button,.file,.breadcrumb,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select:not(.is-multiple):not(.is-loading)::after,.navbar-link:not(.is-arrowless)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;transform-origin:center;width:0.625em}.box:not(:last-child),.content:not(:last-child),.notification:not(:last-child),.progress:not(:last-child),.table:not(:last-child),.table-container:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.block:not(:last-child),.highlight:not(:last-child),.breadcrumb:not(:last-child),.level:not(:last-child),.list:not(:last-child),.message:not(:last-child),.tabs:not(:last-child){margin-bottom:1.5rem}.delete,.modal-close{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.delete::before,.modal-close::before,.delete::after,.modal-close::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.delete::before,.modal-close::before{height:2px;width:50%}.delete::after,.modal-close::after{height:50%;width:2px}.delete:hover,.modal-close:hover,.delete:focus,.modal-close:focus{background-color:rgba(10,10,10,0.3)}.delete:active,.modal-close:active{background-color:rgba(10,10,10,0.4)}.is-small.delete,.is-small.modal-close{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete,.is-medium.modal-close{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete,.is-large.modal-close{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading::after,.loader,.select.is-loading::after,.control.is-loading::after{-webkit-animation:spinAround 500ms infinite linear;animation:spinAround 500ms infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.is-overlay,.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio,.modal,.modal-background,.hero-video{bottom:0;left:0;position:absolute;right:0;top:0}.button,.input,.textarea,.select select,.file-cta,.file-name,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}.button:focus,.input:focus,.textarea:focus,.select select:focus,.file-cta:focus,.file-name:focus,.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.is-focused.button,.is-focused.input,.is-focused.textarea,.select select.is-focused,.is-focused.file-cta,.is-focused.file-name,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.button:active,.input:active,.textarea:active,.select select:active,.file-cta:active,.file-name:active,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.is-active.button,.is-active.input,.is-active.textarea,.select select.is-active,.is-active.file-cta,.is-active.file-name,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis{outline:none}.button[disabled],.input[disabled],.textarea[disabled],.select select[disabled],.file-cta[disabled],.file-name[disabled],.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled],.pagination-ellipsis[disabled],fieldset[disabled] .button,fieldset[disabled] .input,fieldset[disabled] .textarea,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1em;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#ff3860;font-size:.875em;font-weight:normal;padding:0.25em 0.5em 0.25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type="checkbox"],input[type="radio"]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:left}table th{color:#363636}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px), print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1023px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1024px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px), print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1023px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1024px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px), print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1023px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1024px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px), print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1023px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1024px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px), print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1023px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1024px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#f5f5f5 !important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb !important}.has-background-light{background-color:#f5f5f5 !important}.has-text-dark{color:#363636 !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c !important}.has-background-dark{background-color:#363636 !important}.has-text-primary{color:#00d1b2 !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#009e86 !important}.has-background-primary{background-color:#00d1b2 !important}.has-text-link{color:#3273dc !important}a.has-text-link:hover,a.has-text-link:focus{color:#205bbc !important}.has-background-link{background-color:#3273dc !important}.has-text-info{color:#209cee !important}a.has-text-info:hover,a.has-text-info:focus{color:#0f81cc !important}.has-background-info{background-color:#209cee !important}.has-text-success{color:#23d160 !important}a.has-text-success:hover,a.has-text-success:focus{color:#1ca64c !important}.has-background-success{background-color:#23d160 !important}.has-text-warning{color:#ffdd57 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd324 !important}.has-background-warning{background-color:#ffdd57 !important}.has-text-danger{color:#ff3860 !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#ff0537 !important}.has-background-danger{background-color:#ff3860 !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#363636 !important}.has-background-grey-darker{background-color:#363636 !important}.has-text-grey-dark{color:#4a4a4a !important}.has-background-grey-dark{background-color:#4a4a4a !important}.has-text-grey{color:#7a7a7a !important}.has-background-grey{background-color:#7a7a7a !important}.has-text-grey-light{color:#b5b5b5 !important}.has-background-grey-light{background-color:#b5b5b5 !important}.has-text-grey-lighter{color:#dbdbdb !important}.has-background-grey-lighter{background-color:#dbdbdb !important}.has-text-white-ter{color:#f5f5f5 !important}.has-background-white-ter{background-color:#f5f5f5 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:monospace !important}.is-family-code{font-family:monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px), print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1023px){.is-block-touch{display:block !important}}@media screen and (min-width: 1024px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px), print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1023px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1024px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px), print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1023px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1024px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px), print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1023px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1024px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px), print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1023px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1024px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px), print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1023px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1024px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px), print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1023px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1024px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#4a4a4a;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #3273dc}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #3273dc}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}.button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#363636}.button:focus,.button.is-focused{border-color:#3273dc;color:#363636}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#4a4a4a;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#363636}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-outlined.is-loading:hover::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-outlined.is-loading:hover::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#363636}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#363636}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-outlined.is-loading:hover::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark:hover,.button.is-dark.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark:focus,.button.is-dark.is-focused{border-color:transparent;color:#f5f5f5}.button.is-dark:focus:not(:active),.button.is-dark.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.button.is-dark:active,.button.is-dark.is-active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover,.button.is-dark.is-inverted.is-hovered{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-outlined.is-loading:hover::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary:hover,.button.is-primary.is-hovered{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary:focus,.button.is-primary.is-focused{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.button.is-primary.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.button.is-primary:active,.button.is-primary.is-active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted:hover,.button.is-primary.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined:hover,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined.is-focused{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2 !important}.button.is-primary.is-outlined.is-loading:hover::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-outlined.is-loading:focus::after,.button.is-primary.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined.is-focused{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading:hover::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #00d1b2 #00d1b2 !important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#3273dc;border-color:transparent;color:#fff}.button.is-link:hover,.button.is-link.is-hovered{background-color:#276cda;border-color:transparent;color:#fff}.button.is-link:focus,.button.is-link.is-focused{border-color:transparent;color:#fff}.button.is-link:focus:not(:active),.button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.button.is-link:active,.button.is-link.is-active{background-color:#2366d1;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#3273dc;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#3273dc}.button.is-link.is-inverted:hover,.button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3273dc}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;color:#3273dc}.button.is-link.is-outlined:hover,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined.is-focused{background-color:#3273dc;border-color:#3273dc;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #3273dc #3273dc !important}.button.is-link.is-outlined.is-loading:hover::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;box-shadow:none;color:#3273dc}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:hover,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3273dc}.button.is-link.is-inverted.is-outlined.is-loading:hover::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #3273dc #3273dc !important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#1496ed;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.button.is-info:active,.button.is-info.is-active{background-color:#118fe4;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-outlined.is-loading:hover::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading:hover::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#23d160;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#22c65b;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.button.is-success:active,.button.is-success.is-active{background-color:#20bc56;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#23d160;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#23d160}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#23d160}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined{background-color:transparent;border-color:#23d160;color:#23d160}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#23d160;border-color:#23d160;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #23d160 #23d160 !important}.button.is-success.is-outlined.is-loading:hover::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#23d160;box-shadow:none;color:#23d160}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#23d160}.button.is-success.is-inverted.is-outlined.is-loading:hover::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #23d160 #23d160 !important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-outlined.is-loading:hover::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading:hover::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.button.is-danger:active,.button.is-danger.is-active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #ff3860 #ff3860 !important}.button.is-danger.is-outlined.is-loading:hover::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined.is-loading:hover::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ff3860 #ff3860 !important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent !important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#7a7a7a;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:0.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}.buttons:last-child{margin-bottom:-0.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1024px){.container{max-width:960px}.container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){.container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){.container{max-width:1152px}}@media screen and (min-width: 1408px){.container{max-width:1344px}}.content li+li{margin-top:0.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:0.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:0.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:0.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:0.8em}.content h5{font-size:1.125em;margin-bottom:0.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:0.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:290486px}.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,.image.is-1by1{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:0.5rem;top:0.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark{background-color:#363636;color:#f5f5f5}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-link{background-color:#3273dc;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#23d160;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.notification.is-danger{background-color:#ff3860;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right, #f5f5f5 30%, #dbdbdb 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right, #363636 30%, #dbdbdb 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right, #00d1b2 30%, #dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#3273dc}.progress.is-link::-moz-progress-bar{background-color:#3273dc}.progress.is-link::-ms-fill{background-color:#3273dc}.progress.is-link:indeterminate{background-image:linear-gradient(to right, #3273dc 30%, #dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right, #209cee 30%, #dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#23d160}.progress.is-success::-moz-progress-bar{background-color:#23d160}.progress.is-success::-ms-fill{background-color:#23d160}.progress.is-success:indeterminate{background-image:linear-gradient(to right, #23d160 30%, #dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(to right, #ff3860 30%, #dbdbdb 30%)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right, #4a4a4a 30%, #dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#3273dc;border-color:#3273dc;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#23d160;border-color:#23d160;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:rgba(0,0,0,0)}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:rgba(0,0,0,0)}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:rgba(0,0,0,0)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:0.25em 0.5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:0.5rem}.tags .tag:not(:last-child){margin-right:0.5rem}.tags:last-child{margin-bottom:-0.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:0.25rem;margin-left:0.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:0.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#363636}.tag:not(body).is-dark{background-color:#363636;color:#f5f5f5}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-link{background-color:#3273dc;color:#fff}.tag:not(body).is-info{background-color:#209cee;color:#fff}.tag:not(body).is-success{background-color:#23d160;color:#fff}.tag:not(body).is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.tag:not(body).is-danger{background-color:#ff3860;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::before,.tag:not(body).is-delete::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:hover,.tag:not(body).is-delete:focus{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:290486px}a.tag:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub{font-size:.75em}.title sup,.subtitle sup{font-size:.75em}.title .tag,.subtitle .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-0.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}.input,.textarea,.select select{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.input::-moz-placeholder,.textarea::-moz-placeholder,.select select::-moz-placeholder{color:rgba(54,54,54,0.3)}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.select select::-webkit-input-placeholder{color:rgba(54,54,54,0.3)}.input:-moz-placeholder,.textarea:-moz-placeholder,.select select:-moz-placeholder{color:rgba(54,54,54,0.3)}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder,.select select:-ms-input-placeholder{color:rgba(54,54,54,0.3)}.input:hover,.textarea:hover,.select select:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered{border-color:#b5b5b5}.input:focus,.textarea:focus,.select select:focus,.is-focused.input,.is-focused.textarea,.select select.is-focused,.input:active,.textarea:active,.select select:active,.is-active.input,.is-active.textarea,.select select.is-active{border-color:#3273dc;box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.input[disabled],.textarea[disabled],.select select[disabled],fieldset[disabled] .input,fieldset[disabled] .textarea,fieldset[disabled] .select select,.select fieldset[disabled] select{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,.select select[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,.select select[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder{color:rgba(122,122,122,0.3)}.input,.textarea{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}.input[readonly],.textarea[readonly]{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:focus,.is-white.textarea:focus,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.input:active,.is-white.textarea:active,.is-white.is-active.input,.is-white.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.is-black.input,.is-black.textarea{border-color:#0a0a0a}.is-black.input:focus,.is-black.textarea:focus,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.input:active,.is-black.textarea:active,.is-black.is-active.input,.is-black.is-active.textarea{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:focus,.is-light.textarea:focus,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.input:active,.is-light.textarea:active,.is-light.is-active.input,.is-light.is-active.textarea{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:focus,.is-dark.textarea:focus,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.input:active,.is-dark.textarea:active,.is-dark.is-active.input,.is-dark.is-active.textarea{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:focus,.is-primary.textarea:focus,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.input:active,.is-primary.textarea:active,.is-primary.is-active.input,.is-primary.is-active.textarea{box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.is-link.input,.is-link.textarea{border-color:#3273dc}.is-link.input:focus,.is-link.textarea:focus,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.input:active,.is-link.textarea:active,.is-link.is-active.input,.is-link.is-active.textarea{box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.is-info.input,.is-info.textarea{border-color:#209cee}.is-info.input:focus,.is-info.textarea:focus,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.input:active,.is-info.textarea:active,.is-info.is-active.input,.is-info.is-active.textarea{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.is-success.input,.is-success.textarea{border-color:#23d160}.is-success.input:focus,.is-success.textarea:focus,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.input:active,.is-success.textarea:active,.is-success.is-active.input,.is-success.is-active.textarea{box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.is-warning.input,.is-warning.textarea{border-color:#ffdd57}.is-warning.input:focus,.is-warning.textarea:focus,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.input:active,.is-warning.textarea:active,.is-warning.is-active.input,.is-warning.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.is-danger.input,.is-danger.textarea{border-color:#ff3860}.is-danger.input:focus,.is-danger.textarea:focus,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.input:active,.is-danger.textarea:active,.is-danger.is-active.input,.is-danger.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:0.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#3273dc;right:1.125em;z-index:4}.select.is-rounded select{border-radius:290486px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:0.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select:hover,.select.is-dark select.is-hovered{border-color:#292929}.select.is-dark select:focus,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select:hover,.select.is-primary select.is-hovered{border-color:#00b89c}.select.is-primary select:focus,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select.is-active{box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.select.is-link:not(:hover)::after{border-color:#3273dc}.select.is-link select{border-color:#3273dc}.select.is-link select:hover,.select.is-link select.is-hovered{border-color:#2366d1}.select.is-link select:focus,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#118fe4}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.select.is-success:not(:hover)::after{border-color:#23d160}.select.is-success select{border-color:#23d160}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#20bc56}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd83d}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.select.is-danger:not(:hover)::after{border-color:#ff3860}.select.is-danger select{border-color:#ff3860}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#ff1f4b}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;-webkit-transform:none;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(245,245,245,0.25);color:#363636}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark:hover .file-cta,.file.is-dark.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark:focus .file-cta,.file.is-dark.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(54,54,54,0.25);color:#f5f5f5}.file.is-dark:active .file-cta,.file.is-dark.is-active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.file.is-primary.is-hovered .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.file.is-primary.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(0,209,178,0.25);color:#fff}.file.is-primary:active .file-cta,.file.is-primary.is-active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#3273dc;border-color:transparent;color:#fff}.file.is-link:hover .file-cta,.file.is-link.is-hovered .file-cta{background-color:#276cda;border-color:transparent;color:#fff}.file.is-link:focus .file-cta,.file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(50,115,220,0.25);color:#fff}.file.is-link:active .file-cta,.file.is-link.is-active .file-cta{background-color:#2366d1;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#1496ed;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(32,156,238,0.25);color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#118fe4;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#23d160;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#22c65b;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(35,209,96,0.25);color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#20bc56;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,221,87,0.25);color:rgba(0,0,0,0.7)}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,56,96,0.25);color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:0.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:0.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#3273dc}.help.is-info{color:#209cee}.help.is-success{color:#23d160}.help.is-warning{color:#ffdd57}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:0.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered{z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]).is-active{z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px), print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px), print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:0.375em}.field-label.is-normal{padding-top:0.375em}.field-label.is-medium{font-size:1.25rem;padding-top:0.375em}.field-label.is-large{font-size:1.5rem;padding-top:0.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px), print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:0.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus ~ .icon,.control.has-icons-left .select:focus ~ .icon,.control.has-icons-right .input:focus ~ .icon,.control.has-icons-right .select:focus ~ .icon{color:#7a7a7a}.control.has-icons-left .input.is-small ~ .icon,.control.has-icons-left .select.is-small ~ .icon,.control.has-icons-right .input.is-small ~ .icon,.control.has-icons-right .select.is-small ~ .icon{font-size:.75rem}.control.has-icons-left .input.is-medium ~ .icon,.control.has-icons-left .select.is-medium ~ .icon,.control.has-icons-right .input.is-medium ~ .icon,.control.has-icons-right .select.is-medium ~ .icon{font-size:1.25rem}.control.has-icons-left .input.is-large ~ .icon,.control.has-icons-left .select.is-large ~ .icon,.control.has-icons-right .input.is-large ~ .icon,.control.has-icons-right .select.is-large ~ .icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#3273dc;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:0.5em}.breadcrumb .icon:last-child{margin-left:0.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#4a4a4a;max-width:100%;position:relative}.card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#3273dc;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:0.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px), print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px), print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px), print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px), print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}.list-item{display:block;padding:0.5em 1em}.list-item:not(a){color:#4a4a4a}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#3273dc;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:0.75rem}.media .media{border-top:1px solid rgba(219,219,219,0.5);display:flex;padding-top:0.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:0.5rem}.media .media .media{padding-top:0.5rem}.media .media .media+.media{margin-top:0.5rem}.media+.media{border-top:1px solid rgba(219,219,219,0.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:0.5em 0.75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#3273dc;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary{background-color:#f5fffd}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#021310}.message.is-link{background-color:#f6f9fe}.message.is-link .message-header{background-color:#3273dc;color:#fff}.message.is-link .message-body{border-color:#3273dc;color:#22509a}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537e}.message.is-success{background-color:#f6fef9}.message.is-success .message-header{background-color:#23d160;color:#fff}.message.is-success .message-body{border-color:#23d160;color:#0e301a}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3b3108}.message.is-danger{background-color:#fff5f7}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#cd0930}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:rgba(0,0,0,0)}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,0.86)}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px), print{.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:0.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1024px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link::after,.navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link::after,.navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#363636}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width: 1024px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#363636}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-start .navbar-link::after,.navbar.is-light .navbar-end .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger{color:#f5f5f5}@media screen and (min-width: 1024px){.navbar.is-dark .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-start .navbar-link::after,.navbar.is-dark .navbar-end .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-primary .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-start .navbar-link::after,.navbar.is-primary .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#3273dc;color:#fff}.navbar.is-link .navbar-brand>.navbar-item,.navbar.is-link .navbar-brand .navbar-link{color:#fff}.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-link .navbar-start>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-end .navbar-link{color:#fff}.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end .navbar-link.is-active{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-start .navbar-link::after,.navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#3273dc;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-start .navbar-link::after,.navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#23d160;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-start .navbar-link::after,.navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#23d160;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1024px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start .navbar-link::after,.navbar.is-warning .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,0.7)}}.navbar.is-danger{background-color:#ff3860;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-start .navbar-link::after,.navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#ff3860;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;-webkit-transform-origin:center;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, -webkit-transform;transition-property:background-color, opacity, transform;transition-property:background-color, opacity, transform, -webkit-transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,0.05)}.navbar-burger.is-active span:nth-child(1){-webkit-transform:translateY(5px) rotate(45deg);transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){-webkit-transform:translateY(-5px) rotate(-45deg);transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#fafafa;color:#3273dc}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(0.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#3273dc}.navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#3273dc;border-bottom-style:solid;border-bottom-width:3px;color:#3273dc;padding-bottom:calc(0.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#3273dc;margin-top:-0.375em;right:1.125em}.navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1024px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{-webkit-transform:rotate(135deg) translate(0.25em, -0.25em);transform:rotate(135deg) translate(0.25em, -0.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));-webkit-transform:translateY(-5px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,.pagination.is-rounded .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#363636}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#3273dc}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:0.5}.pagination-previous,.pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.pagination-link.is-current{background-color:#3273dc;border-color:#3273dc;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px), print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-heading,.panel-tabs,.panel-block{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-heading:first-child,.panel-tabs:first-child,.panel-block:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#363636;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:0.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#3273dc}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:0.5em 0.75em}.panel-block input[type="checkbox"]{margin-right:0.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#3273dc;color:#363636}.panel-block.is-active .panel-icon{color:#3273dc}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:0.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#3273dc;color:#3273dc}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:0.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}.tabs .icon:first-child{margin-right:0.5em}.tabs .icon:last-child{margin-left:0.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:rgba(0,0,0,0) !important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#3273dc;border-color:#3273dc;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px), print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1023px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1024px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0 !important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px), print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px), print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,0.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg, #e6e6e6 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e6e6e6 0%, #fff 71%, #fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,0.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:0.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,0.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width: 1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,0.7)}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:0.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}}.hero.is-dark{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#f5f5f5}.hero.is-dark .subtitle{color:rgba(245,245,245,0.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#f5f5f5}@media screen and (max-width: 1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(245,245,245,0.7)}.hero.is-dark a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a{color:#f5f5f5;opacity:0.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,0.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-primary a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary .navbar-link.is-active{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:0.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%)}}.hero.is-link{background-color:#3273dc;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,0.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-link .navbar-menu{background-color:#3273dc}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-link a.navbar-item:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link .navbar-link:hover,.hero.is-link .navbar-link.is-active{background-color:#2366d1;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:0.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3273dc}.hero.is-link.is-bold{background-image:linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%)}@media screen and (max-width: 768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,0.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#118fe4;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:0.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%)}}.hero.is-success{background-color:#23d160;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,0.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-success .navbar-menu{background-color:#23d160}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#20bc56;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:0.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#23d160}.hero.is-success.is-bold{background-image:linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,0.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,0.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1023px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:0.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%)}}.hero.is-small .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px), print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px), print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;-webkit-transform:translate3d(-50%, -50%, 0);transform:translate3d(-50%, -50%, 0)}.hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px), print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width: 1024px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}html{height:100%;width:100%}body{font-family:"TT Norms Medium",sans-serif;font-size:15px;position:relative;height:100%;width:100%;overflow-x:hidden}body.small-header .top-nav{height:75px}body.small-header #main{padding-top:75px}.top-nav{height:120px}@media screen and (max-width: 1023px){.top-nav{height:75px}}#main{height:100%;display:flex;flex-direction:row;background:#F8F8F9;padding-top:120px;overflow-x:hidden;width:100%}@media screen and (max-width: 1023px){#main{padding-top:75px}}#main>.sidebar{padding:40px 30px;flex-grow:0;flex-shrink:0;width:240px;border-right:1px solid #EAEAF1;height:100%;overflow:auto}#main>.sidebar.tutorials{width:320px}#main>.core{padding:28px;height:100%;overflow:auto;flex-grow:1}@media screen and (max-width: 768px){#main>.core{padding:0px}}#main>.core>.content{background:#fff;padding:40px;border-radius:4px;box-shadow:0 0 40px 0 rgba(115,134,160,0.24)}#main>.side-nav{width:240px;padding:40px 20px;flex-grow:0;flex-shrink:0;height:100%;border-left:1px solid #EAEAF1;overflow:auto}.content{margin-bottom:50px}.content blockquote{margin:30px 0 !important}.content .signature-attributes{margin-left:8px;margin-right:3px;font-style:italic}.content header.page-title p{font-size:13px;margin:0 0 5px;text-transform:uppercase}.content header p{font-size:20px}.content h1,.content header.page-title h1{font-family:"TT Norms Medium",sans-serif;font-size:47px;font-weight:bold;margin:8px 0}.content h2{font-size:26px;line-height:48px;font-weight:bold;margin-bottom:26px}.content h3,.content h4,.content h5,.content h6{font-family:"TT Norms Medium",sans-serif;font-weight:900;letter-spacing:0}.content code{color:#101010;font-family:"Inconsolata",monospace}.content .container-overview .prettyprint:last-child{margin-bottom:50px}.content .vertical-section{padding:16px 0}@media screen and (max-width: 1023px){#main-content-wrapper{padding:0 30px}}body.landing>.top-nav{box-shadow:none;transition:margin-top 0.3s;color:#fff;background:#4268F6}body.landing>.top-nav.hidden{transition:margin-top 0.3s;margin-top:-130px}@media screen and (max-width: 1023px){body.landing>.top-nav.hidden{margin-top:-85px}}body.landing>.top-nav.sticky{box-shadow:0 0 20px 0 rgba(0,0,255,0.5)}body.landing>.top-nav .inner{margin:0 auto;max-width:1226px}body.landing>.top-nav a.button{color:#fff;border-color:#fff;background:transparent}body.landing>.top-nav a.button:hover{background:#fff;border-color:#fff;color:#192035}body.landing>.top-nav .menu .navigation a.link{color:#fff}body.landing>.top-nav .menu .navigation a.link:hover{border-color:#fff}body.landing>.top-nav .image img{content:url("../images/logo.svg")}body.landing>.top-nav #hamburger{display:none}body.landing #main{display:block;height:auto}body.landing .main-hero{background:#4268F6;color:#fff;padding:300px 40% 160px;border-bottom-left-radius:50%;border-bottom-right-radius:50%;margin:-250px -30% 0;text-align:center}body.landing .main-hero .action-buttons{margin:60px 0;vertical-align:middle}body.landing .main-hero .action-buttons span{color:#fff}body.landing .main-hero h3{font-size:24px;line-height:65px;font-weight:lighter}body.landing .main-hero h1{font-size:52px;line-height:65px;font-weight:lighter;max-width:900px;margin-left:auto;margin-right:auto}body.landing .main-hero strong{color:#fff}body.landing .gif-box{margin-top:-140px;text-align:center}body.landing .grey-logos{text-align:center;margin-bottom:50px}body.landing .grey-logos .column{display:flex;align-items:center;justify-content:center}body.landing .white-oval{background:#fff;padding:110px 500px 100px;margin:0 -500px;text-align:center;border-bottom-left-radius:50%;border-bottom-right-radius:50%}body.landing h2{font-weight:bold;font-size:36px;line-height:48px;color:#101010;margin-bottom:15px}body.landing h2+p{color:#767676;font-size:16px}body.landing h4{font-weight:bold;font-size:24px;line-height:32px}body.landing .header-message{margin-bottom:80px}body.landing .todo-actions{text-align:left;padding:100px 0 100px 100px}@media screen and (max-width: 1215px){body.landing .todo-actions{padding-top:20px}}body.landing .todo-actions h4{margin-bottom:60px;position:relative}body.landing .todo-actions h4:before{content:'';position:absolute;left:-50px;top:0;height:30px;width:30px;background:url("../images/check.svg") no-repeat 50% 50%}body.landing .action-buttons span{line-height:36px;margin:0 10px;color:#4268F6}body.landing .credentials{text-align:center;padding:100px 0;background:url("../images/map.svg") no-repeat 50% 50%}body.landing .credentials .fa-youtube{color:#FF0000}body.landing .credentials .fa-reddit{color:#FF4500}body.landing .credentials .fa-github{color:#101010}body.landing .credentials .columns{margin-bottom:20px}body.landing .credentials .column{display:flex;flex-direction:column}body.landing .credentials .box{flex-direction:column;padding:30px;height:100%;box-shadow:0px 0px 40px rgba(115,134,160,0.25);display:flex;justify-content:center}body.landing .credentials .box:hover{box-shadow:0px 0px 40px rgba(115,134,160,0.5)}body.landing .credentials .box h5{align-self:center;font-size:22px;line-height:26px;margin-bottom:30px}body.landing .credentials .box span{font-size:11px}body.landing .stat-box{padding:40px 65px;box-shadow:0px 0px 40px rgba(115,134,160,0.25)}@media screen and (max-width: 768px){body.landing .stat-box .column:first-child{padding-bottom:40px}}body.landing .stat-box .fa-github{color:#101010}body.landing .stat-box h2{margin:0 0 60px}body.landing .stat-box h4{font-size:32px;font-weight:bolder;margin-top:15px;color:#101010}body.landing .stat-box h4 strong{color:#101010}body.landing .stat-box .level{border-bottom:#4C73F7 3px solid;margin-bottom:-3px}body.landing .stat-box .level img{position:relative;bottom:-3px}body.landing .stat-box .action-buttons{margin:50px 0 0}body.landing .feature-docs{margin-top:-200px;padding-top:300px}@media screen and (min-width: 1216px){body.landing .feature-docs .container .columns.is-multiline{margin:0 8.333%}}body.landing .feature-docs .columns.is-multiline .column{display:flex}body.landing .feature-docs .box{color:#101010}body.landing .feature-docs .box:hover{box-shadow:4px 8px 12px rgba(115,134,160,0.25)}body.landing .feature-docs .box img{margin:-10px 0}body.landing .feature-docs .box h4{line-height:36px;font-size:26px}body.landing .feature-docs .box p{font-size:20px;line-height:26px;margin:35px 0}body.landing .feature-docs .action-buttons{margin:100px 0 50px}body.landing .feature-side-blocks .bg-crud{background:url("../images/bg-crud.png") no-repeat 100% 50%}@media screen and (max-width: 1215px){body.landing .feature-side-blocks .bg-crud{background-position-x:150%}}@media screen and (max-width: 1023px){body.landing .feature-side-blocks .bg-crud{background:none;text-align:center}}body.landing .feature-side-blocks .bg-filter{background:url("../images/bg-filter.png") no-repeat 0% 50%}@media screen and (max-width: 1215px){body.landing .feature-side-blocks .bg-filter{background-position-x:-200px}}@media screen and (max-width: 1023px){body.landing .feature-side-blocks .bg-filter{background:none;text-align:center}}body.landing .feature-side-blocks .column{justify-content:center;display:flex;flex-direction:column}@media screen and (min-width: 1024px){body.landing .feature-side-blocks .column{height:700px}}body.landing .feature-side-blocks .container{margin-top:50px;margin-bottom:50px}body.landing .feature-side-blocks .action-buttons{margin:30px 0}body.landing .support-block{padding:80px 0 350px;background:#fff;margin-bottom:-200px}body.landing .support-block .column{display:flex;flex-direction:column}body.landing .support-block .column .box{flex-grow:1}body.landing .support-block .img{text-align:center;border-bottom:1px solid #D8D8D8;margin:0 -20px 20px}body.landing .support-block h4{font-weight:bolder;font-size:26px;line-height:48px}body.landing .support-block .text{padding:0 10px 20px}body.landing .support-block .form{background:#4268F6;padding:40px;border-radius:10px}body.landing .button.is-success{width:170px;height:50px}body.landing .form{color:#fff}body.landing .form .success-msg{display:none}body.landing .form .success-msg img{width:150px;margin:100px 0}body.landing .form.completed .success-msg{display:block}body.landing .form.completed .form-fields{display:none}body.landing .form h2{color:#fff;margin-bottom:30px}body.landing .form .label{font-size:20px}body.landing .form .field{margin-bottom:40px;color:#fff}body.landing .form .field label{color:#fff;font-weight:bold}body.landing .form .field input{border-radius:4px;height:54px}body.landing .form .checkbox{display:block;padding:8px 0;font-size:16px}body.landing .form .checkbox:hover{color:#fff}body.landing .form .checkbox input{margin-right:5px}body.landing .form .interested{padding:0 0 20px}body.landing .form .interested .label{color:#fff}body.landing .form textarea{height:80px}body.landing .form .notice{font-size:14px;font-weight:lighter;padding:10px 30px}body.landing .curved-footer{background:#4268F6;padding:110px 500px;margin:0 -500px;border-top-left-radius:50%;border-top-right-radius:50%;color:#fff}body.landing .curved-footer .the-part{position:relative}body.landing .curved-footer .the-part h2{font-size:90px;line-height:120px;opacity:0.08;color:#fff}@media screen and (max-width: 1023px){body.landing .curved-footer .the-part h2{font-size:70px}}body.landing .curved-footer .the-part h4{font-size:56px;line-height:65px;position:absolute;left:0;top:0;right:0;padding:80px 0}body.landing .button.is-link{background:transparent}body.landing .button.is-link span{border-bottom:1px solid #fff}body.landing .button.is-link:hover span{border-bottom:none}body.landing .top{border-bottom:1px solid rgba(255,255,255,0.2);padding-bottom:120px;text-align:center}body.landing .bottom{font-size:14px;padding:65px 0 0}@media screen and (max-width: 768px){body.landing .bottom{padding:20px}}body.landing .bottom strong{color:#fff}body.landing .bottom p{padding:6px 0}body.landing .bottom a{color:#fff}body.landing .bottom .sb{padding-top:40px}body.landing .bottom .logo{padding-bottom:30px}body.landing .bottom .button.is-success{margin-top:40px;height:54px}body.landing .bottom .form{margin-top:30px}.top-nav{background:#fff;padding:8px 24px;box-shadow:0 0 40px 0 rgba(115,134,160,0.24);position:fixed;top:0;left:0;right:0;z-index:5}@media screen and (max-width: 768px){.top-nav{padding:8px}}.top-nav h1{font-size:20px}.top-nav .inner{display:flex;align-items:center}.top-nav #hamburger{margin-left:0}@media screen and (max-width: 768px){.top-nav .logo{display:none}}.top-nav .menu{flex-grow:1}.top-nav .menu .top-buttons{text-align:right;margin-bottom:8px;margin-top:2px}@media screen and (max-width: 1023px){.top-nav .menu .top-buttons{display:none}}.top-nav .menu .top-buttons .button{margin-left:16px}.top-nav .menu .navigation{text-align:right;margin-bottom:4px}.top-nav .menu .navigation .link{border:none;display:inline-block;padding:4px 8px;color:#101010;margin-right:2px;line-height:48px;height:48px;vertical-align:middle;height:46px}.top-nav .menu .navigation .link:hover:not(.no-hover){border-bottom:2px solid #101010}@media screen and (max-width: 768px){.top-nav .menu .navigation .link.user-link{display:none}}.sidebar{padding-bottom:120px}.sidebar .search-wrapper{margin:-20px -15px 21px}.sidebar .search-wrapper input{border-radius:0}.sidebar a{color:#798897;overflow-wrap:break-word}.sidebar a:hover,.sidebar a.active{color:#E6282B}.sidebar h3{margin:1.6rem 0 .4rem;color:#211D1A;font-size:12px;text-transform:uppercase}.sidebar ul{padding:0 0 .26667rem 1.06667rem}.sidebar ul li{padding:.2rem 0}.sidebar li>ul{padding:0 0 0px 25px}.sidebar .category h2{color:#000;font-size:20px;margin-top:40px}#sidebarNav.sticky{left:0;transition:left 0.5s}@media screen and (max-width: 1023px){#sidebarNav{z-index:100;top:0;left:-300px;position:fixed;transition:left 0.5s;padding:28px;width:300px;bottom:0;overflow:auto;background:#fff}#sidebarNav .sidebar{padding-bottom:10px}}#stickyNavbarOverlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:40;background:rgba(0,0,0,0.2);display:none}#stickyNavbarOverlay.active{display:block}.side-nav a{color:#798897;overflow-wrap:break-word}.side-nav a:hover,.side-nav a.is-active{color:#E6282B}.side-nav a.is-past{opacity:0.7}.side-nav h3{margin:1.6rem 0 .4rem;color:#211D1A;font-size:12px;text-transform:uppercase}.side-nav ul{padding:0 0 .26667rem 1.06667rem}.side-nav ul li{padding:.2rem 0}@media screen and (max-width: 768px){.side-nav{display:none}}.footer{border-top:1px solid #EAEAF1;padding:20px;margin:0 -30px -30px;background:#F8F8F9}.footer .content{margin-bottom:0}.footer .fas{color:#E6282B}.footer a{font-weight:bold}.footer a:hover{color:#E6282B}.members{margin-top:24px}.member:not(:last-child):after{content:"";background:#EAEAF1;height:2px;display:block;margin:45px -40px 40px}.member>.is-pulled-right{position:relative;z-index:2}.member>.name{color:#211D1A;font-size:20px;line-height:26px;position:relative;margin-bottom:8px}.member>.name .code-name{font-family:"Inconsolata",monospace;display:block;font-size:25px;line-height:30px;margin-top:8px}.member>.name .code-name:first-child{margin-left:0}.member>.name .tag{position:relative;top:-1px;margin-right:3px}.member>.name .href-link{color:#211D1A;position:absolute;padding:1px;left:-20px;top:0;bottom:0;width:21px;opacity:0}.member>.name:hover .href-link{opacity:1}.member h5{font-size:20px}.member>.description{margin-bottom:25px}.member>.description p{font-size:20px;margin:25px 0}table.params,table.props{border:1px solid #EAEAF1;line-height:26px}table.params thead,table.props thead{border:none}table.params thead th,table.props thead th{font-weight:normal;padding:13px 26px}table.params tr,table.props tr{border-bottom:1px solid #EAEAF1}table.params td,table.props td{padding:13px 26px}table.params td.name code,table.props td.name code{background:transparent;padding:0;font-size:15px;color:#211D1A}table.params tr.deep-level-1,table.props tr.deep-level-1{background:#fafafa}table.params tr.deep-level-1 .name code,table.props tr.deep-level-1 .name code{padding-left:25px;margin-left:0px;border-left:1px solid #DEE1E5}table.params tr.deep-level-2,table.props tr.deep-level-2{background:#f5f5f5}table.params tr.deep-level-2 .name code,table.props tr.deep-level-2 .name code{padding-left:25px;margin-left:25px;border-left:1px solid #DEE1E5}table.params tr.deep-level-3,table.props tr.deep-level-3{background:#f0f0f0}table.params tr.deep-level-3 .name code,table.props tr.deep-level-3 .name code{padding-left:25px;margin-left:50px;border-left:1px solid #DEE1E5}table.params tr.deep-level-4,table.props tr.deep-level-4{background:#ebebeb}table.params tr.deep-level-4 .name code,table.props tr.deep-level-4 .name code{padding-left:25px;margin-left:75px;border-left:1px solid #DEE1E5}table.params tr.deep-level-5,table.props tr.deep-level-5{background:#e6e6e6}table.params tr.deep-level-5 .name code,table.props tr.deep-level-5 .name code{padding-left:25px;margin-left:100px;border-left:1px solid #DEE1E5}table.params tr.deep-level-6,table.props tr.deep-level-6{background:#e0e0e0}table.params tr.deep-level-6 .name code,table.props tr.deep-level-6 .name code{padding-left:25px;margin-left:125px;border-left:1px solid #DEE1E5}table.params tr.deep-level-7,table.props tr.deep-level-7{background:#dbdbdb}table.params tr.deep-level-7 .name code,table.props tr.deep-level-7 .name code{padding-left:25px;margin-left:150px;border-left:1px solid #DEE1E5}table.params tr.deep-level-8,table.props tr.deep-level-8{background:#d6d6d6}table.params tr.deep-level-8 .name code,table.props tr.deep-level-8 .name code{padding-left:25px;margin-left:175px;border-left:1px solid #DEE1E5}table.params tr.deep-level-9,table.props tr.deep-level-9{background:#d1d1d1}table.params tr.deep-level-9 .name code,table.props tr.deep-level-9 .name code{padding-left:25px;margin-left:200px;border-left:1px solid #DEE1E5}table.params tr.deep-level-10,table.props tr.deep-level-10{background:#ccc}table.params tr.deep-level-10 .name code,table.props tr.deep-level-10 .name code{padding-left:25px;margin-left:225px;border-left:1px solid #DEE1E5}.prettyprint{border-radius:2px;background-color:#2F4858}.prettyprint code{font-family:"Inconsolata",monospace}pre.prettyprint li.L0,pre.prettyprint li.L1,pre.prettyprint li.L2,pre.prettyprint li.L3,pre.prettyprint li.L4,pre.prettyprint li.L5,pre.prettyprint li.L6,pre.prettyprint li.L7,pre.prettyprint li.L8,pre.prettyprint li.L9{background:none}.button{transition:all 0.2s;border-radius:4px;padding:8px 24px;height:40px;border-color:#4268F6;color:#4268F6}.button:hover{color:#535B8E;border-color:#535B8E;transition:all 0.2s}.button.is-primary{background-color:#4268F6}.button.is-primary:hover{background-color:#535B8E}.button.is-primary.is-outlined{border-color:#4268F6;color:#4268F6}.button.is-primary.is-outlined:hover{border-color:#535B8E;color:#535B8E;background:transparent}.button.is-success{background:#69D6D4}.button.is-white.is-outlined{background:transparent;border-color:#fff}.button>i:first-child{margin-right:8px;margin-left:-8px}.tag-source{margin:28px 0}.tag-source span{display:inline-block;padding:13px 14px}.tag-source span a{color:#EAEAF1}.tag-source span a:hover{color:#798897}.method-parameter{font-size:20px}.method-parameter label{color:18px}.method-parameter ul{margin:0 0 0 25px}.mermaid .edgeLabel{background:white;color:#2F4858;font-size:15px;font-weight:normal}.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node rect{fill:rgba(248,249,250,0.8) !important;stroke:rgba(121,136,151,0.6) !important}.mermaid .cluster rect{fill:rgba(125,132,255,0.1) !important;stroke:rgba(125,132,255,0.5) !important}.mermaid .node g.label{color:#2F4858}.mermaid .node g.label div{font-weight:normal;font-size:15px}.tag{text-transform:uppercase}.details dt{font-size:20px;border-left:2px solid #008DDF;padding-left:16px} diff --git a/docs/styles/iframe.css b/docs/styles/iframe.css deleted file mode 100644 index 84dec063..00000000 --- a/docs/styles/iframe.css +++ /dev/null @@ -1,13 +0,0 @@ -.bd__button { - padding: 10px 0; - text-align: right; -} -.bd__button > a{ - font-weight: 100; - text-decoration: none; - color: #BDC3CB; - font-family: sans-serif; -} -.bd__button > a:hover { - color: #798897; -} \ No newline at end of file diff --git a/docs/styles/prettify-jsdoc.css b/docs/styles/prettify-jsdoc.css deleted file mode 100644 index 5a2526e3..00000000 --- a/docs/styles/prettify-jsdoc.css +++ /dev/null @@ -1,111 +0,0 @@ -/* JSDoc prettify.js theme */ - -/* plain text */ -.pln { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* string content */ -.str { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a keyword */ -.kwd { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a comment */ -.com { - font-weight: normal; - font-style: italic; -} - -/* a type name */ -.typ { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a literal value */ -.lit { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* punctuation */ -.pun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp open bracket */ -.opn { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp close bracket */ -.clo { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a markup tag name */ -.tag { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute name */ -.atn { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute value */ -.atv { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a declaration */ -.dec { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a variable name */ -.var { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a function name */ -.fun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} diff --git a/docs/styles/prettify-tomorrow.css b/docs/styles/prettify-tomorrow.css deleted file mode 100644 index b6f92a78..00000000 --- a/docs/styles/prettify-tomorrow.css +++ /dev/null @@ -1,132 +0,0 @@ -/* Tomorrow Theme */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* Pretty printing styles. Used with prettify.js. */ -/* SPAN elements with the classes below are added by prettyprint. */ -/* plain text */ -.pln { - color: #4d4d4c; } - -@media screen { - /* string content */ - .str { - color: #718c00; } - - /* a keyword */ - .kwd { - color: #8959a8; } - - /* a comment */ - .com { - color: #8e908c; } - - /* a type name */ - .typ { - color: #4271ae; } - - /* a literal value */ - .lit { - color: #f5871f; } - - /* punctuation */ - .pun { - color: #4d4d4c; } - - /* lisp open bracket */ - .opn { - color: #4d4d4c; } - - /* lisp close bracket */ - .clo { - color: #4d4d4c; } - - /* a markup tag name */ - .tag { - color: #c82829; } - - /* a markup attribute name */ - .atn { - color: #f5871f; } - - /* a markup attribute value */ - .atv { - color: #3e999f; } - - /* a declaration */ - .dec { - color: #f5871f; } - - /* a variable name */ - .var { - color: #c82829; } - - /* a function name */ - .fun { - color: #4271ae; } } -/* Use higher contrast and text-weight for printable form. */ -@media print, projection { - .str { - color: #060; } - - .kwd { - color: #006; - font-weight: bold; } - - .com { - color: #600; - font-style: italic; } - - .typ { - color: #404; - font-weight: bold; } - - .lit { - color: #044; } - - .pun, .opn, .clo { - color: #440; } - - .tag { - color: #006; - font-weight: bold; } - - .atn { - color: #404; } - - .atv { - color: #060; } } -/* Style */ -/* -pre.prettyprint { - background: white; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 12px; - line-height: 1.5; - border: 1px solid #ccc; - padding: 10px; } -*/ - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; } - -/* IE indents via margin-left */ -li.L0, -li.L1, -li.L2, -li.L3, -li.L4, -li.L5, -li.L6, -li.L7, -li.L8, -li.L9 { - /* */ } - -/* Alternate shading for lines */ -li.L1, -li.L3, -li.L5, -li.L7, -li.L9 { - /* */ } diff --git a/docs/styles/reset.css b/docs/styles/reset.css deleted file mode 100644 index 5a808c77..00000000 --- a/docs/styles/reset.css +++ /dev/null @@ -1,44 +0,0 @@ -/* reset css */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/docs/utils_IPFS.js.html b/docs/utils_IPFS.js.html deleted file mode 100644 index a8f20d41..00000000 --- a/docs/utils_IPFS.js.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - - - - BEPRO Network Dev Docs utils/IPFS.js - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    -
    -
    -

    Source

    -

    utils/IPFS.js

    -
    - - - - - -
    -
    -
    /* eslint-disable */
    -import { create } from 'ipfs-http-client';
    -
    -
    -/**
    - * DexStorage Object
    - * @class DexStorage
    - * @param {Object} params Parameters
    - * @param {String} params.ipfsClientHTTP Optional, IPFS Infura Node API or object 
    - */
    -class DexStorage {
    -  constructor({ipfsClientHTTP}={ipfsClientHTTP : { host: 'ipfs.infura.io', port: 5001, protocol: 'https' }}) {
    -    if(!ipfsClientHTTP){
    -      throw new Error("Please provide a valid ipfsClientHTTP, you can find one at infura.io")
    -    }
    -    this.ipfs = create(ipfsClientHTTP);
    -  }
    -
    -  /**
    -   * @function
    -   * @description Save Data
    -   * @param {Object} params Parameters
    -   * @param {String} params.data Data String, if image blob info 
    -   * @returns {String} CID (Hash to be used to access the params.data later)
    -   */
    -  async save({data}){
    -    const { path, cid, size } = await this.ipfs.add(data);
    -    return { path, cid, size };
    -  }
    -
    -  /**
    -   * @function
    -   * @description Get Data
    -   * @param {Object} params Parameters
    -   * @param {String} params.cid CID String, if image blob info 
    -   * @returns {String} data (Hash to be used to access the params.data later)
    -   */
    -   async get({cid}){
    -    return new Promise( async (resolve, reject) => {
    -      try{
    -        for await (const file of this.ipfs.get(cid)) {
    -          if (!file.content) continue;
    -          const content = []
    -          for await (const chunk of file.content) {
    -            content.push(chunk)
    -          }
    -          resolve(content.toString())
    -        }
    -      }catch(err){
    -        reject(err);
    -      }
    -    })
    -  }
    -}
    -
    -export default DexStorage;
    -
    -
    -
    - - - - -
    - - - -
    -
    -
    -
    - - - - - - diff --git a/index.js b/index.js index 95df9ee8..da263178 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,3 @@ -import Application from './build/Application'; +const app = require('./build/index.js'); -export { - Application, -}; +module.exports = app; diff --git a/package.json b/package.json index cab1fdf3..99c74712 100755 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "bepro-js", - "version": "1.2.5-beta", + "version": "1.2.9", "description": "", "main": "index.js", "engines": { - "node": "8.12.0" + "node": "^14.17.0" }, "directories": { "test": "test" @@ -14,36 +14,46 @@ "url": "https://github.com/betprotocol/bepro-js.git" }, "scripts": { - "pretest": "npm run build && truffle compile && truffle migrate --network development", - "test": "./node_modules/.bin/mocha ./tests/index.js --timeout 3000000 --require babel-core/register --require babel-polyfill --reporter mocha-multi-reporters", - "test:truffle": "truffle test --network development ./tests/contracts/erc20TokenLock-truffle.js", + "pretest": "yarn build && ./node_modules/.bin/truffle compile && ./node_modules/.bin/truffle migrate --network development", + "test": "./node_modules/.bin/mocha --exit ./tests/index.js --timeout 3000000 --require babel-core/register --require @babel/polyfill --reporter mocha-multi-reporters", + "test:truffle": "./node_modules/.bin/truffle test --network development ./tests/contracts/erc20TokenLock-truffle.js", "index": "babel-node ./index.js --presets es2015,stage-2", - "build": "babel ./src --out-dir lib --copy-files -d ./build && npm run compile", - "compile": "truffle compile", - "clean:contracts": "rimraf build/contracts && truffle compile", - "docs": "npm run build && npm run jsdoc:build && npm run jsdoc:serve", + "build": "yarn compile && babel ./src --out-dir lib --copy-files -d ./build", + "compile": "./node_modules/.bin/truffle compile", + "clean:contracts": "rimraf build/contracts && ./node_modules/.bin/truffle compile", + "docs": "yarn build && yarn jsdoc:build && yarn jsdoc:serve", "jsdoc:build": "jsdoc -t ./node_modules/better-docs src -r -c docs-src/jsdoc.json", "jsdoc:serve": "http-server ./docs/ -o", - "prebuild": "npm run jsdoc:build", "lint": "eslint ./src --cache", "lint:fix": "eslint ./src --fix", - "ganache:start": "ganache-cli -p 8545", - "watch": "onchange 'src/**/*.js' -- npm run build" + "ganache:start": "ganache-cli -p 8545 -q", + "watch": "yarn build && onchange 'src/**/*.js' -- yarn build", + "install": "( [ ! -d ./build ] && [ ! -f ./built ] && echo \"\" > ./built && yarn install && yarn build ) || echo \"Already built\"" }, "pre-commit": [ "lint:fix", - "jsdoc:build", - "build" + "build", + "jsdoc:build" ], "dependencies": { + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.0.0", + "@babel/plugin-proposal-export-namespace-from": "^7.0.0", + "@babel/plugin-proposal-function-sent": "^7.0.0", + "@babel/plugin-proposal-json-strings": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", + "@babel/plugin-proposal-throw-expressions": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-import-meta": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/runtime": "^7.16.0", + "@babel/runtime-corejs3": "^7.16.3", "@openzeppelin/contracts": "^3.4.1", "abi-decoder": "^1.2.0", "accounting": "^0.4.1", - "babel-cli": "^6.26.0", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.6.1", - "babel-preset-es2017": "^6.24.1", - "babel-preset-stage-2": "^6.24.1", + "babel-plugin-transform-remove-console": "^6.9.4", "big-number": "^2.0.0", "bn.js": "^5.1.3", "chai": "^4.2.0", @@ -51,9 +61,11 @@ "dayjs": "^1.9.4", "delay": "^4.4.0", "dotenv": "^8.2.0", + "electron": "^15.3.1", "execution-time": "^1.4.1", "express": "^4.17.1", "fs": "0.0.1-security", + "ipfs-http-client": "^50.0.0", "jsdoc-template": "^1.2.0", "left-pad": "^1.3.0", "lodash": "^4.17.10", @@ -61,45 +73,31 @@ "moment": "^2.21.0", "mongoose": "^5.9.5", "randomhex": "^0.1.5", - "web3": "1.0.0-beta.53" + "truffle": "5.1.7", + "web3": "^1.3.6" }, "devDependencies": { - "babel-eslint": "^8.2.6", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-register": "^6.26.0", + "@babel/eslint-parser": "^7.16.0", + "@babel/node": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/register": "^7.0.0", + "babel-plugin-transform-remove-console": "^6.9.4", "better-docs": "^2.3.2", - "eslint": "^6.8.0", - "eslint-config-airbnb-base": "^13.1.0", - "eslint-config-prettier": "5.0.0", + "eslint": "^8.2.0", + "eslint-config-airbnb-base": "^15.0.0", "eslint-plugin-import": "^2.22.1", - "eslint-plugin-prettier": "3.1.0", "ganache-cli": "^6.12.2", "gitbook-cli": "^2.3.2", - "onchange": "^2.4.0", "http-server": "^0.12.3", "jsdoc": "^3.6.6", "jsdoc-babel": "^0.5.0", "jsdoc-md": "^8.0.0", "jsdoc-to-markdown": "^6.0.1", "mocha-multi-reporters": "^1.5.1", + "onchange": "^2.4.0", "pre-commit": "^1.2.2", "should": "^7.1.0", - "supertest": "^1.0.0", - "truffle": "5.1.7" - }, - "babel": { - "presets": [ - "env", - "es2015", - "stage-2" - ], - "plugins": [ - "transform-runtime" - ], - "sourceMaps": true, - "retainLines": true + "supertest": "^1.0.0" }, "author": "", "license": "ISC" diff --git a/src/Application.js b/src/Application.js index 9bd1b823..47240ad2 100644 --- a/src/Application.js +++ b/src/Application.js @@ -1,350 +1,6 @@ -/* global window */ -/* eslint-disable max-len */ -import Web3 from 'web3'; -import { - ExchangeContract, - ERC20Contract, - StakingContract, - BEPRONetwork, - ERC20TokenLock, - ERC721Contract, - ERC721Collectibles, - OpenerRealFvr, - MarketplaceRealFvr, -} from './models/index'; -import Account from './utils/Account'; +import Web3Connection from './Web3Connection'; -const ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b'; -// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too -const ETH_URL_LOCAL_TEST = 'http://localhost:8545'; -const TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; -// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7'; - -const networksEnum = Object.freeze({ - 1: 'Ethereum Main', - 2: 'Morden', - 3: 'Ropsten', - 4: 'Rinkeby', - 56: 'BSC Main', - 97: 'BSC Test', - 42: 'Kovan', -}); - -/** - * Application Object - * @class Application - * @param {Object} params Parameters - * @param {Bool} params.test Automated Tests / Default : False - * @param {Bool} params.localtest Ganache Local Blockchain / Default : False - * @param {Object} params.opt Optional Chain Connection Object (Default ETH) - * @param {String} params.opt.web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545) - * @param {String} params.opt.privateKey Private key (0x....) used for server side use - */ -class Application { - constructor({ - test = false, // Automated tests - localtest = false, // ganache local blockchain - opt = { - web3Connection: ETH_URL_TESTNET, - privateKey: TEST_PRIVATE_KEY, - }, - }) { - this.test = test; - this.localtest = localtest; - this.opt = opt; - if (this.test) { - this.start(); - this.login(); - if (!this.localtest) { - this.account = new Account( - this.web3, - this.web3.eth.accounts.privateKeyToAccount(opt.privateKey), - ); - console.log(`My address: ${this.account.getAddress()}`); - } - // /this.account = new Account(this.web3, this.web3.eth.accounts.privateKeyToAccount(LOCAL_TEST_PRIVATE_KEY)); - } - } - - /** - * @function - * @description Connect to Web3 injected in the constructor - */ - start = () => { - if (this.localtest) { - this.web3 = new Web3( - new Web3.providers.HttpProvider(ETH_URL_LOCAL_TEST), - // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks - null, - { transactionConfirmationBlocks: 1 }, - ); - } else if (this.opt.web3Connection.toLowerCase().includes('http')) { - this.web3 = new Web3(new Web3.providers.HttpProvider(this.opt.web3Connection)); - } else { - this.web3 = new Web3(new Web3.providers.WebsocketProvider(this.opt.web3Connection)); - } - - - if (typeof window !== 'undefined') { - window.web3 = this.web3; - } else if (!this.test) { - throw new Error( - 'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet', - ); - } - }; - - /** - * @function - * @description Login with Metamask/Web3 Wallet - substitutes start() - */ - login = async () => { - try { - if (typeof window === 'undefined') { - return false; - } - if (window.ethereum) { - window.web3 = new Web3(window.ethereum); - this.web3 = window.web3; - await window.ethereum.enable(); - return true; - } - return false; - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a Exchange Contract - * @param {Object} params - * @param {Address} params.ContractAddress (Opt) If it is deployed - * @return {ExchangeContract} ExchangeContract - */ - getExchangeContract = ({ contractAddress = null } = {}) => { - try { - return new ExchangeContract({ - web3: this.web3, - contractAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a OpenerRealFvr Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {OpenerRealFvr} OpenerRealFvr - */ - getOpenRealFvrContract = ({ - contractAddress = null, - tokenAddress = null, - } = {}) => { - try { - return new OpenerRealFvr({ - web3: this.web3, - contractAddress, - tokenAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a MarketplaceRealFvr Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {MarketplaceRealFvr} MarketplaceRealFvr - */ - getMarketplaceRealFvrContract = ({ - contractAddress = null, - } = {}) => { - try { - return new MarketplaceRealFvr({ - web3: this.web3, - contractAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a StakingContract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {StakingContract} StakingContract - */ - getStakingContract = ({ - contractAddress = null, - tokenAddress = null, - } = {}) => { - try { - return new StakingContract({ - web3: this.web3, - contractAddress, - tokenAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a ERC20TokenLock Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @param {Address} params.tokenAddress (Opt) If it is deployed - * @return {ERC20TokenLock} ERC20TokenLock - */ - getERC20TokenLock = ({ - contractAddress = null, - tokenAddress = null, - } = {}) => { - try { - return new ERC20TokenLock({ - web3: this.web3, - contractAddress, - tokenAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a BEPRONetwork Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {BEPRONetwork} BEPRONetwork - */ - getBEPRONetwork = ({ - contractAddress = null, - tokenAddress = null, - } = {}) => { - try { - return new BEPRONetwork({ - web3: this.web3, - contractAddress, - tokenAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a ERC721Collectibles Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC721Collectibles} ERC721Collectibles - */ - getERC721Collectibles = ({ contractAddress = null } = {}) => { - try { - return new ERC721Collectibles({ - web3: this.web3, - contractAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a ERC20Contract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC20Contract} ERC20Contract - */ - getERC20Contract = ({ contractAddress = null }) => { - try { - return new ERC20Contract({ - web3: this.web3, - contractAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** - * @function - * @description Create a ERC721Contract Object - * @param {Object} params - * @param {Address} params.contractAddress (Opt) If it is deployed - * @return {ERC721Contract} ERC721Contract - */ - getERC721Contract = ({ contractAddress = null }) => { - try { - return new ERC721Contract({ - web3: this.web3, - contractAddress, - acc: this.test && !this.localtest ? this.account : null, - }); - } catch (err) { - throw err; - } - }; - - /** ***** */ - /** UTILS */ - /** ***** */ - - /** - * @function - * @description Get ETH Network - * @return {String} Network Name (Ex : Kovan) - */ - getETHNetwork = async () => { - const netId = await this.web3.eth.net.getId(); - // eslint-disable-next-line no-prototype-builtins - const networkName = networksEnum.hasOwnProperty(netId) - ? networksEnum[netId] - : 'Unknown'; - return networkName; - }; - - /** - * @function - * @description Get Address connected via login() - * @return {Address} Address in Use - */ - getAddress = async () => { - const accounts = await this.web3.eth.getAccounts(); - return accounts[0]; - }; - - /** - * @function - * @description Get ETH Balance of Address connected via login() - * @return {Integer} ETH Balance - */ - getETHBalance = async () => { - const wei = await this.web3.eth.getBalance(await this.getAddress()); - return this.web3.utils.fromWei(wei, 'ether'); - }; +class Application extends Web3Connection { } export default Application; diff --git a/src/Web3Connection.js b/src/Web3Connection.js new file mode 100644 index 00000000..9158c32e --- /dev/null +++ b/src/Web3Connection.js @@ -0,0 +1,184 @@ +import Web3 from 'web3'; +import Account from './utils/Account'; + +const ETH_URL_TESTNET = 'https://rinkeby.infura.io/v3/811fe4fa5c4b41cb9b92f9656aaeaa3b'; +// you can find this in "./truffle-config.js" file and should match ganache/ganache-cli local server settings too +const ETH_URL_LOCAL_TEST = 'http://localhost:8545'; +const TEST_PRIVATE_KEY = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; +// const LOCAL_TEST_PRIVATE_KEY = '4f4f26f4a82351b1f9a98623f901ad5fb2f3e38ac92ff39955ee8e124c718fa7'; + +const networksEnum = Object.freeze({ + 1: 'Ethereum Main', + 2: 'Morden', + 3: 'Ropsten', + 4: 'Rinkeby', + 56: 'BSC Main', + 97: 'BSC Test', + 42: 'Kovan', +}); + +/** + * @typedef {Object} Web3Connection~Optional + * @property {string} web3Connection Web3 Connection String (Ex : https://data-seed-prebsc-1-s1.binance.org:8545) + * @property {string} privateKey Private key (0x....) used for server side use + */ + +/** + * @typedef {Object} Web3Connection~Options + * @property {boolean} [test=false] Automated Tests + * @property {boolean} [localtest=false] Ganache Local Blockchain + * @property {web3Connection~Optional} [opt] Optional Chain Connection Object (Default ETH) + * @property {provider~Optional} [opt] Directly supply any web3 provider, automatically calls start() + */ + +/** + * Web3Connection Object + * @class Web3Connection + * @param {Web3Connection~Options} options + */ +class Web3Connection { + constructor({ + test = false, // Automated tests + localtest = false, // ganache local blockchain + opt = { + privateKey: TEST_PRIVATE_KEY, + provider: null, + web3Connection: ETH_URL_TESTNET, + }, + }) { + this.test = test; + this.localtest = localtest; + this.opt = opt; + + // If a provider is supplied, we assume all connection logic is on its side. + if (opt.provider) { + this.start(opt.provider); + } + + if (this.test) { + this.start(); + this.login(); + if (!this.localtest) { + this.account = new Account( + this.web3, + this.web3.eth.accounts.privateKeyToAccount(opt.privateKey), + ); + } + } + } + + /** **** */ + /** * CORE */ + /** **** */ + + /** + * Connect to Web3 injected in the constructor + * @function + * @typedef {provider~Optional} [opt] Directly supply any web3 provider, to skip both start() and login() + * @throws {Error} Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet + * @void + */ + start(provider) { + if (provider) { + this.web3 = new Web3(provider); + } else if (this.localtest) { + this.web3 = new Web3( + new Web3.providers.HttpProvider(ETH_URL_LOCAL_TEST), + // NOTE: depending on your web3 version, you may need to set a number of confirmation blocks + null, + { transactionConfirmationBlocks: 1 }, + ); + } else if (this.opt.web3Connection.toLowerCase().includes('http')) { + this.web3 = new Web3(new Web3.providers.HttpProvider(this.opt.web3Connection)); + } else { + this.web3 = new Web3(new Web3.providers.WebsocketProvider(this.opt.web3Connection)); + } + + if (!this.localtest && this.test) { + this.account = new Account( + this.web3, + this.web3.eth.accounts.privateKeyToAccount(this.opt.privateKey), + ); + } + + if (typeof window !== 'undefined') { + window.web3 = this.web3; + } else if (!this.test) { + throw new Error( + 'Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet', + ); + } + } + + /** + * Login with Metamask/Web3 Wallet - substitutes start() + * @function + * @return {Promise} + */ + async login() { + if (typeof window === 'undefined') { + return false; + } + if (window.ethereum) { + window.web3 = new Web3(window.ethereum); + this.web3 = window.web3; + await window.ethereum.enable(); + return true; + } + return false; + } + + /** ***** */ + /** UTILS */ + /** ***** */ + + /** + * Get ETH Network + * @function + * @return {Promise} Network Name (Ex : Kovan) + */ + async getETHNetwork() { + const netId = await this.web3.eth.net.getId(); + // eslint-disable-next-line no-prototype-builtins + const networkName = networksEnum.hasOwnProperty(netId) + ? networksEnum[netId] + : await this.web3.currentProvider.host; // 'Unknown'; + return networkName; + } + + /** + * Get Address connected + * @function + * @return {Promise} Address in Use + */ + async getAddress() { + if (this.account) { + return this.account.getAddress(); + } + + const accounts = await this.web3.eth.getAccounts(); + return accounts[0]; + } + + /** + * Get ETH Balance of Address connected + * @function + * @return {Promise} ETH Balance + */ + async getETHBalance() { + const address = await this.getAddress(); + const wei = await this.web3.eth.getBalance(address); + return this.web3.utils.fromWei(wei, 'ether'); + } + + /** + * Get Web3 to access functions as https://ethereum.stackexchange.com/questions/66454/how-to-get-events-emitted-by-a-transaction-with-web3-js + * @function + * @return {Web3} Web3 + */ + async getWeb3() { + return this.web3; + } +} + +export default Web3Connection; diff --git a/src/index.js b/src/index.js new file mode 100644 index 00000000..f3ffa864 --- /dev/null +++ b/src/index.js @@ -0,0 +1,9 @@ +import Application from './Application'; +import DexStorage from './utils/IPFS'; + +export * from './models'; + +export { + Application, + DexStorage, +}; diff --git a/src/interfaces/index.js b/src/interfaces/index.js index 3122289e..88bc164d 100644 --- a/src/interfaces/index.js +++ b/src/interfaces/index.js @@ -1,14 +1,15 @@ -/* eslint-disable global-require */ +/* eslint-disable global-require , import/no-unresolved, import/no-extraneous-dependencies */ const index = { - exchange: require('../../build/contracts/Exchange.json'), - staking: require('../../build/contracts/StakingContract.json'), - tokenlock: require('../../build/contracts/ERC20TokenLock.json'), - ierc20: require('../../build/contracts/Token.json'), - erc721collectibles: require('../../build/contracts/ERC721Colectibles.json'), - erc721contract: require('../../build/contracts/ERC721Standard.json'), - beproNetwork: require('../../build/contracts/BEPRONetwork.json'), - openerRealFvr: require('../../build/contracts/OpenerRealFvr.json'), - marketplaceRealFvr: require('../../build/contracts/MarketplaceRealFvr.json'), + staking: require('../contracts/StakingContract.json'), + voting: require('../contracts/Votable.json'), + tokenlock: require('../contracts/ERC20TokenLock.json'), + ierc20: require('../contracts/Token.json'), + erc721collectibles: require('../contracts/ERC721Colectibles.json'), + erc721standard: require('../contracts/ERC721Standard.json'), + network: require('../contracts/Network.json'), + networkFactory: require('../contracts/NetworkFactory.json'), + openerRealFvr: require('../contracts/OpenerRealFvr.json'), + marketplaceRealFvr: require('../contracts/MarketplaceRealFvr.json'), }; module.exports = index; diff --git a/src/models/BEPRO/Network.js b/src/models/BEPRO/Network.js index ce678908..8b7e6f79 100644 --- a/src/models/BEPRO/Network.js +++ b/src/models/BEPRO/Network.js @@ -1,24 +1,35 @@ /* eslint-disable no-underscore-dangle */ // eslint-disable-next-line no-unused-vars -import _ from 'lodash'; -import { beproNetwork } from '../../interfaces'; +import { network } from '../../interfaces'; import Numbers from '../../utils/Numbers'; import IContract from '../IContract'; import ERC20Contract from '../ERC20/ERC20Contract'; -const beproAddress = '0xCF3C8Be2e2C42331Da80EF210e9B1b307C03d36A'; +/** + * @typedef {Object} Network~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ /** - * BEPRONetwork Object - * @class BEPRONetwork - * @param {Object} params Parameters - * @param {Address} params.contractAddress Optional/If Existent + * Network Object + * @class Network + * @param {Network~Options} options */ -class BEPRONetwork extends IContract { + +class Network extends IContract { constructor(params) { - super({ abi: beproNetwork, ...params }); + super({ abi: network, ...params }); } + /** + * Asserts the 2 {@link ERC20Contract} on the current address + * @function + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ __assert = async () => { if (!this.getAddress()) { throw new Error( @@ -27,24 +38,34 @@ class BEPRONetwork extends IContract { } // Use ABI - this.params.contract.use(beproNetwork, this.getAddress()); + this.params.contract.use(network, this.getAddress()); + + const transactionalAddress = await this.getTransactionTokenAddress(); + const settlerAddresss = await this.getSettlerTokenAddress(); // Set Token Address Contract for easy access - this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, - contractAddress: beproAddress, - acc: this.acc, + this.params.transactionalToken = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: transactionalAddress, }); + // Set Token Address Contract for easy access + this.params.settlerToken = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: settlerAddresss, + }); // Assert Token Contract - await this.params.ERC20Contract.__assert(); + await this.params.transactionalToken.start(); + await this.params.transactionalToken.__assert(); + // Assert Token Contract + await this.params.settlerToken.start(); + await this.params.settlerToken.__assert(); }; /** - * @function - * @description Get Open Issues Available + * Get Open Issues Available * @param {Address} address - * @returns {Integer | Array} + * @returns {number[]} */ async getIssuesByAddress(address) { const res = await this.params.contract @@ -52,13 +73,12 @@ class BEPRONetwork extends IContract { .methods.getIssuesByAddress(address) .call(); - return res.map(r => parseInt(r, 10)); + return res.map((r) => parseInt(r, 10)); } /** - * @function - * @description Get Amount of Issues Opened in the network - * @returns {Integer} + * Get Amount of Issues Opened in the network + * @returns {Promise} */ async getAmountofIssuesOpened() { return parseInt( @@ -68,9 +88,8 @@ class BEPRONetwork extends IContract { } /** - * @function - * @description Get Amount of Issues Closed in the network - * @returns {Integer} + * Get Amount of Issues Closed in the network + * @returns {Promise} */ async getAmountofIssuesClosed() { return parseInt( @@ -80,9 +99,19 @@ class BEPRONetwork extends IContract { } /** - * @function - * @description Get Amount of Needed for Approve - * @returns {Integer} + * Get Amount of Disputers (people who locked BEPRO) in the network + * @returns {Promise} + */ + async getAmountOfDisputers() { + return parseInt( + await this.params.contract.getContract().methods.oraclersArray().call(), + 10, + ); + } + + /** + * Get Amount of Needed for Approve + * @returns {Promise} */ async percentageNeededForApprove() { return parseInt( @@ -95,9 +124,8 @@ class BEPRONetwork extends IContract { } /** - * @function - * @description Get Amount of Needed for Dispute - * @returns {Integer} + * @description Get Amount of % Needed for Dispute + * @returns {Promise} */ async percentageNeededForDispute() { return parseInt( @@ -109,228 +137,289 @@ class BEPRONetwork extends IContract { ); } - /** - * @function - * @description Get Amount of Needed for Merge - * @returns {Integer} + * @description Get Amount of Merge Fee Share + * @returns {Promise} */ - async percentageNeededForMerge() { + async mergeCreatorFeeShare() { return parseInt( await this.params.contract .getContract() - .methods.percentageNeededForMerge() + .methods.mergeCreatorFeeShare() .call(), 10, ); } /** - * @function - * @description Get Total Amount of BEPRO Staked for Tickets in the network - * @returns {Integer} + * @description Get Time of disputableTime + * @returns {Promise} */ - async getBEPROStaked() { - return Numbers.fromDecimals( - await this.params.contract.getContract().methods.totalStaked().call(), - 18, + async disputableTime() { + return Numbers.fromSmartContractTimeToMinutes( + await this.params.contract + .getContract() + .methods.disputableTime() + .call(), + 10, ); } /** - * @function - * @description GetTotal amount of time where an issue has to be approved - * @returns {Date} + * @description Get Time of redeemTime + * @returns {Promise} */ - async timeOpenForIssueApprove() { - return Numbers.fromSmartContractTimeToMinutes( + async redeemTime() { + return Numbers.redeemTime( await this.params.contract .getContract() - .methods.timeOpenForIssueApprove() + .methods.redeemTime() .call(), + 10, ); } /** - * @function - * @description Get Total Amount of BEPRO Staked for Tickets in the network - * @returns {Integer} + * Get Amount of Needed for Merge + * @returns {Promise} */ - async beproVotesStaked() { - return Numbers.fromDecimals( + async percentageNeededForMerge() { + return parseInt( await this.params.contract .getContract() - .methods.beproVotesStaked() + .methods.percentageNeededForMerge() .call(), + 10, + ); + } + + /** + * Get Total Amount of Tokens Staked for Bounties in the Network + * @returns {Promise} + */ + async getTokensStaked() { + return Numbers.fromDecimals( + await this.params.contract.getContract().methods.totalStaked().call(), 18, ); } /** - * @function - * @description Get Total Amount of BEPRO Staked for Council in the network - * @returns {Integer} + * Get Total Amount of BEPRO Staked for Oracles + * @returns {Promise} */ - async COUNCIL_BEPRO_AMOUNT() { + async getBEPROStaked() { return Numbers.fromDecimals( - await this.params.contract - .getContract() - .methods.COUNCIL_BEPRO_AMOUNT() - .call(), + await this.params.contract.getContract().methods.oraclesStaked().call(), 18, ); } /** - * @function - * @description Get Total Amount of BEPRO Staked for Operator in the network - * @returns {Integer} + * Get Total Amount of Tokens Staked in the network + * @returns {Promise} */ - async OPERATOR_BEPRO_AMOUNT() { + async votesStaked() { return Numbers.fromDecimals( await this.params.contract .getContract() - .methods.OPERATOR_BEPRO_AMOUNT() + .methods.votesStaked() .call(), 18, ); } /** - * @function - * @description Get Total Amount of BEPRO Staked for Developer in the network - * @returns {Integer} + * Get Transaction Token Address + * @returns {Promise
    } */ - async DEVELOPER_BEPRO_AMOUNT() { + getTransactionTokenAddress() { + return this.params.contract + .getContract() + .methods.transactionToken() + .call(); + } + + /** + * Verify if Address is Council + * @param {Object} params + * @param {number} params.address + * @returns {Promise
    } + */ + async isCouncil({ address }) { + return await this.getOraclesByAddress({ address }) >= await this.COUNCIL_AMOUNT(); + } + + /** + * Get Settler Token Address + * @returns {Promise
    } + */ + getSettlerTokenAddress() { + return this.params.contract + .getContract() + .methods.settlerToken() + .call(); + } + + /** + * Get Amount Needed for Council + * @returns {Promise} + */ + async COUNCIL_AMOUNT() { return Numbers.fromDecimals( await this.params.contract .getContract() - .methods.DEVELOPER_BEPRO_AMOUNT() + .methods.COUNCIL_AMOUNT() .call(), 18, ); } /** - * @function - * @description Is issue Approved - * @param {Integer} issueId - * @returns {Bool} + * Get Amount Needed for Council + * @returns {Promise} */ - async isIssueApproved({ issueId }) { - return await this.params.contract - .getContract() - .methods.isIssueApproved(issueId) - .call(); + + /** + * Change amount needed for Council + * @param {Object} params + * @param {number} params.value + * @return {Promise} + */ + changeCouncilAmount({ value }, options) { + return this.__sendTx( + this.params.contract.getContract().methods.changeCOUNCIL_AMOUNT(Numbers.toSmartContractDecimals(value, this.getSettlerTokenContract().getDecimals())), + options, + ); } /** - * @function - * @description Is issue available to be approved (time wise) - * @param {Integer} issueId - * @returns {Bool} + * Verify if Issue is still in Draft Mode (Available to use the redeemIssue Action) + * @param {Object} params + * @param {number} params.issueId + * @returns {Promise} */ - async isIssueApprovable({ issueId }) { - return await this.params.contract + isIssueInDraft({ issueId }) { + return this.params.contract .getContract() - .methods.isIssueApprovable(issueId) + .methods.isIssueInDraft(issueId) .call(); } /** - * @function - * @description Is issue mergeable - * @param {Integer} issueId - * @param {Integer} mergeId - * @returns {Bool} + * Verify if Merge is disputed (i.e. was rejected by the network holders) + * @param {Object} params + * @param {number} params.issueId + * @param {number} params.mergeId + * @returns {Promise} */ - async isIssueMergeable({ issueId, mergeId }) { - return await this.params.contract + isMergeDisputed({ issueId, mergeId }) { + return this.params.contract .getContract() - .methods.isIssueMergeable(issueId, mergeId) + .methods.isMergeDisputed(issueId, mergeId) .call(); } /** - * @function - * @description Is issue mergeable - * @param {Integer} issueId - * @param {Integer} mergeId - * @returns {Bool} + * Get Issue Id Info + * @param {Object} params + * @param {Address} params.address + * @returns {Promise} Number of votes */ - async isMergeTheOneWithMoreVotes({ issueId, mergeId }) { - return await this.params.contract + async getOraclesByAddress({ address }) { + const r = await this.params.contract .getContract() - .methods.isMergeTheOneWithMoreVotes(issueId, mergeId) + .methods.getOraclesByAddress(address) .call(); + return Numbers.fromDecimals(r, 18); } /** - * @function - * @description Get Issue Id Info - * @param {Address} address - * @returns {Integer} votes + * Get Oralces By Address + * @param {Object} params + * @param {Address} params.address + * @returns {Integer} oraclesDelegatedByOthers + * @returns {Array | Integer} amounts + * @returns {Array | Address} addresses + * @returns {Integer} tokensLocked */ - - async getVotesByAddress({ address }) { + async getOraclesSummary({ address }) { const r = await this.params.contract .getContract() - .methods.getVotesByAddress(address) + .methods.getOraclesSummary(address) .call(); - return Numbers.fromDecimals(r, 18); + + return { + oraclesDelegatedByOthers: Numbers.fromDecimals(r[0], 18), + amounts: r[1] ? r[1].map((a) => Numbers.fromDecimals(a, 18)) : [], + addresses: r[2] ? r[2].map((a) => a) : [], + tokensLocked: Numbers.fromDecimals(r[3], 18), + }; } /** - * @function - * @description Get Issue Id Info - * @param {Integer} issue_id - * @returns {Integer} _id - * @returns {Integer} beproStaked - * @returns {Date} creationDate - * @returns {Address} issueGenerator - * @returns {Integer} votesForApprove - * @returns {Integer} mergeProposalsAmount - * @returns {Bool} finalized - * @returns {Bool} canceled - */ - - async getIssueById({ issue_id }) { + * Get Issue By Id + * @param {Object} params + * @param {String} params.issueCID + * @returns {Promise} + */ + async getIssueByCID({ issueCID }) { const r = await this.__sendTx( - this.params.contract.getContract().methods.getIssueById(issue_id), - true, + this.params.contract.getContract().methods.getIssueByCID(issueCID), + { call: true }, ); return { _id: Numbers.fromHex(r[0]), - beproStaked: Numbers.fromDecimals(r[1], 18), + cid: r[1], creationDate: Numbers.fromSmartContractTimeToMinutes(r[2]), - issueGenerator: r[3], - votesForApprove: Numbers.fromDecimals(r[4], 18), + tokensStaked: Numbers.fromDecimals(r[3], 18), + issueGenerator: r[4], mergeProposalsAmount: parseInt(r[5], 10), finalized: r[6], canceled: r[7], + recognizedAsFinished: r[8], }; } /** - * @function - * @description Get Issue Id Info - * @param {Integer} issue_id - * @param {Integer} merge_id - * @returns {Integer} _id - * @returns {Integer} votes - * @returns {Integer} disputes - * @returns {Address | Array} prAddresses - * @returns {Integer | Array} prAmounts - * @returns {Address} proposalAddress + * Get Issue By Id + * @param {Object} params + * @param {Integer} params.issueId + * @returns {Promise} */ + async getIssueById({ issueId }) { + const r = await this.__sendTx( + this.params.contract.getContract().methods.getIssueById(issueId), + { call: true }, + ); + return { + _id: Numbers.fromHex(r[0]), + cid: r[1], + creationDate: Numbers.fromSmartContractTimeToMinutes(r[2]), + tokensStaked: Numbers.fromDecimals(r[3], 18), + issueGenerator: r[4], + mergeProposalsAmount: parseInt(r[5], 10), + finalized: r[6], + canceled: r[7], + recognizedAsFinished: r[8], + }; + } + + /** + * Get votes, address and amounts for issue + * @param {Object} params + * @param {number} params.issue_id + * @param {number} params.merge_id + * @return {Promise} + */ async getMergeById({ issue_id, merge_id }) { const r = await this.__sendTx( this.params.contract .getContract() .methods.getMergeById(issue_id, merge_id), - true, + { call: true }, ); return { @@ -338,194 +427,256 @@ class BEPRONetwork extends IContract { votes: Numbers.fromDecimals(r[1], 18), disputes: Numbers.fromDecimals(r[2], 18), prAddresses: r[3], - prAmounts: r[4] ? r[4].map(a => Numbers.fromDecimals(a, 18)) : 0, + prAmounts: r[4] ? r[4].map((a) => Numbers.fromDecimals(a, 18)) : 0, proposalAddress: r[5], }; } /** + * Approve ERC20 Allowance + * @function + * @return {Promise} + */ + approveSettlerERC20Token = async () => { + const totalMaxAmount = await this.getSettlerTokenContract().totalSupply(); + return this.getSettlerTokenContract().approve({ + address: this.getAddress(), + amount: totalMaxAmount, + }); + }; + + /** + * Approve ERC20 Allowance * @function - * @description Approve ERC20 Allowance + * @return {Promise} */ - approveERC20 = async () => { - const totalMaxAmount = await this.getERC20Contract().totalSupply(); - return await this.getERC20Contract().approve({ + approveTransactionalERC20Token = async () => { + const totalMaxAmount = await this.getTransactionTokenContract().totalSupply(); + return this.getTransactionTokenContract().approve({ address: this.getAddress(), amount: totalMaxAmount, }); }; /** + * Verify if Approved * @function - * @description Verify if Approved + * @param {Object} params + * @param {number} params.amount + * @param {Address} params.address + * @return {Promise} */ - isApprovedERC20 = async ({ amount, address }) => await this.getERC20Contract().isApproved({ + isApprovedSettlerToken = ({ amount, address }) => this.getSettlerTokenContract().isApproved({ address, amount, spenderAddress: this.getAddress(), }); /** + * Verify if Approved * @function - * @description lock BEPRO for oracles - * @param {integer} beproAmount + * @param {Object} params + * @param {number} params.amount + * @param {Address} params.address + * @return {Promise} */ - async lockBepro({ beproAmount }) { - if (beproAmount <= 0) { - throw new Error('Bepro Amount has to be higher than 0'); - } + isApprovedTransactionalToken = ({ amount, address }) => this.getTransactionTokenContract().isApproved({ + address, + amount, + spenderAddress: this.getAddress(), + }); - if (!(await this.isApprovedERC20({ amount, address }))) { - throw new Error("Bepro not approve for tx, first use 'approveERC20'"); + /** + * lock tokens for oracles + * @param {Object} params + * @params params.tokenAmount {number} + * @throws {Error} Tokens Amount has to be higher than 0 + * @throws {Error} Tokens not approve for tx, first use 'approveERC20' + * @return {Promise} + */ + lock({ tokenAmount }, options) { + if (tokenAmount <= 0) { + throw new Error('Token Amount has to be higher than 0'); } - return await this.__sendTx( - this.params.contract.getContract().methods.lockBepro(beproAmount), + return this.__sendTx( + this.params.contract.getContract().methods.lock(Numbers.toSmartContractDecimals(tokenAmount, this.getSettlerTokenContract().getDecimals())), + options, ); } /** - * @function - * @description Unlock BEPRO for oracles - * @param {integer} beproAmount - * @param {address} from + * Unlock Tokens for oracles + * @param {Object} params + * @params params.tokenAmount {number} + * @params params.from {address} + * @throws {Error} Tokens Amount has to be higher than 0 + * @return {Promise} */ - async unlockBepro({ beproAmount, from }) { - if (beproAmount <= 0) { - throw new Error('Bepro Amount has to be higher than 0'); + unlock({ tokenAmount, from }, options) { + if (tokenAmount <= 0) { + throw new Error('Tokens Amount has to be higher than 0'); } - return await this.__sendTx( - this.params.contract.getContract().methods.unlockBepro(beproAmount, from), + return this.__sendTx( + this.params.contract.getContract().methods.unlock(Numbers.toSmartContractDecimals(tokenAmount, this.getSettlerTokenContract().getDecimals()), from), + options, ); } /** - * @function - * @description Delegated Oracles to others - * @param {integer} beproAmount - * @param {address} delegatedTo + * Delegated Oracles to others + * @param {Object} params + * @param {number} params.tokenAmount + * @param {Address} params.delegatedTo + * @return {Promise} */ - async delegateOracles({ beproAmount, delegatedTo }) { - if (beproAmount <= 0) { - throw new Error('Bepro Amount has to be higher than 0'); + delegateOracles({ tokenAmount, delegatedTo }, options) { + if (tokenAmount <= 0) { + throw new Error('Tokens Amount has to be higher than 0'); } - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() - .methods.unlockBepro(beproAmount, delegatedTo), + .methods.delegateOracles(Numbers.toSmartContractDecimals(tokenAmount, this.getTransactionTokenContract().getDecimals()), delegatedTo), + options, ); } /** - * @function - * @description open Issue - * @param {integer} beproAmount - * @param {address} address + * Recognize Issue as Resolved + * @param {Object} params + * @param {Number} params.issueId + * @return {Promise} */ - async openIssue({ beproAmount, address }) { - if (beproAmount < 0) { - throw new Error('Bepro Amount has to be higher than 0'); - } - - if (!(await this.isApprovedERC20({ amount, address }))) { - throw new Error("Bepro not approve for tx, first use 'approveERC20'"); - } - - return await this.__sendTx( - this.params.contract.getContract().methods.openIssue(beproAmount), + recognizeAsFinished({ issueId }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.recognizeAsFinished(issueId), + options, ); } /** - * @function - * @description open Issue - * @param {integer} issueId + * open Issue + * @param {Object} params + * @param {number} params.tokenAmount + * @param {String} params.cid + * @throws {Error} Tokens Amount has to be higher than 0 + * @throws {Error} Tokens not approve for tx, first use 'approveERC20' + * @return {Promise} */ - async approveIssue({ issueId }) { - return await this.__sendTx( - this.params.contract.getContract().methods.approveIssue(issueId), + openIssue({ tokenAmount, cid }, options) { + if (tokenAmount < 0) { + throw new Error('Tokens Amount has to be higher than 0'); + } + + return this.__sendTx( + this.params.contract.getContract().methods.openIssue(cid, Numbers.toSmartContractDecimals(tokenAmount, this.getTransactionTokenContract().getDecimals())), + options, ); } /** - * @function - * @description redeem Issue + * redeem Issue + * @param {Object} params + * @param {number} params.issueId + * @return {Promise} */ - async redeemIssue({ issueId }) { - return await this.__sendTx( + redeemIssue({ issueId }, options) { + return this.__sendTx( this.params.contract.getContract().methods.redeemIssue(issueId), + options, ); } /** - * @function - * @description open Issue - * @param {integer} issueId - * @param {integer} mergeId + * open Issue + * @param {Object} params + * @param {number} params.issueID + * @param {number} params.tokenAmount + * @param {address} params.address + * @return {Promise} */ - async approveMerge({ issueId, mergeId }) { - return await this.__sendTx( - this.params.contract.getContract().methods.approveMerge(issueId, mergeId), - ); - } - - /** - * @function - * @description open Issue - * @param {integer} issueID - * @param {integer} beproAmount - * @param {address} address - */ - async updateIssue({ issueID, beproAmount, address }) { - if (beproAmount < 0) { - throw new Error('Bepro Amount has to be higher than 0'); + updateIssue({ issueID, tokenAmount }, options) { + if (tokenAmount < 0) { + throw new Error('Tokens Amount has to be higher than 0'); } - if (!(await this.isApprovedERC20({ amount, address }))) { - throw new Error("Bepro not approve for tx, first use 'approveERC20'"); - } - - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() - .methods.updateIssue(issueID, beproAmount, address), + .methods.updateIssue(issueID, Numbers.toSmartContractDecimals(tokenAmount, this.getTransactionTokenContract().getDecimals())), + options, ); } /** - * @function - * @description Propose Merge of Issue - * @param {integer} issueID - * @param {address | Array} prAddresses - * @param {address | Integer} prAmounts + * Propose Merge of Issue + * @param {Object} params + * @param {number} params.issueID + * @param {Address[]} params.prAddresses + * @param {number[]} params.prAmounts + * @return {Promise} */ - async proposeIssueMerge({ issueID, prAddresses, prAmounts }) { - if (prAddresses.length != prAmounts.length) { + proposeIssueMerge({ issueID, prAddresses, prAmounts }, options) { + if (prAddresses.length !== prAmounts.length) { throw new Error('prAddresses dont match prAmounts size'); } - return await this.__sendTx( + const prAmountsWithDecimals = prAmounts.map((p) => Numbers.toSmartContractDecimals(p, this.getTransactionTokenContract().getDecimals())); + + return this.__sendTx( this.params.contract .getContract() - .methods.proposeIssueMerge(issueID, prAddresses, prAmounts), + .methods.proposeIssueMerge(issueID, prAddresses, prAmountsWithDecimals), + options, ); } /** - * @function - * @description close Issue - * @param {integer} issueID - * @param {integer} mergeID + * close Issue + * @param {Object} params + * @param {number} params.issueID + * @param {number} params.mergeID + * @return {Promise} */ - async closeIssue({ issueID, mergeID }) { - return await this.__sendTx( + closeIssue({ issueID, mergeID }, options) { + return this.__sendTx( this.params.contract.getContract().methods.closeIssue(issueID, mergeID), + options, + ); + } + + /** + * Dispute Merge + * @param {Object} params + * @param {number} params.issueID + * @param {number} params.mergeID + * @return {Promise} + */ + disputeMerge({ issueID, mergeID }, options) { + return this.__sendTx( + this.params.contract.getContract().methods.disputeMerge(issueID, mergeID), + options, ); } - deploy = async ({ tokenAddress, callback }) => { - const params = [tokenAddress]; + /** + * Deploys current contract and awaits for {@link TokensNetwork#__assert} + * @function + * @param {Object} params + * @param {string} params.settlerTokenAddress + * @param {string} params.transactionTokenAddress + * @param {string} params.governanceAddress + * @param {function():void} params.callback + * @return {Promise<*|undefined>} + */ + deploy = async ({ + settlerTokenAddress, transactionTokenAddress, governanceAddress, callback, + }) => { + const params = [settlerTokenAddress, transactionTokenAddress, governanceAddress]; const res = await this.__deploy(params, callback); this.params.contractAddress = res.contractAddress; /* Call to Backend API */ @@ -533,7 +684,17 @@ class BEPRONetwork extends IContract { return res; }; - getERC20Contract = () => this.params.ERC20Contract; + /** + * @function + * @return ERC20Contract|null + */ + getSettlerTokenContract = () => this.params.settlerToken; + + /** + * @function + * @return ERC20Contract|null + */ + getTransactionTokenContract = () => this.params.transactionalToken; } -export default BEPRONetwork; +export default Network; diff --git a/src/models/BEPRO/NetworkFactory.js b/src/models/BEPRO/NetworkFactory.js new file mode 100644 index 00000000..07da8ea0 --- /dev/null +++ b/src/models/BEPRO/NetworkFactory.js @@ -0,0 +1,257 @@ +/* eslint-disable no-underscore-dangle */ +// eslint-disable-next-line no-unused-vars +import { networkFactory } from '../../interfaces'; +import Numbers from '../../utils/Numbers'; +import IContract from '../IContract'; +import ERC20Contract from '../ERC20/ERC20Contract'; + +/** + * @typedef {Object} NetworkFactory~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + +/** + * Network Object + * @class Network + * @param {Network~Options} options + */ + +class Network extends IContract { + constructor(params) { + super({ abi: networkFactory, ...params }); + } + + /** + * Asserts the 2 {@link ERC20Contract} on the current address + * @function + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ + __assert = async () => { + if (!this.getAddress()) { + throw new Error( + 'Contract is not deployed, first deploy it and provide a contract address', + ); + } + + // Use ABI + this.params.contract.use(networkFactory, this.getAddress()); + + const beproAddress = await this.getSettlerTokenAddress(); + + // Set Token Address Contract for easy access + this.params.settlerToken = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: beproAddress, + }); + // Assert Token Contract + await this.params.settlerToken.start(); + await this.params.settlerToken.__assert(); + }; + + /** + * Get Network By Creator Address + * @param {Address} address + * @returns {Adddress} + */ + getNetworkByAddress(address) { + return this.params.contract + .getContract() + .methods.getNetworkByAddress(address) + .call(); + } + + /** + * Get Network By Id + * @param {number} id + * @returns {Adddress} + */ + getNetworkById(id) { + return this.params.contract + .getContract() + .methods.getNetworkById(id) + .call(); + } + + /** + * Get Amount of Networks Forked in the Protocol + * @returns {Promise} + */ + getAmountofNetworksForked() { + return this.params.contract.getContract().methods.networksAmount().call(); + } + + /** + * Get Total Amount of Tokens Locked by Operator in the Network + * @param {Address} address + * @returns {Promise} + */ + async getLockedStakedByAddress(address) { + return Numbers.fromDecimals( + await this.params.contract.getContract().methods.tokensLocked(address).call(), + 18, + ); + } + + /** + * Get Open Issues Available + * @param {Address} address + * @returns {Address[]} + */ + getNetworks() { + return this.params.contract + .getContract() + .methods.networksArray() + .call(); + } + + /** + * Get Total Amount of Tokens Staked in the Protocol + * @returns {Promise} + */ + async getBEPROLocked() { + return Numbers.fromDecimals( + await this.params.contract.getContract().methods.tokensLockedTotal().call(), + 18, + ); + } + + /** + * Verify if Address is Council + * @param {Object} params + * @param {number} params.address + * @returns {Promise
    } + */ + async isOperator({ address }) { + return await this.getLockedStakedByAddress(address) >= await this.OPERATOR_AMOUNT(); + } + + /** + * Get Settler Token Address + * @returns {Promise
    } + */ + getSettlerTokenAddress() { + return this.params.contract + .getContract() + .methods.beproAddress() + .call(); + } + + /** + * Get Amount Needed for Operator + * @returns {Promise} + */ + async OPERATOR_AMOUNT() { + return Numbers.fromDecimals( + await this.params.contract + .getContract() + .methods.OPERATOR_AMOUNT() + .call(), + 18, + ); + } + + /** + * Approve ERC20 Allowance + * @function + * @return {Promise} + */ + approveSettlerERC20Token = async () => { + const totalMaxAmount = await this.getSettlerTokenContract().totalSupply(); + return this.getSettlerTokenContract().approve({ + address: this.getAddress(), + amount: totalMaxAmount, + }); + }; + + /** + * Verify if Approved + * @function + * @param {Object} params + * @param {number} params.amount + * @param {Address} params.address + * @return {Promise} + */ + isApprovedSettlerToken = ({ amount, address }) => this.getSettlerTokenContract().isApproved({ + address, + amount, + spenderAddress: this.getAddress(), + }); + + /** + * lock tokens for operator use + * @param {Object} params + * @params params.tokenAmount {number} + * @throws {Error} Tokens Amount has to be higher than 0 + * @throws {Error} Tokens not approve for tx, first use 'approveERC20' + * @return {Promise} + */ + lock({ tokenAmount }, options) { + if (tokenAmount <= 0) { + throw new Error('Token Amount has to be higher than 0'); + } + + return this.__sendTx( + this.params.contract.getContract().methods.lock(Numbers.toSmartContractDecimals(tokenAmount, this.getSettlerTokenContract().getDecimals())), + options, + ); + } + + /** + * Unlock Tokens for oracles + * @throws {Error} Tokens Amount has to be higher than 0 + * @return {Promise} + */ + unlock(options) { + return this.__sendTx( + this.params.contract.getContract().methods.unlock(), + options, + ); + } + + /** + * Create Network + * @param {Object} params + * @param {Address} params.settlerToken + * @param {Address} params.transactionalToken + * @return {Promise} + */ + createNetwork({ settlerToken, transactionalToken }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.createNetwork(settlerToken, transactionalToken), + options, + ); + } + + /** + * Deploys Contracts + * @function + * @param {Object} params + * @param {string} params.beproAddress + * @param {function():void} params.callback + * @return {Promise<*|undefined>} + */ + deploy = async ({ + beproAddress, callback, + }) => { + const params = [beproAddress]; + const res = await this.__deploy(params, callback); + this.params.contractAddress = res.contractAddress; + /* Call to Backend API */ + await this.__assert(); + return res; + }; + + /** + * @function + * @return ERC20Contract|null + */ + getSettlerTokenContract = () => this.params.settlerToken; +} + +export default Network; diff --git a/src/models/ERC20/ERC20Contract.js b/src/models/ERC20/ERC20Contract.js index 8c7da388..f8502c12 100644 --- a/src/models/ERC20/ERC20Contract.js +++ b/src/models/ERC20/ERC20Contract.js @@ -2,28 +2,42 @@ import { ierc20 } from '../../interfaces'; import Numbers from '../../utils/Numbers'; import IContract from '../IContract'; +/** + * @typedef {Object} ERC20Contract~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + /** * @class ERC20Contract - * @param {Object} params Parameters - * @param {Address} params.contractAddress Optional/If Existent + * @param {ERC20Contract~Options} options */ class ERC20Contract extends IContract { constructor(params = {}) { super({ abi: ierc20, ...params }); } + /** + * Use a {@link ierc20} contract with the current address + * @return {Promise} + */ __assert = async () => { this.params.contract.use(ierc20, this.getAddress()); this.params.decimals = await this.getDecimalsAsync(); }; + /** + * + * @return {*} + */ getContract() { return this.params.contract.getContract(); } /** - * @function - * @description Get Token Address + * Get Token Address * @returns {Address} address */ getAddress() { @@ -31,126 +45,129 @@ class ERC20Contract extends IContract { } /** + * Transfer Tokens * @function - * @description Transfer Tokens * @param {Object} params Parameters * @param {Address} params.toAddress To Address * @param {Integer} params.tokenAmount Amount of Tokens - * @returns {Transaction} Transaction + * @returns {Promise} Transaction */ - transferTokenAmount = async ({ toAddress, tokenAmount }) => { + transferTokenAmount = ({ toAddress, tokenAmount }, options) => { const amountWithDecimals = Numbers.toSmartContractDecimals( tokenAmount, this.getDecimals(), ); - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.transfer(toAddress, amountWithDecimals), + options, ); }; /** + * Get Amount of Tokens User Holds * @function - * @description Get Amount of Tokens User Holds * @param {Address} address User Address - * @returns {Transaction} Transaction + * @returns {Promise} Transaction */ - getTokenAmount = async address => Numbers.fromDecimals( + getTokenAmount = async (address) => Numbers.fromDecimals( await this.getContract().methods.balanceOf(address).call(), this.getDecimals(), ); /** + * Get Total Supply of Token * @function - * @description Get Total Supply of Token - * @returns {Integer} Total supply + * @returns {Promise} Total supply */ totalSupply = async () => Numbers.fromDecimals( await this.getContract().methods.totalSupply().call(), this.getDecimals(), ); + /** + * + * @return {Contract} + */ getABI() { return this.params.contract; } /** + * Get Decimals of Token * @function - * @description Get Decimals of Token - * @returns {Integer} Total supply + * @returns {number} Total supply */ getDecimals() { return this.params.decimals; } - getDecimalsAsync = async () => await this.getContract().methods.decimals().call(); + /** + * + * @return {Promise} + */ + getDecimalsAsync = () => this.getContract().methods.decimals().call(); /** + * Verify if Spender is Approved to use tokens * @function - * @description Verify if Spender is Approved to use tokens * @param {Object} params Parameters * @param {Address} params.address Sender Address - * @param {Integer} params.amount Amount of Tokens + * @param {number} params.amount Amount of Tokens * @param {Address} params.spenderAddress Spender Address - * @returns {Bool} isApproved + * @returns {Promise} isApproved */ isApproved = async ({ address, amount, spenderAddress }) => { - try { - const approvedAmount = Numbers.fromDecimals( - await this.getContract() - .methods.allowance(address, spenderAddress) - .call(), - this.getDecimals(), - ); - - const amountWithDecimal = Numbers.fromDecimals( - amount, - this.getDecimals(), - ); - return approvedAmount >= amountWithDecimal; - } catch (err) { - throw err; - } + const approvedAmount = Numbers.fromDecimals( + await this.getContract() + .methods.allowance(address, spenderAddress) + .call(), + this.getDecimals(), + ); + + const amountWithDecimal = Numbers.fromDecimals( + amount, + this.getDecimals(), + ); + return approvedAmount >= amountWithDecimal; }; /** + * Approve tokens to be used by another address/contract * @function - * @description Approve tokens to be used by another address/contract * @param {Object} params Parameters * @param {Address} params.address Spender Address/Contract - * @param {Integer} params.amount Amount of Tokens - * @returns {Transaction} Transaction + * @param {number} params.amount Amount of Tokens + * @param {function():void} params.callback callback for the Tx + * @returns {Promise} Transaction */ - approve = async ({ address, amount, callback }) => { - try { - const amountWithDecimals = Numbers.toSmartContractDecimals( - amount, - this.getDecimals(), - ); - const res = await this.__sendTx( - this.params.contract - .getContract() - .methods.approve(address, amountWithDecimals), - null, - null, + approve = async ({ address, amount, callback }, options) => { + const amountWithDecimals = Numbers.toSmartContractDecimals( + amount, + this.getDecimals(), + ); + const res = await this.__sendTx( + this.params.contract + .getContract() + .methods.approve(address, amountWithDecimals), + { callback, - ); - return res; - } catch (err) { - throw err; - } + ...options, + }, + ); + return res; }; /** + * Deploy ERC20 Token * @function - * @description Deploy ERC20 Token * @param {Object} params Parameters - * @param {String} params.name Name of token - * @param {String} params.symbol Symbol of token - * @param {Integer} params.cap Max supply of Token (ex : 100M) + * @param {string} params.name Name of token + * @param {string} params.symbol Symbol of token + * @param {number} params.cap Max supply of Token (ex : 100M) * @param {Address} params.distributionAddress Where tokens should be sent to initially - * @returns {Transaction} Transaction + * @returns {Promise} Transaction */ deploy = async ({ name, symbol, cap, distributionAddress, callback, diff --git a/src/models/ERC20/ERC20TokenLock.js b/src/models/ERC20/ERC20TokenLock.js index f1147062..47177cdf 100644 --- a/src/models/ERC20/ERC20TokenLock.js +++ b/src/models/ERC20/ERC20TokenLock.js @@ -1,6 +1,4 @@ -import _ from 'lodash'; import moment from 'moment'; -import dayjs from 'dayjs'; import { tokenlock } from '../../interfaces'; import ERC20Contract from './ERC20Contract'; import IContract from '../IContract'; @@ -8,57 +6,50 @@ import Numbers from '../../utils/Numbers'; const assert = require('assert'); +/** + * @typedef {Object} ERC20TokenLock~Options + * @property {string} tokenAddress + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + /** * ERC20 Token Lock Contract Object * @class ERC20TokenLock - * @param {Object} params - * @param {Address} params.tokenAddress - * @param {Address} params.contractAddress ? (opt) + * @param {ERC20TokenLock~Options} options */ - class ERC20TokenLock extends IContract { constructor(params = {}) { - try { - super({ ...params, abi: tokenlock }); - console.log(`ERC20TokenLock.ctor.tokenAddress: ${params.tokenAddress}`); - console.log( - `ERC20TokenLock.ctor.contractAddress: ${params.contractAddress}`, - ); - if (params.tokenAddress) { - this.params.ERC20Contract = new ERC20Contract({ - web3: params.web3, - contractAddress: params.tokenAddress, - acc: params.acc, - }); - } else { - throw new Error("Please provide an ERC20 Address in 'tokenAddress'"); - } - } catch (err) { - throw err; + super({ ...params, abi: tokenlock }); + if (params.tokenAddress) { + this.params.ERC20Contract = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: params.tokenAddress, + }); } } /** - * @function - * @description Get ERC20 Address of the Token Contract managed - * @returns {Address} + * Get ERC20 Address of the Token Contract managed + * @returns {Promise
    } */ - async erc20() { - return await this.params.contract.getContract().methods.erc20().call(); + erc20() { + return this.params.contract.getContract().methods.erc20().call(); } /** + * Get Token Amount of ERC20 Address * @function - * @description Get Token Amount of ERC20 Address * @param {Object} params * @param {Address} params.address - * @returns {Integer} Token Amount + * @returns {Promise} Token Amount */ - getTokenAmount = async ({ address }) => await this.getERC20Contract().getTokenAmount(address); + getTokenAmount = ({ address }) => this.getERC20Contract().getTokenAmount(address); /** - * @function - * @description Get All Tokens staked/locked at that specific moment + * Get All Tokens staked/locked at that specific moment * @returns {Integer} Token Amount */ async totalAmountStaked() { @@ -70,9 +61,8 @@ class ERC20TokenLock extends IContract { } /** - * @function - * @description Get minimum amount of tokens to lock per user - * @returns {Integer} Minimum Amount + * Get minimum amount of tokens to lock per user + * @returns {Promise} Minimum Amount */ async minAmountToLock() { const res = await this.params.contract @@ -83,9 +73,8 @@ class ERC20TokenLock extends IContract { } /** - * @function - * @description Get maximum amount of tokens to lock per user - * @returns {Integer} Maximum Amount + * Get maximum amount of tokens to lock per user + * @returns {Promise} Maximum Amount */ async maxAmountToLock() { const res = await this.params.contract @@ -96,20 +85,20 @@ class ERC20TokenLock extends IContract { } /** + * Check if locked tokens release date has come and user can withdraw them * @function - * @description Check if locked tokens release date has come and user can withdraw them * @param {Object} params * @param {Address} params.address - * @returns {Boolean} canRelease + * @returns {Promise} canRelease */ - canRelease = async ({ address }) => await this.params.contract.getContract().methods.canRelease(address).call(); + canRelease = ({ address }) => this.params.contract.getContract().methods.canRelease(address).call(); /** + * Get locked tokens amount for a given address * @function - * @description Get locked tokens amount for a given address * @param {Object} params * @param {Address} params.address - * @returns {Integer} amount Locked token amount + * @returns {Promise} amount Locked token amount */ getLockedTokens = async ({ address }) => { const res = await this.params.contract @@ -120,13 +109,13 @@ class ERC20TokenLock extends IContract { }; /** + * Get locked tokens info for a given address * @function - * @description Get locked tokens info for a given address * @param {Object} params * @param {Address} params.address * @returns {Date} startDate * @returns {Date} endDate - * @returns {Integer} amount Token amount + * @returns {Promise} amount Token amount */ getLockedTokensInfo = async ({ address }) => { const res = await this.params.contract @@ -145,13 +134,13 @@ class ERC20TokenLock extends IContract { }; /** + * (Admin only) sets maximum amount of tokens to lock per user * @function - * @description Admin sets maximum amount of tokens to lock per user * @param {Object} params * @param {Address} params.tokenAmount Amount of Tokens - * @returns {Boolean} Success True if operation was successful + * @returns {Promise} Success True if operation was successful */ - setMaxAmountToLock = async ({ tokenAmount }) => { + setMaxAmountToLock = ({ tokenAmount }, options) => { this.onlyOwner(); // verify that user is admin /* Get Decimals of Amount */ @@ -160,21 +149,22 @@ class ERC20TokenLock extends IContract { this.getERC20Contract().getDecimals(), ); - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.setMaxAmountToLock(amountWithDecimals), + options, ); }; /** + * (Admin only) sets minimum amount of tokens to lock per user * @function - * @description Admin sets minimum amount of tokens to lock per user * @param {Object} params - * @param {Integer} params.tokenAmount Minimum tokens amount - * @returns {Boolean} Success True if operation was successful + * @param {number} params.tokenAmount Minimum tokens amount + * @returns {Promise} Success True if operation was successful */ - setMinAmountToLock = async ({ tokenAmount }) => { + setMinAmountToLock = ({ tokenAmount }, options) => { this.onlyOwner(); // verify that user is admin /* Get Decimals of Amount */ @@ -183,40 +173,41 @@ class ERC20TokenLock extends IContract { this.getERC20Contract().getDecimals(), ); - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.setMinAmountToLock(amountWithDecimals), + options, ); }; /** + * User locks his tokens until specified end date. + * REQUIREMENTS: + * user must have approved this contract to spend the tokens "amount" he wants to lock before calling this function. * @function - * @description User locks his tokens until specified end date. * @param {Object} params * @param {Address} params.address User Address - * @param {Integer} params.amount Tokens amount to be locked + * @param {number} params.amount Tokens amount to be locked * @param {Date} params.endDate Lock tokens until this end date - * @returns {Boolean} Success True if operation was successful - * REQUIREMENTS: - * user must have approved this contract to spend the tokens "amount" he wants to lock before calling this function. + * @returns {Promise} Success True if operation was successful */ - lock = async ({ address, amount, endDate }) => { + lock = async ({ address, amount, endDate }, options) => { // / 'address' is current user address this.whenNotPaused(); // verify that contract is not paused assert( amount > 0 - && amount >= (await this.minAmountToLock()) - && amount <= (await this.maxAmountToLock()), + && amount >= (await this.minAmountToLock()) + && amount <= (await this.maxAmountToLock()), 'Invalid token amount', ); assert(endDate > moment(), 'Invalid end date'); // check if user can lock tokens const lockedAmount = await this.getLockedTokens({ address }); - assert(lockedAmount == 0, 'User already has locked tokens'); // otherwise user already locked tokens + assert(lockedAmount === 0, 'User already has locked tokens'); // otherwise user already locked tokens /* Verify if transfer is approved for this amount */ const isApproved = await this.getERC20Contract().isApproved({ @@ -229,8 +220,7 @@ class ERC20TokenLock extends IContract { "Has to Approve Token Transfer First, use the 'approve' Call", ); } - console.log('---lock.bp0'); - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.lock( @@ -240,21 +230,22 @@ class ERC20TokenLock extends IContract { ), Numbers.timeToSmartContractTime(endDate), ), + options, ); }; /** + * User withdraws his locked tokens after specified end date * @function - * @description User withdraws his locked tokens after specified end date * @param {Object} params * @param {Address} params.address User Address - * @return {Boolean} Success True if operation was successful + * @return {Promise} Success True if operation was successful */ - release = async ({ address }) => { + release = async ({ address }, options) => { // / 'address' is current user address // check if user has locked tokens and if he can unlock and withdraw them - const { startDate, endDate, amount } = await this.getLockedTokensInfo({ + const { endDate, amount } = await this.getLockedTokensInfo({ address, }); const lockedAmount = amount; @@ -265,20 +256,21 @@ class ERC20TokenLock extends IContract { 'ERC20TokenLock.tokens release date not reached', ); - return await this.__sendTx( + return this.__sendTx( this.params.contract.getContract().methods.release(), + options, ); }; /** + * Approve this contract to transfer tokens of the ERC20 token contract on behalf of user * @function - * @description Approve this contract to transfer tokens of the ERC20 token contract on behalf of user - * @return {Boolean} Success True if operation was successful + * @return {Promise} Success True if operation was successful */ approveERC20Transfer = async () => { // let totalMaxAmount = await this.getERC20Contract().getTokenAmount(await this.getUserAddress()); const totalMaxAmount = await this.getERC20Contract().totalSupply(); - return await this.getERC20Contract().approve({ + return this.getERC20Contract().approve({ address: this.getAddress(), amount: Numbers.toSmartContractDecimals( totalMaxAmount, @@ -287,6 +279,11 @@ class ERC20TokenLock extends IContract { }); }; + /** + * + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ __assert = async () => { if (!this.getAddress()) { throw new Error( @@ -299,20 +296,23 @@ class ERC20TokenLock extends IContract { /* Set Token Address Contract for easy access */ if (!this.params.ERC20Contract) { - // console.log('---ERC20TokenLock.__assert.ERC20Contract null, creating new one'); this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, + web3Connection: this.web3Connection, contractAddress: await this.erc20(), - acc: this.acc, }); } /* Assert Token Contract */ + await this.params.ERC20Contract.start(); await this.params.ERC20Contract.__assert(); }; /** + * Deploy the ERC20 Token Lock Contract * @function - * @description Deploy the ERC20 Token Lock Contract + * @param {Object} params + * @param {function():void} params.callback + * @return {Promise<*|undefined>} + * @throws {Error} No Token Address Provided */ deploy = async ({ callback } = {}) => { if (!this.getERC20Contract()) { @@ -327,6 +327,10 @@ class ERC20TokenLock extends IContract { return res; }; + /** + * @function + * @return ERC20Contract|undefined + */ getERC20Contract = () => this.params.ERC20Contract; } diff --git a/src/models/ERC721/ERC721Collectibles.js b/src/models/ERC721/ERC721Collectibles.js index b1e52efb..b83fe9c4 100644 --- a/src/models/ERC721/ERC721Collectibles.js +++ b/src/models/ERC721/ERC721Collectibles.js @@ -1,4 +1,3 @@ -import _ from 'lodash'; import { erc721collectibles } from '../../interfaces'; import Numbers from '../../utils/Numbers'; import IContract from '../IContract'; @@ -7,19 +6,29 @@ import ERC20Contract from '../ERC20/ERC20Contract'; const baseFeeAddress = '0x6714d41094a264bb4b8fcb74713b42cfee6b4f74'; /** - * ERC721Contract Object - * @class ERC721Collectibles - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) + * @typedef {Object} ERC721Collectibles~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] */ +/** + * ERC721Collectibles Object + * @class ERC721Collectibles + * @param {ERC721Collectibles~Options} options + */ class ERC721Collectibles extends IContract { constructor(params = {}) { super({ abi: erc721collectibles, ...params }); } /** - * @private + * Uses {@link erc721collectibles} on the current address and assigns a new {@link ERC20Contract} with + * {@link ERC721Collectibles#purchaseToken} as its contract address + * @function + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address */ __assert = async () => { if (!this.getAddress()) { @@ -32,31 +41,29 @@ class ERC721Collectibles extends IContract { /* Set Token Address Contract for easy access */ this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, + web3Connection: this.web3Connection, contractAddress: await this.purchaseToken(), - acc: this.acc, }); /* Assert Token Contract */ + await this.params.ERC20Contract.start(); await this.params.ERC20Contract.__assert(); }; /** - * @function - * @description Get ERC20 Address of the Contract - * @returns {Address} + * Get ERC20 Address of the Contract + * @returns {Promise
    } */ - async purchaseToken() { - return await this.params.contract + purchaseToken() { + return this.params.contract .getContract() .methods._purchaseToken() .call(); } /** - * @function - * @description Get Price Per Pack - * @returns {Integer} + * Get Price Per Pack + * @returns {Promise} */ async getPricePerPack() { return Numbers.fromDecimals( @@ -66,64 +73,74 @@ class ERC721Collectibles extends IContract { } /** - * @function - * @description Verify if token ID exists - * @returns {Integer} Token Id + * Verify if token ID exists + * @param {Object} params + * @param {string} params.tokenID + * @returns {Promise} Token Id */ - async exists({ tokenID }) { - return await this.params.contract + exists({ tokenID }) { + return this.params.contract .getContract() .methods.exists(tokenID) .call(); } /** - * @function - * @description Verify if it is limited - * @returns {Bool} + * show balance of address + * @param {Object} params + * @param {Address} params.address + * @return {Promise} */ - async isLimited() { - return await this.params.contract.getContract().methods._isLimited().call(); + balanceOf({ address }) { + return this.__sendTx( + this.params.contract.getContract().methods.balanceOf(address), + { call: true }, + ); } /** - * @function - * @description Verify what is the currentTokenId - * @returns {Integer} Current Token Id + * Verify if it is limited + * @returns {Promise} */ + isLimited() { + return this.params.contract.getContract().methods._isLimited().call(); + } + /** + * Verify what is the currentTokenId + * @returns {Promise} Current Token Id + */ async currentTokenId() { return parseInt( - await this.params.contract.getContract().methods._currentTokenId().call(), 10, + await this.params.contract.getContract().methods._currentTokenId().call(), + 10, ); } /** - * @function - * @description Verify what is the getURITokenID - * @returns {String} URI + * Verify what is the getURITokenID + * @returns {Promise} URI */ - async getURITokenID({ tokenID }) { - return await this.params.contract + getURITokenID({ tokenID }) { + return this.params.contract .getContract() .methods.tokenURI(tokenID) .call(); } /** - * @function - * @description Verify what is the baseURI - * @returns {String} URI + * Verify what is the baseURI + * @returns {Promise} URI */ - async baseURI() { - return await this.params.contract.getContract().methods.baseURI().call(); + baseURI() { + return this.params.contract.getContract().methods.baseURI().call(); } /** - * @function - * @description Get Ids - * @param {Address} address - * @returns {Integer | Array} ids + * Get Ids + * @param {Object} params + * @param {Address} params.address + * @returns {number[]} ids */ async getRegisteredIDs({ address }) { const res = await this.params.contract @@ -131,27 +148,24 @@ class ERC721Collectibles extends IContract { .methods.getRegisteredIDs(address) .call(); - return res.map(r => parseInt(r, 10)); + return res.map((r) => parseInt(r, 10)); } /** - * @function - * @description Verify if ID is registered - * @returns {Bool} + * Verify if ID is registered + * @returns {Promise} */ - async isIDRegistered({ address, tokenID }) { - return await this.params.contract + isIDRegistered({ address, tokenID }) { + return this.params.contract .getContract() .methods.registeredIDs(address, tokenID) .call(); } /** - * @function - * @description Verify what is the current price per Pack - * @returns {Integer} Price per pack in tokens + * Verify what is the current price per Pack + * @returns {Promise} Price per pack in tokens */ - async pricePerPack() { return Numbers.fromDecimals( await this.params.contract.getContract().methods._pricePerPack().call(), @@ -160,11 +174,9 @@ class ERC721Collectibles extends IContract { } /** - * @function - * @description Verify how much opened packs exist - * @returns {Integer} packs + * Verify how much opened packs exist + * @returns {Promise} packs */ - async openedPacks() { return parseInt( await this.params.contract.getContract().methods._openedPacks().call(), @@ -173,122 +185,157 @@ class ERC721Collectibles extends IContract { } /** + * Approve ERC20 Allowance * @function - * @description Approve ERC20 Allowance + * @return {Promise} */ approveERC20 = async () => { const totalMaxAmount = await this.getERC20Contract().totalSupply(); - return await this.getERC20Contract().approve({ + return this.getERC20Contract().approve({ address: this.getAddress(), amount: totalMaxAmount, }); }; /** + * Set Base Token URI * @function - * @description Set Base Token URI + * @param {Object} params + * @param {string} params.URI + * @return {Promise} */ - setBaseTokenURI = async ({ URI }) => await this.__sendTx( + setBaseTokenURI = ({ URI }, options) => this.__sendTx( this.params.contract.getContract().methods.setBaseURI(URI), + options, ); /** + * Approve ERC20 Allowance * @function - * @description Approve ERC20 Allowance - * @param {Address} address - * @param {Integer} amount + * @param {Object} params + * @param {Address} params.address + * @param {number} params.amount + * @return {Promise} */ - isApproved = async ({ address, amount }) => await this.getERC20Contract().isApproved({ + isApproved = ({ address, amount }) => this.getERC20Contract().isApproved({ address, amount, spenderAddress: this.getAddress(), }); /** - * @function - * @description open Pack of tokens - * @param {Integer} amount Amount of packs to open + * open Pack of tokens + * @param {Object} params + * @param {number} params.amount Amount of packs to open + * @return {Promise} */ - async openPack({ amount }) { - return await this.__sendTx( + openPack({ amount }, options) { + return this.__sendTx( this.params.contract.getContract().methods.openPack(amount), + options, ); } /** - * @function - * @description Mint created TokenID - * @param {Address} to - * @param {Integer} tokenID + * Mint created TokenID + * @param {Object} params + * @param {number} params.tokenID */ - async mint({ tokenID }) { - return await this.__sendTx( + mint({ tokenID }, options) { + return this.__sendTx( this.params.contract.getContract().methods.mint(tokenID), + options, ); } /** - * @function - * @description set Purchase Token Address - * @param {Address} purchaseToken + * set Purchase Token Address + * @param {Object} params + * @param {Address} params.purchaseToken + * @return {Promise} */ - async setPurchaseTokenAddress({ purchaseToken }) { - return await this.__sendTx( + setPurchaseTokenAddress({ purchaseToken }, options) { + return this.__sendTx( this.params.contract .getContract() .methods.setPurchaseTokenAddress(purchaseToken), + options, ); } /** - * @function - * @description set Stake Address - * @param {Address} purchaseToken + * Set Stake Address + * @param {Object} params + * @param {Address} params.purchaseToken + * @return {Promise} */ - async setStakeAddress({ purchaseToken }) { - return await this.__sendTx( + setStakeAddress({ purchaseToken }, options) { + return this.__sendTx( this.params.contract.getContract().methods.setStakeAddress(purchaseToken), + options, ); } /** - * @function - * @description set Fee Address - * @param {Address} purchaseToken + * Set Fee Address + * @param {Object} params + * @param {Address} params.purchaseToken + * @return {Promise} */ - async setSwapBackAddress({ purchaseToken }) { - return await this.__sendTx( + setSwapBackAddress({ purchaseToken }, options) { + return this.__sendTx( this.params.contract .getContract() .methods.setSwapBackAddress(purchaseToken), + options, ); } /** - * @function - * @description set Fee Address - * @param {Address} purchaseToken + * Set Fee Address + * @param {Object} params + * @param {Address} params.purchaseToken + * @return {Promise} */ - async setFeeAddress({ purchaseToken }) { - return await this.__sendTx( + setFeeAddress({ purchaseToken }, options) { + return this.__sendTx( this.params.contract.getContract().methods.setFeeAddress(purchaseToken), + options, ); } /** - * @function - * @description set Price per Pack - * @param {Amount} newPrice + * Set Price per Pack + * @param {Object} amount + * @param {number} amount.newPrice + * @return {Promise} */ - async setPricePerPack({ newPrice }) { + setPricePerPack({ newPrice }, options) { const newPriceWithDecimals = Numbers.toSmartContractDecimals(newPrice, 18); - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.setPricePerPack(newPriceWithDecimals), + options, ); } + /** + * @link ERC721Collectibles.__deploy + * @function + * @param {Object} params + * @param {*} params.name + * @param {*} params.symbol + * @param {number} params.limitedAmount + * @param {*} params.erc20Purchase + * @param {string} params.feeAddress + * @param {string} params.otherAddress + * @param {*} params.callback + * @return {Promise<*|undefined>} + * @throws {Error} Please provide an erc20 address for purchases + * @throws {Error} Please provide a name + * @throws {Error} Please provide a symbol + */ deploy = async ({ name, symbol, @@ -325,6 +372,10 @@ class ERC721Collectibles extends IContract { return res; }; + /** + * @function + * @return ERC20Contract|undefined + */ getERC20Contract = () => this.params.ERC20Contract; } diff --git a/src/models/ERC721/ERC721Contract.js b/src/models/ERC721/ERC721Contract.js index 0fdcf516..291d804a 100644 --- a/src/models/ERC721/ERC721Contract.js +++ b/src/models/ERC721/ERC721Contract.js @@ -1,6 +1,6 @@ -import _ from 'lodash'; -import { erc721contract } from '../../interfaces'; +import { erc721standard } from '../../interfaces'; import IContract from '../IContract'; + /** * ERC721Contract Object * @class ERC721Contract @@ -10,7 +10,7 @@ import IContract from '../IContract'; class ERC721Contract extends IContract { constructor(params = {}) { - super({ abi: erc721contract, ...params }); + super({ abi: erc721standard, ...params }); } __assert = async () => { @@ -20,7 +20,7 @@ class ERC721Contract extends IContract { ); } /* Use ABI */ - this.params.contract.use(erc721contract, this.getAddress()); + this.params.contract.use(erc721standard, this.getAddress()); }; /** @@ -28,8 +28,8 @@ class ERC721Contract extends IContract { * @description Verify if token ID exists * @returns {Integer} Token Id */ - async exists({ tokenID }) { - return await this.params.contract + exists({ tokenID }) { + return this.params.contract .getContract() .methods.exists(tokenID) .call(); @@ -40,8 +40,8 @@ class ERC721Contract extends IContract { * @description Verify what is the getURITokenID * @returns {String} URI */ - async getURITokenID({ tokenID }) { - return await this.params.contract + getURITokenID({ tokenID }) { + return this.params.contract .getContract() .methods.tokenURI(tokenID) .call(); @@ -52,8 +52,8 @@ class ERC721Contract extends IContract { * @description Verify what is the baseURI * @returns {String} URI */ - async baseURI() { - return await this.params.contract.getContract().methods.baseURI().call(); + baseURI() { + return this.params.contract.getContract().methods.baseURI().call(); } /** @@ -61,8 +61,8 @@ class ERC721Contract extends IContract { * @description Get name * @returns {String} Name */ - async name() { - return await this.params.contract.getContract().methods.name().call(); + name() { + return this.params.contract.getContract().methods.name().call(); } /** @@ -70,16 +70,17 @@ class ERC721Contract extends IContract { * @description Get Symbol * @returns {String} Symbol */ - async symbol() { - return await this.params.contract.getContract().methods.symbol().call(); + symbol() { + return this.params.contract.getContract().methods.symbol().call(); } /** * @function * @description Set Base Token URI */ - setBaseTokenURI = async ({ URI }) => await this.__sendTx( + setBaseTokenURI = ({ URI }, options) => this.__sendTx( this.params.contract.getContract().methods.setBaseURI(URI), + options, ); /** @@ -89,9 +90,10 @@ class ERC721Contract extends IContract { * @param {Address} to Address to send to * @param {Integer} tokenId Token Id to use */ - async mint({ to, tokenId }) { - return await this.__sendTx( + mint({ to, tokenId }, options) { + return this.__sendTx( this.params.contract.getContract().methods.mint(to, tokenId), + options, ); } @@ -102,9 +104,10 @@ class ERC721Contract extends IContract { * @param {Address} to Address to send to * @param {Integer} tokenId Token Id to use */ - async approve({ to, tokenId }) { - return await this.__sendTx( + approve({ to, tokenId }, options) { + return this.__sendTx( this.params.contract.getContract().methods.approve(to, tokenId), + options, ); } @@ -115,9 +118,10 @@ class ERC721Contract extends IContract { * @param {Address} to Address to approve to * @param {Bool} approve If to approve or disapprove */ - async setApprovalForAll({ to, approve = true }) { - return await this.__sendTx( + setApprovalForAll({ to, approve = true }, options) { + return this.__sendTx( this.params.contract.getContract().methods.setApprovalForAll(to, approve), + options, ); } @@ -128,8 +132,8 @@ class ERC721Contract extends IContract { * @param {Address} from Address to approve from * @param {Address} to Address to approve to */ - async isApprovedForAll({ from, to }) { - return await this.params.contract + isApprovedForAll({ from, to }) { + return this.params.contract .getContract() .methods.isApprovedForAll(from, to) .call(); diff --git a/src/models/ERC721/ERC721Standard.js b/src/models/ERC721/ERC721Standard.js new file mode 100644 index 00000000..ee5d4122 --- /dev/null +++ b/src/models/ERC721/ERC721Standard.js @@ -0,0 +1,153 @@ +import { erc721standard } from '../../interfaces'; +import IContract from '../IContract'; +import ERC20Contract from '../ERC20/ERC20Contract'; + +/** + * @typedef {Object} ERC721Standard~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + +/** + * ERC721Standard Object + * @class ERC721Standard + * @param {ERC721Standard~Options} options + */ +class ERC721Standard extends IContract { + constructor(params = {}) { + super({ abi: erc721standard, ...params }); + } + + /** + * @function + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ + __assert = async () => { + if (!this.getAddress()) { + throw new Error( + 'Contract is not deployed, first deploy it and provide a contract address', + ); + } + /* Use ABI */ + this.params.contract.use(erc721standard, this.getAddress()); + + /* Set Token Address Contract for easy access */ + this.params.ERC20Contract = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: await this.purchaseToken(), + }); + + /* Assert Token Contract */ + await this.params.ERC20Contract.start(); + await this.params.ERC20Contract.__assert(); + }; + + /** + * Verify if token ID exists + * @param {Object} params + * @param {number} params.tokenID + * @returns {Promise} Token Id + */ + exists({ tokenID }) { + return this.params.contract + .getContract() + .methods.exists(tokenID) + .call(); + } + + /** + * Verify what is the getURITokenID + * @param {Object} params + * @param {number} params.tokenID + * @returns {Promise} URI + */ + getURITokenID({ tokenID }) { + return this.params.contract + .getContract() + .methods.tokenURI(tokenID) + .call(); + } + + /** + * Verify what is the baseURI + * @returns {Promise} URI + */ + baseURI() { + return this.params.contract.getContract().methods.baseURI().call(); + } + + /** + * Set Base Token URI + * @function + * @param {Object} params + * @param {string} params.URI + * @return {Promise<*>} + */ + setBaseTokenURI = ({ URI }, options) => this.__sendTx( + this.params.contract.getContract().methods.setBaseURI(URI), + options, + ); + + /** + * Set Token URI + * @function + * @param {Object} params + * @param {string} params.tokenID + * @param {string} params.URI + * @return {Promise<*>} + */ + setTokenURI = ({ tokenID, URI }, options) => this.__sendTx( + this.params.contract.getContract().methods.setTokenURI(tokenID, URI), + options, + ); + + /** + * Mint created TokenID + * @param {Object} params + * @param {number} params.tokenID + * @return {Promise} + */ + mint({ tokenID }, options) { + return this.__sendTx( + this.params.contract.getContract().methods.mint(tokenID), + options, + ); + } + + /** + * @link ERC721Standard.__deploy + * @param {Object} params + * @param {string} params.name + * @param {*} params.symbol + * @param {function():void} params.callback + * @return {Promise<*|undefined>} + * @throws {Error} Please provide a name + * @throws {Error} Please provide a symbol + */ + deploy = async ({ name, symbol, callback }) => { + if (!name) { + throw new Error('Please provide a name'); + } + + if (!symbol) { + throw new Error('Please provide a symbol'); + } + const params = [name, symbol]; + const res = await this.__deploy(params, callback); + this.params.contractAddress = res.contractAddress; + /* Call to Backend API */ + await this.__assert(); + return res; + }; + + /** + * @function + * @return ERC20Contract|undefined + */ + getERC20Contract = () => this.params.ERC20Contract; +} + +export default ERC721Standard; diff --git a/src/models/IContract.js b/src/models/IContract.js index 6c21f16f..57cd6d3e 100644 --- a/src/models/IContract.js +++ b/src/models/IContract.js @@ -1,115 +1,147 @@ -import _ from 'lodash'; import Contract from '../utils/Contract'; +import Web3Connection from '../Web3Connection'; + +/** + * @typedef {Object} IContract~Options + * @property {boolean} test + * @property {boolean} localtest ganache local blockchain + * @property {ABI} abi + * @property {string} tokenAddress + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + +/** + * @typedef {Object} IContract~TxOptions + * @property {boolean} call + * @property [function():void] callback + * @property {number} gasFactor + * @property {number} gasLimit + * @property {string} gasPrice + * @property {*} value + */ /** * Contract Object Interface * @class IContract - * @param {Web3} web3 - * @param {Address} contractAddress ? (opt) - * @param {ABI} abi - * @param {Account} acc ? (opt) - * @param {Address} tokenAddress ? (opt) + * @param {IContract~Options} options */ - class IContract { constructor({ - web3, - contractAddress = null /* If not deployed */, abi, - acc, + contractAddress = null, // If not deployed + gasFactor = 1, // multiplier for gas estimations, may avoid out-of-gas tokenAddress, + web3Connection = null, // Web3Connection if exists, otherwise create one from the rest of params + ...params }) { - try { - if (!abi) { - throw new Error('No ABI Interface provided'); - } - if (!web3) { - throw new Error('Please provide a valid web3 provider'); - } - - this.web3 = web3; - - if (acc) { - this.acc = acc; - } - this.params = { - web3, - abi, - contractAddress, - tokenAddress, - contract: new Contract(web3, abi, contractAddress), - }; - } catch (err) { - throw err; + if (!abi) { + throw new Error('No ABI Interface provided'); + } + + if (!web3Connection) { + this.web3Connection = new Web3Connection(params); + this.web3Connection.start(); + } else { + this.web3Connection = web3Connection; } + + this.params = { + abi, + contract: new Contract(this.web3Connection.web3, abi, contractAddress), + contractAddress, + gasFactor, + tokenAddress, + web3Connection: this.web3Connection, + }; + + if (this.web3Connection.test) this._loadDataFromWeb3Connection(); } + /** + * Initialize by awaiting {@link IContract.__assert} + * @function + * @return {Promise} + * @throws {Error} if no {@link IContract.getAddress}, Please add a Contract Address + */ __init__ = async () => { - try { - if (!this.getAddress()) { - throw new Error('Please add a Contract Address'); - } - - await this.__assert(); - } catch (err) { - throw err; + if (!this.getAddress()) { + throw new Error('Please add a Contract Address'); } + + await this.__assert(); }; - __metamaskCall = async ({ - f, acc, value, callback = () => {}, - }) => new Promise((resolve, reject) => { - f.send({ - from: acc, - value, - gasPrice: 5000000000, // temp test - gas: 5913388, // 6721975 //temp test - }) - .on('confirmation', (confirmationNumber, receipt) => { - callback(confirmationNumber); - if (confirmationNumber > 0) { - resolve(receipt); - } - }) - .on('error', (err) => { - reject(err); - }); - }); - - __sendTx = async (f, call = false, value, callback = () => {}) => { - try { - let res; - if (!this.acc && !call) { - const accounts = await this.params.web3.eth.getAccounts(); - res = await this.__metamaskCall({ - f, - acc: accounts[0], + /** + * @function + * @params {*} f + * @params {IContract~TxOptions} options + * @return {Promise<*>} + */ + __sendTx = async (method, options) => { + const { call, value } = options || {}; + + if (!this.acc && !call) { + const { + callback, gasFactor, gasAmount, gasPrice, + } = options || {}; + const { params, web3Connection } = this; + + const from = await web3Connection.getAddress(); + const txGasPrice = gasPrice || await web3Connection.web3.eth.getGasPrice(); + const txGasAmount = gasAmount || await method.estimateGas({ from, value }); + const txGasFactor = gasFactor || params.gasFactor || 1; + + return new Promise((resolve, reject) => { + method.send({ + from, + gas: Math.round(txGasAmount * txGasFactor), + gasPrice: txGasPrice, value, - callback, - }); - } else if (this.acc && !call) { - const data = f.encodeABI(); - res = await this.params.contract - .send(this.acc.getAccount(), data, value) - .catch((err) => { - throw err; + }) + .on('confirmation', (confirmationNumber, receipt) => { + if (callback) { + callback(confirmationNumber); + } + + if (confirmationNumber > 0) { + resolve(receipt); + } + }) + .on('error', (err) => { + reject(err); }); - } else if (this.acc && call) { - res = await f.call({ from: this.acc.getAddress() }).catch((err) => { - throw err; - }); - } else { - res = await f.call().catch((err) => { + }); + } + + if (this.acc && !call) { + const data = method.encodeABI(); + return this.params.contract + .send(this.acc.getAccount(), data, value) + .catch((err) => { throw err; }); - } - return res; - } catch (err) { - throw err; } + + if (this.acc && call) { + return method.call({ from: this.acc.getAddress() }).catch((err) => { + throw err; + }); + } + + return method.call().catch((err) => { + throw err; + }); }; - __deploy = async (params, callback) => await this.params.contract.deploy( + /** + * Deploy current contract + * @function + * @param {*} params + * @param {function()} callback + * @return {Promise<*|undefined>} + */ + __deploy = (params, callback) => this.params.contract.deploy( this.acc, this.params.contract.getABI(), this.params.contract.getJSON().bytecode, @@ -117,7 +149,13 @@ class IContract { callback, ); - __assert = async () => { + /** + * Asserts and uses {@link IContract.params.contract} with {@link IContract.params.abi} + * @function + * @void + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ + __assert = () => { if (!this.getAddress()) { throw new Error( 'Contract is not deployed, first deploy it and provide a contract address', @@ -128,8 +166,28 @@ class IContract { }; /** + * Updates this contract's params. + * @function + * @param {Object} params + * @void + */ + updateParams = (params) => { + if (!params || typeof params !== 'object' || Array.isArray(params)) { + throw new Error('Supplied params should be a valid object'); + } + + this.params = { + ...this.params, + ...params, + }; + }; + + /** + * Deploy {@link IContract.params.contract} and call {@link IContract.__assert} * @function - * @description Deploy the Contract + * @param {Object} params + * @param {function():void} callback + * @return {Promise<*|undefined>} */ deploy = async ({ callback }) => { const params = []; @@ -149,109 +207,110 @@ class IContract { } /** - * @function - * @description Set New Owner of the Contract - * @param {string} address + * Set new owner of {@link IContract.params.contract} + * @param {Object} params + * @param {Address} params.address + * @return {Promise<*|undefined>} */ - async setNewOwner({ address }) { - return await this.__sendTx( + setNewOwner({ address }, options) { + return this.__sendTx( this.params.contract.getContract().methods.transferOwnership(address), + options, ); } /** - * @function - * @description Get Owner of the Contract - * @returns {string} address + * Get Owner of {@link IContract.params.contract} + * @returns {Promise} */ - async owner() { - return await this.params.contract.getContract().methods.owner().call(); + owner() { + return this.params.contract.getContract().methods.owner().call(); } /** - * @function - * @description Get Owner of the Contract - * @returns {boolean} + * Get the paused state of {@link IContract.params.contract} + * @returns {Promise} */ - async isPaused() { - return await this.params.contract.getContract().methods.paused().call(); + isPaused() { + return this.params.contract.getContract().methods.paused().call(); } /** - * @function - * @type admin - * @description Pause Contract + * (Admins only) Pauses the Contract + * @return {Promise<*|undefined>} */ - async pauseContract() { - return await this.__sendTx( + pauseContract(options) { + return this.__sendTx( this.params.contract.getContract().methods.pause(), + options, ); } /** - * @function - * @type admin - * @description Unpause Contract + * (Admins only) Unpause Contract + * @return {Promise<*|undefined>} */ - async unpauseContract() { - return await this.__sendTx( + unpauseContract(options) { + return this.__sendTx( this.params.contract.getContract().methods.unpause(), + options, ); } - /* Optional */ - /** - * @function - * @description Remove Tokens from other ERC20 Address (in case of accident) - * @param {Address} tokenAddress - * @param {Address} toAddress + * Remove Tokens from other ERC20 Address (in case of accident) + * @param {Object} params + * @param {Address} params.tokenAddress + * @param {Address} params.toAddress */ - async removeOtherERC20Tokens({ tokenAddress, toAddress }) { - return await this.__sendTx( + removeOtherERC20Tokens({ tokenAddress, toAddress }, options) { + return this.__sendTx( this.params.contract .getContract() .methods.removeOtherERC20Tokens(tokenAddress, toAddress), + options, ); } /** - * @function - * @description Remove all tokens for the sake of bug or problem in the smart contract, contract has to be paused first, only Admin - * @param {Address} toAddress + * (Admins only) Safeguards all tokens from {@link IContract.params.contract} + * @param {Object} params + * @param {Address} params.toAddress + * @return {Promise<*|undefined>} */ - async safeGuardAllTokens({ toAddress }) { - return await this.__sendTx( + safeGuardAllTokens({ toAddress }, options) { + return this.__sendTx( this.params.contract.getContract().methods.safeGuardAllTokens(toAddress), + options, ); } /** - * @function - * @description Change Token Address of Application - * @param {Address} newTokenAddress + * Change token address of {@link IContract.params.contract} + * @param {Object} params + * @param {Address} params.newTokenAddress + * @return {Promise<*|undefined>} */ - async changeTokenAddress({ newTokenAddress }) { - return await this.__sendTx( + changeTokenAddress({ newTokenAddress }, options) { + return this.__sendTx( this.params.contract .getContract() .methods.changeTokenAddress(newTokenAddress), + options, ); } /** - * @function - * @description Get Balance of Contract - * @param {Integer} Balance + * Returns the contract address + * @returns {string|null} Contract address */ getAddress() { return this.params.contractAddress; } /** - * @function - * @description Get Balance of Contract - * @param {Integer} Balance + * Get the Ether balance for the current {@link IContract#getAddress} using `fromWei` util of {@link IContract#web3} + * @returns {Promise} */ async getBalance() { const wei = await this.web3.eth.getBalance(this.getAddress()); @@ -259,21 +318,10 @@ class IContract { } /** - * @function - * @description Get contract current user/sender address - * @param {Address} User address - */ - async getUserAddress() { - if (this.acc) return this.acc.getAddress(); - - const accounts = await this.params.web3.eth.getAccounts(); - return accounts[0]; - } - - /** - * @function - * @description Verify that current user/sender is admin, throws an error otherwise - * @throws {Error} + * Verify that current user/sender is admin, throws an error otherwise + * @async + * @throws {Error} Only admin can perform this operation + * @void */ async onlyOwner() { /* Verify that sender is admin */ @@ -286,9 +334,10 @@ class IContract { } /** - * @function - * @description Verify that contract is not paused before sending a transaction, throws an error otherwise - * @throws {Error} + * Verify that contract is not paused before sending a transaction, throws an error otherwise + * @async + * @throws {Error} Contract is paused + * @void */ async whenNotPaused() { /* Verify that contract is not paused */ @@ -297,6 +346,79 @@ class IContract { throw new Error('Contract is paused'); } } + + /** + * @function + * @description Load data from Web3Connection object, + * Called at start when testing or at login on MAINNET + */ + _loadDataFromWeb3Connection() { + this.web3 = this.web3Connection.web3; + this.acc = this.web3Connection.account; + + // update some params properties with new values + this.params = { + ...this.params, + web3: this.web3, + contract: new Contract( + this.web3, + this.params.abi, + this.params.contractAddress, + ), + }; + } + + /** ***** */ + /** Web3Connection functions */ + /** ***** */ + + /** + * @function + * @description Start the Web3Connection + */ + start() { + if (!this.web3Connection.web3) { + this.web3Connection.start(); + } + this._loadDataFromWeb3Connection(); + } + + /** + * @function + * @description Login with Metamask/Web3 Wallet - substitutes start() + * @return {Promise} True is login was successful + */ + async login() { + const loginOk = await this.web3Connection.login(); + if (loginOk) this._loadDataFromWeb3Connection(); + return loginOk; + } + + /** + * @function + * @description Get ETH Network + * @return {Promise} Network Name (Ex : Kovan) + */ + getETHNetwork() { + return this.web3Connection.getETHNetwork(); + } + + /** + * Get contract current user/sender address + * @return {Promise|string} + */ + getUserAddress() { + return this.web3Connection.getAddress(); + } + + /** + * @function + * @description Get user ETH Balance of Address connected via login() + * @return {Promise} User ETH Balance + */ + getUserETHBalance() { + return this.web3Connection.getETHBalance(); + } } export default IContract; diff --git a/src/models/PredictionMarkets/ExchangeContract.js b/src/models/PredictionMarkets/ExchangeContract.js deleted file mode 100644 index bd63986b..00000000 --- a/src/models/PredictionMarkets/ExchangeContract.js +++ /dev/null @@ -1,365 +0,0 @@ -import _ from 'lodash'; -import { exchange } from '../../interfaces'; -import Numbers from '../../utils/Numbers'; -import IContract from '../IContract'; - -/** - * Exchange Contract Object - * @class ExchangeContract - * @param {Web3} web3 - * @param {Address} tokenAddress - * @param {Integer} decimals - * @param {Address} contractAddress ? (opt) - */ - -class ExchangeContract extends IContract { - constructor(params) { - super({ abi: exchange, ...params }); - } - - /* Get Functions */ - /** - * @function - * @description Get Events - * @returns {Integer | Array} Get Events ID - */ - async getEvents() { - const res = await this.params.contract - .getContract() - .methods.getEvents() - .call(); - return res.map(id => Numbers.fromHex(id)); - } - - /** - * @function - * @description Get Events - * @returns {Integer | Array} Get Events ID - */ - async getMyEvents() { - const res = await this.__sendTx( - this.params.contract.getContract().methods.getMyEvents(), - true, - ); - return res.map(id => Numbers.fromHex(id)); - } - - /** - * @function - * @description Get EventData - * @param {Integer} event_id - * @returns {String} Event Name - * @returns {Integer} Result Id - * @returns {String} URL Oracle - * @returns {Boolean} Is Resolved - */ - async getEventData({ event_id }) { - const r = await this.__sendTx( - this.params.contract.getContract().methods.getEventData(event_id), - true, - ); - - return { - name: r[0], - _resultId: Numbers.fromHex(r[1]), - urlOracle: r[2], - isResolved: r[3], - }; - } - - /** - * @function - * @description Get My Event Holdings - * @param {Integer} event_id - * @returns {Integer} 1 In Pool Balances - * @returns {Integer} 1 Out Pool Balances - * @returns {Integer} 1 Liquidity Balances - * @returns {Integer} 2 In Pool Balances - * @returns {Integer} 2 Out Pool Balances - * @returns {Integer} 2 Liquidity Balances - */ - - async getMyEventHoldings({ event_id }) { - const r = await this.__sendTx( - this.params.contract.getContract().methods.getMyEventHoldings(event_id), - true, - ); - - return { - inPoolBalancesA: r[0], - outPoolBalancesA: r[1], - liquidityA: r[2], - inPoolBalancesB: r[3], - outPoolBalancesB: r[4], - liquidityB: r[5], - }; - } - - /** - * @function - * @description Get Result Space Data - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @returns {Integer} _id - * @returns {Integer} _resultId - * @returns {Integer} pool - * @returns {Integer} cost - * @returns {Integer} odd - * @returns {Integer} amount - * @returns {Integer} inPool - * @returns {Integer} outPool - * @returns {Integer} fees - * @returns {Integer} liqAmount - */ - - async getResultSpaceData({ event_id, resultSpace_id }) { - const r = await this.__sendTx( - this.params.contract - .getContract() - .methods.getResultSpaceData(event_id, resultSpace_id), - true, - ); - - return { - _id: Numbers.fromHex(r[0]), - _resultId: Numbers.fromHex(r[1]), - pool: Numbers.fromDecimals(r[2], 18), - cost: Numbers.fromDecimals(r[3], 7), - odd: Numbers.fromDecimals(r[4], 4), - amount: Numbers.fromDecimals(r[5], 7), - inPool: Numbers.fromDecimals(r[6], 7), - outPool: Numbers.fromDecimals(r[7], 7), - fees: Numbers.fromDecimals(r[8], 7), - liqAmount: Numbers.fromDecimals(r[9], 7), - }; - } - - /** - * @function - * @description To see if Event is open - * @returns {Boolean} - */ - async isEventOpen() { - return await this.params.contract - .getContract() - .methods.isEventOpen() - .call(); - } - - /** - * @function - * @description Get Fractions Cost - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @return {Integer} cost - */ - - async getFractionsCost({ event_id, resultSpace_id, fractions_amount }) { - return Numbers.fromDecimals( - await this.__sendTx( - this.params.contract - .getContract() - .methods.getFractionsCost(event_id, resultSpace_id, fractions_amount), - true, - ), - 18, - ); - } - - /** - * @function - * @description Get Slipage on Buy - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @returns {Integer} _id - */ - async getSlipageOnBuy({ event_id, resultSpace_id, fractions_amount }) { - return await this.params.contract - .getContract() - .methods.getSlipageOnBuy(event_id, resultSpace_id, fractions_amount) - .call(); - } - - /** - * @function - * @description Get Slipage on Sell - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - * @returns {Integer} _id - */ - async getSlipageOnSell({ event_id, resultSpace_id, fractions_amount }) { - return await this.params.contract - .getContract() - .methods.getSlipageOnSell(event_id, resultSpace_id, fractions_amount) - .call(); - } - - /* POST User Functions */ - - /** - * @function - * @description Create an Event - * @param {Integer | Array} _resultSpaceIds - * @param {String} urlOracle - * @param {String} eventName - - */ - - createEvent = async ({ - resultSpaceIds, - urlOracle, - eventName, - ethAmount = 0, - }) => { - if (ethAmount == 0) { - throw new Error('Eth Amount has to be > 0'); - } - const ETHToWei = Numbers.toSmartContractDecimals(ethAmount, 18); - return await this.__sendTx( - this.params.contract - .getContract() - .methods.createEvent(resultSpaceIds, urlOracle, eventName), - false, - ETHToWei, - ); - }; - - /** - * @function - * @description Resolve Event - * @param {Integer} event_id - * @param {Integer} resultSpace_id - - */ - - resolveEvent = async ({ event_id, resultSpace_id }) => await this.__sendTx( - this.params.contract - .getContract() - .methods.resolveEvent(event_id, resultSpace_id), - ); - - /** - * @function - * @description Add Liquidity - * @param {Integer} eventId - */ - - addLiquidity = async ({ event_id, ethAmount }) => { - const ETHToWei = Numbers.toSmartContractDecimals(ethAmount, 18); - return await this.__sendTx( - this.params.contract.getContract().methods.addLiquidity(event_id), - false, - ETHToWei, - ); - }; - - /** - * @function - * @description Remove Liquidity - * @param {Integer} eventId - */ - - removeLiquidity = async ({ event_id }) => await this.__sendTx( - this.params.contract.getContract().methods.removeLiquidity(event_id), - ); - - /** - * @function - * @description Buy Fractions - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - buy = async ({ event_id, resultSpace_id, fractions_amount }) => { - // eslint-disable-next-line no-param-reassign - fractions_amount = Numbers.toSmartContractDecimals(fractions_amount, 7); - const ETHCost = await this.getFractionsCost({ - event_id, - resultSpace_id, - fractions_amount, - }); - const ETHToWei = Numbers.toSmartContractDecimals(ETHCost, 18); - return await this.__sendTx( - this.params.contract - .getContract() - .methods.buy(event_id, resultSpace_id, fractions_amount), - false, - ETHToWei, - ); - }; - - /** - * @function - * @description Sell Fractions - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - sell = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx( - this.params.contract - .getContract() - .methods.sell(event_id, resultSpace_id, fractions_amount), - ); - - /** - * @function - * @description Take Fractions out of the pool - * @param {Integer} event_id - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - pullFractions = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx( - this.params.contract - .getContract() - .methods.pullFractions(event_id, resultSpaceId, fractions_amount), - ); - - /** - * @function - * @description Move Fractions to the Pool - * @param {Integer} eventId - * @param {Integer} resultSpace_id - * @param {Integer} fractions_amount - */ - - pushFractions = async ({ event_id, resultSpace_id, fractions_amount }) => await this.__sendTx( - this.params.contract - .getContract() - .methods.pushFractions(event_id, resultSpace_id, fractions_amount), - ); - - /** - * @function - * @description Withdraw Wins on end of Event - * @param {Integer} event_id - * @param {Integer} resultSpace_id - */ - - withdrawWins = async ({ event_id, resultSpace_id }) => await this.__sendTx( - this.params.contract - .getContract() - .methods.withdrawWins(event_id, resultSpace_id), - ); - - /** - * @function - * @description Deploy the Pool Contract - - */ - deploy = async ({ callback }) => { - const params = []; - const res = await this.__deploy(params, callback); - this.params.contractAddress = res.contractAddress; - /* Call to Backend API */ - this.__assert(); - return res; - }; -} - -export default ExchangeContract; diff --git a/src/models/Staking/StakingContract.js b/src/models/Staking/StakingContract.js index b3af9cb6..142d84c1 100644 --- a/src/models/Staking/StakingContract.js +++ b/src/models/Staking/StakingContract.js @@ -4,95 +4,96 @@ import ERC20Contract from '../ERC20/ERC20Contract'; import IContract from '../IContract'; import Numbers from '../../utils/Numbers'; +/** + * @typedef {Object} StakingContract~Options + * @property {string} tokenAddress + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + /** * Staking Contract Object * @class StakingContract - * @param {Object} params - * @param {Address} params.tokenAddress + * @param {StakingContract~Options} options */ - class StakingContract extends IContract { constructor(params = {}) { - try { - super({ ...params, abi: staking }); - if (params.tokenAddress) { - this.params.ERC20Contract = new ERC20Contract({ - web3: params.web3, - contractAddress: params.tokenAddress, - acc: params.acc, - }); - } - } catch (err) { - throw err; + super({ ...params, abi: staking }); + if (params.tokenAddress) { + this.params.ERC20Contract = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: params.tokenAddress, + }); } } /** - * @function - * @description Get ERC20 Address of the Contract - * @returns {Address} + * Get ERC20 Address of the Contract + * @returns {Promise
    } */ - async erc20() { - return await this.__sendTx( + erc20() { + return this.__sendTx( this.params.contract.getContract().methods.erc20(), - true, + { call: true }, ); } /** + * Get Token Amount of ERC20 Address * @function - * @description Get Token Amount of ERC20 Address - * @returns {Address} + * @param {Object} params + * @param {Address} params.address + * @returns {Promise} */ - getTokenAmount = async ({ address }) => await this.getERC20Contract().getTokenAmount(address); + getTokenAmount = ({ address }) => this.getERC20Contract().getTokenAmount(address); /** - * @function - * @description Get All Tokens Locked for the APR - * @returns {Integer} + * Get All Tokens Locked for the APR + * @returns {Promise} */ async futureLockedTokens() { const res = await this.__sendTx( this.params.contract.getContract().methods.futureLockedTokens(), - true, + { call: true }, ); return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals()); } /** - * @function - * @description Get All Tokens Available for the Subscription Amount - * @returns {Integer} + * Get All Tokens Available for the Subscription Amount + * @returns {Promise} */ async availableTokens() { const res = await this.__sendTx( this.params.contract.getContract().methods.availableTokens(), - true, + { call: true }, ); return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals()); } /** - * @function - * @description Get All Tokens Held in Stake at that specific moment - * @returns {Integer} + * Get All Tokens Held in Stake at that specific moment + * @returns {Promise} */ async heldTokens() { const res = await this.__sendTx( this.params.contract.getContract().methods.heldTokens(), - true, + { call: true }, ); return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals()); } /** + * Get APR Amount based on amount of timestamp, amount and APR of that product * @function - * @description Get APR Amount based on amount of timestamp, amount and APR of that product - * @param {Integer} APR - * @param {Date} startDate - * @param {Date} endDate - * @param {Integer} amount Token Amount - * @returns {Integer} + * @param {Object} params + * @param {Integer} params.APR + * @param {Date} params.startDate + * @param {Date} params.endDate + * @param {Integer} params.amount Token Amount + * @returns {Promise} */ getAPRAmount = async ({ APR, startDate, endDate, amount, @@ -109,30 +110,33 @@ class StakingContract extends IContract { this.getERC20Contract().getDecimals(), ), ), - true, + { call: true }, ); return Numbers.fromDecimals(res, this.getERC20Contract().getDecimals()); }; + /** - * @function - * @description createProduct - * @param {Date} startDate - * @param {Date} endDate - * @param {Integer} totalMaxAmount - * @param {Integer} individualMinimumAmount - * @param {Integer} APR - * @param {Boolean} lockedUntilFinalization + * Creates a product + * @param {Object} params + * @param {Date} params.startDate + * @param {Date} params.endDate + * @param {Integer} params.totalMaxAmount + * @param {Integer} params.individualMinimumAmount + * @param {Integer} params.individualMaxAmount + * @param {Integer} params.APR + * @param {Boolean} params.lockedUntilFinalization + * @return {Promise} */ - - async createProduct({ + createProduct({ startDate, endDate, totalMaxAmount, individualMinimumAmount, + individualMaxAmount, APR, lockedUntilFinalization, - }) { - return await this.__sendTx( + }, options) { + return this.__sendTx( this.params.contract .getContract() .methods.createProduct( @@ -146,41 +150,54 @@ class StakingContract extends IContract { individualMinimumAmount, this.getERC20Contract().getDecimals(), ), + Numbers.toSmartContractDecimals( + individualMaxAmount, + this.getERC20Contract().getDecimals(), + ), APR, lockedUntilFinalization, ), + options, ); } /** + * Get All Available Products Ids * @function - * @description Get All Available Products - * @returns {Array | Integer} ids + * @returns {Promise} ids */ - getProducts = async () => await this.__sendTx( + getProducts = () => this.__sendTx( this.params.contract.getContract().methods.getProductIds(), - true, + { call: true }, ); /** + * @typedef {Object} StakingContract~Product + * @property {Date} createdAt + * @property {Date} startDate + * @property {Date} endDate + * @property {boolean} lockedUntilFinalization + * @property {number} APR + * @property {number} currentAmount + * @property {number} individualMinimumAmount + * @property {number} individualMaxAmount + * @property {number} totalMaxAmount + * @property {number[]} subscriptionIds + * @property {Address[]} subscribers + * @property {number} _id + */ + + /** + * Get product * @function - * @description Get Subscription from product - * @param {Integer} product_id - * @returns {Date} createdAt - * @returns {Date} startDate - * @returns {Date} endDate - * @returns {Integer} totalMaxAmount - * @returns {Integer} individualMinimumAmount - * @returns {Integer} APR - * @returns {Integer} currentAmount - * @returns {Boolean} lockedUntilFinalization - * @returns {Array | Address} subscribers - * @returns {Array | Integer} subscriptionIds + * @param {Object} params + * @param {number} params.product_id + * @return {Promise} */ getProduct = async ({ product_id }) => { const res = await this.__sendTx( this.params.contract.getContract().methods.getProduct(product_id), - true, + { call: true }, ); return { @@ -196,24 +213,29 @@ class StakingContract extends IContract { res[4], this.getERC20Contract().getDecimals(), ), - APR: parseInt(res[5], 10), + individualMaxAmount: Numbers.fromDecimals( + res[5], + this.getERC20Contract().getDecimals(), + ), + APR: parseInt(res[6], 10), currentAmount: Numbers.fromDecimals( - res[6], + res[7], this.getERC20Contract().getDecimals(), ), - lockedUntilFinalization: res[7], - subscribers: res[8], - subscriptionIds: Numbers.fromExponential(res[9]), + lockedUntilFinalization: res[8], + subscribers: res[9], + subscriptionIds: Numbers.fromExponential(res[10]), }; }; /** + * Approve ERC20 Allowance for Transfer for Subscribe Product * @function - * @description Approve ERC20 Allowance for Transfer for Subscribe Product + * @return {Promise} */ approveERC20Transfer = async () => { const totalMaxAmount = await this.getERC20Contract().totalSupply(); - return await this.getERC20Contract().approve({ + return this.getERC20Contract().approve({ address: this.getAddress(), amount: Numbers.toSmartContractDecimals( totalMaxAmount, @@ -223,13 +245,15 @@ class StakingContract extends IContract { }; /** + * Subscribe to a product Staking * @function - * @description Subscribe to a product Staking - * @param {Integer} product_id - * @param {Integer} amount - * @returns {Boolean} Success + * @param {Object} params + * @param {number} params.product_id + * @param {number} params.amount + * @throws {Error} Has to Approve Token Transfer First, use the 'approve' Call + * @returns {Promise} Success */ - subscribeProduct = async ({ address, product_id, amount }) => { + subscribeProduct = async ({ address, product_id, amount }, options) => { /* Get Decimals of Amount */ const amountWithDecimals = Numbers.toSmartContractDecimals( amount, @@ -247,32 +271,41 @@ class StakingContract extends IContract { ); } - return await this.__sendTx( + return this.__sendTx( this.params.contract .getContract() .methods.subscribeProduct(product_id, amountWithDecimals), + options, ); }; /** + * @typedef {Object} StakingContract~ProductSubscription + * @property {number} amount + * @property {number} APR + * @property {number} withdrawAmount + * @property {number} productId + * @property {number} _id + * @property {Address} subscriberAddress + * @property {Date} startDate + * @property {Date} endDate + * @property {boolean} finalized + */ + + /** + * Get Subscription from product * @function - * @description Get Subscription from product - * @param {Integer} product_id - * @param {Integer} subscription_id - * @returns {Integer} _id - * @returns {Integer} productId - * @returns {Date} startDate - * @returns {Date} endDate - * @returns {Address} subscriberAddress - * @returns {Integer} APR - * @returns {Boolean} finalized + * @param {Object} params + * @param {number} params.subscription_id + * @param {number} params.product_id + * @return {Promise} */ getSubscription = async ({ subscription_id, product_id }) => { const res = await this.__sendTx( this.params.contract .getContract() .methods.getSubscription(subscription_id, product_id), - true, + { call: true }, ); return { @@ -295,35 +328,39 @@ class StakingContract extends IContract { }; /** + * Withdraw Subscription to a product Staking * @function - * @description Withdraw Subscription to a product Staking - * @param {Integer} product_id - * @param {Integer} subscription_id + * @param {Object} params + * @param {number} params.subscription_id + * @param {number} params.product_id + * @return {Promise} */ - withdrawSubscription = async ({ product_id, subscription_id }) => await this.__sendTx( + withdrawSubscription = ({ product_id, subscription_id }, options) => this.__sendTx( this.params.contract .getContract() .methods.withdrawSubscription(product_id, subscription_id), + options, ); /** + * Get Subscriptions by Address * @function - * @description Get Subscriptions by Address - * @param {Address} address - * @returns {Array | Integer} subscriptions_ids + * @param {Object} params + * @param {Address} params.address + * @returns {Promise} subscriptions_ids */ getSubscriptionsByAddress = async ({ address }) => { const res = await this.__sendTx( this.params.contract.getContract().methods.getMySubscriptions(address), - true, + { call: true }, ); - return res.map(r => Numbers.fromExponential(r)); + return res.map((r) => Numbers.fromExponential(r)); }; /** + * Get All Subscriptions done * @function - * @description Get All Subscriptions done - * @returns {Array | Subscription} subscriptions + * @returns {Promise} subscriptions */ getAllSubscriptions = async () => { /* Get All Products */ @@ -335,8 +372,8 @@ class StakingContract extends IContract { const productObj = await this.getProduct({ product_id: product, }); - return await Promise.all( - productObj.subscriptionIds.map(async subscription_id => this.getSubscription({ + return Promise.all( + productObj.subscriptionIds.map(async (subscription_id) => this.getSubscription({ subscription_id, product_id: product, })), @@ -347,21 +384,23 @@ class StakingContract extends IContract { }; /** + * Transfer Tokens by the Admin to ensure APR Amount * @function - * @description Transfer Tokens by the Admin to ensure APR Amount - * @param {Integer} amount + * @param {Object} params + * @param {number} params.amount + * @param {Promise} amount */ - async depositAPRTokensByAdmin({ amount }) { - return await this.getERC20Contract().transferTokenAmount({ + depositAPRTokensByAdmin({ amount }) { + return this.getERC20Contract().transferTokenAmount({ toAddress: this.getAddress(), tokenAmount: amount, }); } /** + * Get Total Amount of tokens needed to be deposited by Admin to ensure APR for all available Products * @function - * @description Get Total Amount of tokens needed to be deposited by Admin to ensure APR for all available Products - * @return {Integer} Amount + * @return {Promise} Amount */ getTotalNeededTokensForAPRbyAdmin = async () => { const products = await this.getProducts(); @@ -386,7 +425,10 @@ class StakingContract extends IContract { }; /** - * @override + * @async + * @function + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + * @void */ __assert = async () => { if (!this.getAddress()) { @@ -394,25 +436,28 @@ class StakingContract extends IContract { 'Contract is not deployed, first deploy it and provide a contract address', ); } - /* Use ABI */ this.params.contract.use(staking, this.getAddress()); /* Set Token Address Contract for easy access */ - this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, - contractAddress: await this.erc20(), - acc: this.acc, - }); + if (!this.params.ERC20Contract) { + this.params.ERC20Contract = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: await this.erc20(), + }); + } /* Assert Token Contract */ + await this.params.ERC20Contract.start(); await this.params.ERC20Contract.__assert(); }; /** + * Deploy the Staking Contract * @function - * @override - * @description Deploy the Staking Contract + * @param [Object] params + * @param {function():void} params.callback + * @return {Promise<*>} */ deploy = async ({ callback } = {}) => { if (!this.getERC20Contract()) { @@ -426,6 +471,10 @@ class StakingContract extends IContract { return res; }; + /** + * @function + * @return ERC20Contract|undefined + */ getERC20Contract = () => this.params.ERC20Contract; } diff --git a/src/models/Voting/VotingContract.js b/src/models/Voting/VotingContract.js new file mode 100644 index 00000000..b6ab9310 --- /dev/null +++ b/src/models/Voting/VotingContract.js @@ -0,0 +1,342 @@ +import { voting } from '../../interfaces'; +import ERC20Contract from '../ERC20/ERC20Contract'; +import IContract from '../IContract'; +import Numbers from '../../utils/Numbers'; + +/** + * @typedef {Object} VotingContract~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + */ + +/** + * Voting Contract Object + * @class VotingContract + * @param {VotingContract~Options} options + */ +class VotingContract extends IContract { + constructor(params = {}) { + super({ ...params, abi: voting }); + } + + /** + * Get ERC20 Address of the Contract + * @returns {Promise
    } + */ + erc20() { + return this.__sendTx( + this.params.contract.getContract().methods.erc20(), + { call: true }, + ); + } + + /** + * Creates a Pool + * @param {String} params.description + * @param {Integer} params.expirationTime + * @param {Array | Integer} params.poolOptions + * @return {Promise} + */ + createPool({ + description, + expirationTime, + poolOptions, + }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.createPoll( + description, + Numbers.timeToSmartContractTime(expirationTime), + poolOptions, + ), + options, + ); + } + + /** + * Creates a Pool + * @param {Integer} params.poolId + * @return {Promise} + */ + endPool({ + poolId, + }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.endPool( + poolId, + ), + options, + ); + } + + /** + * Cast Vote + * @param {Integer} params.poolId Pool Id + * @param {Integer} params.voteId Vote Position on Length + * @return {Promise} + */ + castVote({ + poolId, + voteId, + }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.castVote( + poolId, + voteId, + ), + options, + ); + } + + /** + * Stake Voting Tokens + * @param {Integer} params.tokens Tokens + * @return {Promise} + */ + stakeVotingTokens({ + tokens, + }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.stakeVotingTokens( + Numbers.toSmartContractDecimals( + tokens, + this.getERC20Contract().getDecimals(), + ), + ), + options, + ); + } + + /** + * @typedef {Object} VotingContract~Pool + * @property {Address} creator + * @property {Bool} status + * @property {Integer} optionsSize + * @property {String} description + * @property {Array | Address} voters + * @property {Date} expirationTime + */ + + /** + * Get Pool Information + * @function + * @param {Object} params + * @param {Integer} params.poolId + * @return {Promise} + */ + getPoolInformation = async ({ poolId }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getPoolInformation(poolId), + { call: true }, + ); + + return { + _id: poolId, + creator: res[0], + status: res[1], + optionsSize: parseInt(res[2], 10), + descripton: res[3], + voters: res[4], + expirationTime: Numbers.fromSmartContractTimeToMinutes(res[5]), + }; + }; + + /** + * Get Pool Winner + * @function + * @param {Object} params + * @param {Integer} params.poolId + * @return {Integer} Winner Id + * @return {Integer} Winner Id Index + */ + getPoolWinner = async ({ poolId }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getPoolWinner(poolId), + { call: true }, + ); + + return { + winnerId: parseInt(res[0], 10), + optionId: parseInt(res[1], 10), + }; + }; + + /** + * Get Pool Winner + * @function + * @param {Object} params + * @param {Integer} params.poolId Pool Id + * @param {Integer} params.optionIndex Option Id for Pool + * @return {Integer} Option Id + */ + getPollOptionById = async ({ poolId, optionIndex }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getPollOptionById(poolId, optionIndex), + { call: true }, + ); + + return parseInt(res[0], 10); + }; + + /** + * Get Pool History for Address + * @function + * @param {Object} params + * @param {Address} params.address + * @return {Array | Integer} Pool Ids + */ + getPollHistory = async ({ address }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getPollHistory(address), + { call: true }, + ); + + return { + pools: res[0].map((r) => parseInt(r, 10)), + }; + }; + + /** + * Get Pool Info for Voter + * @function + * @param {Object} params + * @param {Integer} params.poolId + * @param {Address} params.voter + * @return {Integer} Vote + * @return {Integer} Weigth (Token Value) + */ + getPollInfoForVoter = async ({ poolId, voter }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getPollInfoForVoter(poolId, voter), + { call: true }, + ); + + return { + vote: parseInt(res[0], 10), + weigth: Numbers.toSmartContractDecimals( + res[1], + this.getERC20Contract().getDecimals(), + ), + }; + }; + + /** + * Check if a User has voted + * @function + * @param {Object} params + * @param {Integer} params.poolId + * @param {Address} params.voter + * @return {Bool} HasVoted + */ + userHasVoted = async ({ poolId, voter }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.userHasVoted(poolId, voter), + { call: true }, + ); + + return res[0]; + }; + + /** + * Get Locked Amount + * @function + * @param {Object} params + * @param {Address} params.voter + * @return {Integer} Locked Amount + */ + getLockedAmount = async ({ voter }) => { + const res = await this.__sendTx( + this.params.contract.getContract().methods.getLockedAmount(voter), + { call: true }, + ); + + return Numbers.toSmartContractDecimals( + res[0], + this.getERC20Contract().getDecimals(), + ); + }; + + /** + * Withdraw Tokens from Voting + * @param {Integer} params.tokens Tokens + * @return {Promise} + */ + withdrawTokens({ + tokens, + }, options) { + return this.__sendTx( + this.params.contract + .getContract() + .methods.withdrawTokens( + Numbers.toSmartContractDecimals( + tokens, + this.getERC20Contract().getDecimals(), + ), + ), + options, + ); + } + + /** + * @async + * @function + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + * @void + */ + __assert = async () => { + if (!this.getAddress()) { + throw new Error( + 'Contract is not deployed, first deploy it and provide a contract address', + ); + } + + /* Use ABI */ + this.params.contract.use(voting, this.getAddress()); + + /* Set Token Address Contract for easy access */ + if (!this.params.ERC20Contract) { + this.params.ERC20Contract = new ERC20Contract({ + web3Connection: this.web3Connection, + contractAddress: await this.erc20(), + }); + } + + /* Assert Token Contract */ + await this.params.ERC20Contract.start(); + await this.params.ERC20Contract.__assert(); + }; + + /** + * Deploy the Staking Contract + * @function + * @param [Object] params + * @param {Address} params.erc20Contract + * @param {function():void} params.callback + * @return {Promise<*>} + */ + deploy = async ({ erc20Contract, callback } = {}) => { + const params = [erc20Contract]; + const res = await this.__deploy(params, callback); + this.params.contractAddress = res.contractAddress; + /* Call to Backend API */ + await this.__assert(); + return res; + }; + + /** + * @function + * @return ERC20Contract|undefined + */ + getERC20Contract = () => this.params.ERC20Contract; +} + +export default VotingContract; diff --git a/src/models/custom/RealFvr/MarketplaceRealFvr.js b/src/models/custom/RealFvr/MarketplaceRealFvr.js index fed8bee8..4636b3d9 100644 --- a/src/models/custom/RealFvr/MarketplaceRealFvr.js +++ b/src/models/custom/RealFvr/MarketplaceRealFvr.js @@ -1,9 +1,8 @@ -import _ from 'lodash'; import { marketplaceRealFvr } from '../../../interfaces'; import Numbers from '../../../utils/Numbers'; import IContract from '../../IContract'; import ERC20Contract from '../../ERC20/ERC20Contract'; -import ERC721Standard from '../../ERC721/ERC721Contract'; +import ERC721Contract from '../../ERC721/ERC721Contract'; /** * MarketplaceRealFvr Object @@ -28,31 +27,38 @@ class MarketplaceRealFvr extends IContract { this.params.tokenAddress = await this.getERC20TokenAddress(); this.params.erc721Address = await this.getERC721TokenAddress(); - // Set Token Address Contract for easy access - this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, - contractAddress: this.params.tokenAddress, - acc: this.acc, - }); - + if (!this.isETHTransaction) { + // Set Token Address Contract for easy access + this.params.ERC20Contract = new ERC20Contract({ + acc: this.acc, + contractAddress: this.params.tokenAddress, + web3Connection: this.web3Connection, + }); + + try { + // Assert Token Contract + await this.params.ERC20Contract.__assert(); + } catch (err) { + throw new Error(`Problem on ERC20 Assert, confirm ERC20 'tokenAddress'${err}`); + } + } // Set Token Address Contract for easy access - this.params.ERC721Contract = new ERC721Standard({ - web3: this.web3, - contractAddress: this.params.tokenAddress, + this.params.ERC721Contract = new ERC721Contract({ acc: this.acc, + contractAddress: this.params.tokenAddress, + web3Connection: this.web3Connection, }); try { // Assert Token Contract - await this.params.ERC20Contract.__assert(); await this.params.ERC721Contract.__assert(); } catch (err) { - throw new Error(`Problem on ERC20 Assert, confirm ERC20 'tokenAddress'${err}`); + throw new Error(`Problem on ERC721 Assert, confirm ERC721 'tokenAddress'${err}`); } }; - isETHTransaction = async () => await this.getERC20TokenAddress() == '0x0000000000000000000000000000000000000000'; + isETHTransaction = () => this.params.tokenAddress === '0x0000000000000000000000000000000000000000'; /** * @function @@ -62,14 +68,15 @@ class MarketplaceRealFvr extends IContract { * @param {String} params.price Price (Token Amount) * @returns {TransactionObject} Success the Tx Object if operation was successful */ - putERC721OnSale = async ({ tokenId, price }) => { + putERC721OnSale = async ({ tokenId, price }, options) => { const valueWithDecimals = Numbers.toSmartContractDecimals( price, await this.isETHTransaction() ? 18 : this.getERC20Contract().getDecimals(), ); - return await this.__sendTx( + return this.__sendTx( this.params.contract.getContract().methods.putERC721OnSale(tokenId, valueWithDecimals), + options, ); }; @@ -80,11 +87,12 @@ class MarketplaceRealFvr extends IContract { * @param {String} params.tokenId Token Id * @returns {TransactionObject} Success the Tx Object if operation was successful */ - removeERC721FromSale = async ({ tokenId }) => await this.__sendTx( - this.params.contract.getContract().methods.removeERC721FromSale(tokenId), - ); + removeERC721FromSale = ({ tokenId }, options) => this.__sendTx( + this.params.contract.getContract().methods.removeERC721FromSale(tokenId), + options, + ); - /** + /** * @function * @description Buy ERC721 from Sale * @param {Object} params Parameters @@ -92,33 +100,46 @@ class MarketplaceRealFvr extends IContract { * @param {Integer} params.value If Native ETH, value = 0.1 ETH; if ERC20 value is 0 or optional * @returns {TransactionObject} Success the Tx Object if operation was successful */ - buyERC721 = async ({ tokenId, value = 0 }) => await this.__sendTx( - this.params.contract.getContract().methods.buyERC721(tokenId), false, Numbers.toSmartContractDecimals(value, 18), + buyERC721 = async ({ tokenId, value = 0 }, options) => { + const valueWithDecimals = Numbers.toSmartContractDecimals( + value, + await this.isETHTransaction() ? 18 : this.getERC20Contract().getDecimals(), ); - /** + return this.__sendTx( + this.params.contract.getContract().methods.buyERC721(tokenId), + { + value: valueWithDecimals, + ...options, + }, + ); + }; + + /** * @function * @description Change ERC20 Address * @param {Object} params Parameters * @param {String} params.erc20TokenAddress ERC20TokenAddress * @returns {TransactionObject} Success the Tx Object if operation was successful */ - changeERC20 = async ({ erc20TokenAddress }) => await this.__sendTx( - this.params.contract.getContract().methods.changeERC20(erc20TokenAddress), - ); + changeERC20 = ({ erc20TokenAddress }, options) => this.__sendTx( + this.params.contract.getContract().methods.changeERC20(erc20TokenAddress), + options, + ); - /** + /** * @function * @description Change ERC20 Address * @param {Object} params Parameters * @param {String} params.erc721TokenAddress ERC721TokenAddress * @returns {TransactionObject} Success the Tx Object if operation was successful */ - changeERC721 = async ({ erc721TokenAddress }) => await this.__sendTx( - this.params.contract.getContract().methods.changeERC721(erc721TokenAddress), - ); + changeERC721 = ({ erc721TokenAddress }, options) => this.__sendTx( + this.params.contract.getContract().methods.changeERC721(erc721TokenAddress), + options, + ); - /** + /** * @function * @description Change ERC20 Address * @param {Object} params Parameters @@ -126,44 +147,40 @@ class MarketplaceRealFvr extends IContract { * @param {String} params.feePercentage Fee Percentage (1 = 1%) * @returns {TransactionObject} Success the Tx Object if operation was successful */ - setFixedFees = async ({ feeAddress, feePercentage }) => await this.__sendTx( - this.params.contract.getContract().methods.setFixedFees(feeAddress, feePercentage), - ); + setFixedFees = ({ feeAddress, feePercentage }, options) => this.__sendTx( + this.params.contract.getContract().methods.setFixedFees(feeAddress, feePercentage), + options, + ); - /** + /** * @function * @description Get ERC20 Token Address * @returns {Address} Token Address */ - getERC20TokenAddress = async () => await this.params.contract.getContract().methods.erc20Address().call(); + getERC20TokenAddress = () => this.params.contract.getContract().methods.erc20Address().call(); - /** + /** * @function * @description Get ERC721 Token Address * @returns {Address} Token Address */ - getERC721TokenAddress = async () => await this.params.contract.getContract().methods.erc721Address().call(); + getERC721TokenAddress = () => this.params.contract.getContract().methods.erc721Address().call(); - /** + /** * @function * @description Get FeeAddress * @returns {Address} Fee Address */ - getFeeAddress = async () => await this.params.contract.getContract().methods.feeAddress().call(); + getFeeAddress = () => this.params.contract.getContract().methods.feeAddress().call(); - /** + /** * @function * @description Get Amount of ERC721s ever in sale * @returns {Integer} Amount of NFTs in Sale */ - getAmountofNFTsEverInSale = async () => { - parseInt( - await this.params.contract.getContract().methods.saleIncrementId().call(), 10, - ) - 1; - } - + getAmountofNFTsEverInSale = async () => parseInt(await this.params.contract.getContract().methods.saleIncrementId().call(), 10) - 1; - /** + /** * @function * @description Approve ERC721 to be put on Sale * @param {Object} params Parameters @@ -171,9 +188,9 @@ class MarketplaceRealFvr extends IContract { * @param {Bool} params.approve If to Approve * @returns {TransactionObject} Success the Tx Object if operation was successful */ - approveERC721use = async ({ to, approve = true }) => await this.getERC721Contract().setApprovalForAll({ to, approve }) + approveERC721use = ({ to, approve = true }) => this.getERC721Contract().setApprovalForAll({ to, approve }); - /** + /** * @function * @description User deploys the contract * @param {Object} params Parameters @@ -181,20 +198,20 @@ class MarketplaceRealFvr extends IContract { * @param {Address} params.erc721TokenAddress Address of the Contract * @returns {Boolean} Success the Tx Object if operation was successful */ - deploy = async ({ - erc20TokenAddress = '0x0000000000000000000000000000000000000000', erc721TokenAddress, callback, - }) => { - const params = [erc20TokenAddress, erc721TokenAddress]; - const res = await this.__deploy(params, callback); - this.params.contractAddress = res.contractAddress; - /* Call to Backend API */ - await this.__assert(); - return res; - }; - - getERC20Contract = () => this.params.ERC20Contract; - - getERC721Contract = () => this.params.ERC721Contract; + deploy = async ({ + erc20TokenAddress = '0x0000000000000000000000000000000000000000', erc721TokenAddress, callback, + }) => { + const params = [erc20TokenAddress, erc721TokenAddress]; + const res = await this.__deploy(params, callback); + this.params.contractAddress = res.contractAddress; + /* Call to Backend API */ + await this.__assert(); + return res; + }; + + getERC20Contract = () => this.params.ERC20Contract; + + getERC721Contract = () => this.params.ERC721Contract; } export default MarketplaceRealFvr; diff --git a/src/models/custom/RealFvr/OpenerRealFvr.js b/src/models/custom/RealFvr/OpenerRealFvr.js index 87fcd40c..20699e09 100644 --- a/src/models/custom/RealFvr/OpenerRealFvr.js +++ b/src/models/custom/RealFvr/OpenerRealFvr.js @@ -1,21 +1,33 @@ -import _ from 'lodash'; import { openerRealFvr } from '../../../interfaces'; import Numbers from '../../../utils/Numbers'; import IContract from '../../IContract'; import ERC20Contract from '../../ERC20/ERC20Contract'; +/** + * @typedef {Object} OpenerRealFvr~Options + * @property {Boolean} test + * @property {Boolean} localtest ganache local blockchain + * @property {Web3Connection} [web3Connection=Web3Connection] created from params: 'test', 'localtest' and optional 'web3Connection' string and 'privateKey' + * @property {string} [contractAddress] + * @property {string} [tokenAddress] + */ + /** * OpenerRealFvr Object * @class OpenerRealFvr - * @param {Object} params Parameters - * @param {Address} params.contractAddress Contract Address (If Deployed) - * @param {Address} params.tokenAddress Token Purchase Address + * @param {OpenerRealFvr~Options} options */ class OpenerRealFvr extends IContract { constructor(params = {}) { super({ abi: openerRealFvr, ...params }); } + /** + * Asserts a new {@link ERC20Contract} on the current address + * @function + * @return {Promise} + * @throws {Error} Contract is not deployed, first deploy it and provide a contract address + */ __assert = async () => { if (!this.getAddress()) { throw new Error( @@ -30,9 +42,8 @@ class OpenerRealFvr extends IContract { } // Set Token Address Contract for easy access this.params.ERC20Contract = new ERC20Contract({ - web3: this.web3, + web3Connection: this.web3Connection, contractAddress: this.params.tokenAddress, - acc: this.acc, }); try { // Assert Token Contract @@ -43,80 +54,85 @@ class OpenerRealFvr extends IContract { }; /** + * Buy Pack * @function - * @description Buy Pack * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id - * @returns {Transaction} Transaction + * @param {number} params.packId Pack Id + * @returns {Promise} Transaction */ - buyPack = async ({ packId }) => await this.__sendTx( + buyPack = ({ packId }, options) => this.__sendTx( this.params.contract.getContract().methods.buyPack(packId), + options, ); /** + * Offer Pack * @function * @description Buy Packs * @param {Object} params Parameters * @param {Array | Integer} params.packIds Pack Id * @returns {Transaction} Transaction */ - buyPacks = async ({ packIds }) => await this.__sendTx( - this.params.contract.getContract().methods.buyPacks(packIds), - ); + buyPacks = ({ packIds }, options) => this.__sendTx( + this.params.contract.getContract().methods.buyPacks(packIds), + options, + ); - /** + /** * @function * @description Open Pack * @param {Object} params Parameters * @param {Integer} params.packId Pack Id * @returns {Transaction} Transaction */ - openPack = async ({ packId }) => await this.__sendTx( - this.params.contract.getContract().methods.openPack(packId), - ); + openPack = ({ packId }, options) => this.__sendTx( + this.params.contract.getContract().methods.openPack(packId), + options, + ); - /** + /** * @function * @description Open Packs * @param {Object} params Parameters * @param {Array | Integer} params.packIds Pack Id * @returns {Transaction} Transaction */ - openPacks = async ({ packIds }) => await this.__sendTx( + openPacks = ({ packIds }, options) => this.__sendTx( this.params.contract.getContract().methods.openPacks(packIds), + options, ); /** * @function * @description Offer Pack * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id - * @param {Address} params.receivingAddress Pack Id Integer - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {number} params.packId Pack Id + * @param {Address} params.receivingAddress Pack Id number + * @returns {Promise} Success the Tx Object if operation was successful */ - offerPack = async ({ packId, receivingAddress }) => await this.__sendTx( + offerPack = ({ packId, receivingAddress }, options) => this.__sendTx( this.params.contract .getContract() .methods.offerPack(packId, receivingAddress), + options, ); /** + * Create Pack * @function - * @description Create Pack * @param {Object} params Parameters - * @param {Integer} params.nftAmount Amount of NFTs/Tokens - * @param {Integer} params.price Price of Pack (100 = $1; 1 = $0.01) - * @param {String} params.serie Serie of Pack - * @param {String} params.packType Pack Type - * @param {String} params.drop Pack Drop + * @param {number} params.packNumber Pack Number + * @param {number} params.nftAmount Amount of NFTs/Tokens + * @param {number} params.price Price of Pack + * @param {string} params.serie Serie of Pack + * @param {string} params.packType Pack Type + * @param {string} params.drop Pack Drop * @param {Date} params.saleStart Start Date - * @param {Address | Array} params.saleDistributionAddresses Revenue Addresses of the First Purchase - * @param {Integer | Array} params.saleDistributionAmounts Revenue Amounts of the First Purchase - * @param {Address | Array} params.marketplaceDistributionAddresses Revenue Addresses of the Marketplace Sales - * @param {Integer | Array} params.marketplaceDistributionAmounts Revenue Amounts of the Marketplace Sales - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {Address | Address[]} params.saleDistributionAddresses Revenue Addresses of the First Purchase + * @param {number | number[]} params.saleDistributionAmounts Revenue Amounts of the First Purchase + * @returns {Promise} Success the Tx Object if operation was successful */ - createPack = async ({ + createPack = ({ nftAmount, price, serie, @@ -127,7 +143,7 @@ class OpenerRealFvr extends IContract { saleDistributionAmounts, marketplaceDistributionAddresses, marketplaceDistributionAmounts, - }) => await this.__sendTx( + }, options) => this.__sendTx( this.params.contract .getContract() .methods.createPack( @@ -142,23 +158,24 @@ class OpenerRealFvr extends IContract { marketplaceDistributionAddresses, marketplaceDistributionAmounts, ), + options, ); /** + * Edit Pack Info * @function - * @description Edit Pack Info * @param {Object} params Parameters - * @param {Integer} params.packId Pack Number + * @param {number} params.packId Pack Number * @param {Date} params.saleStart Time of Start of the Sale - * @param {String} params.serie Serie of Pack - * @param {String} params.packType Pack Type - * @param {String} params.drop Pack Drop - * @param {Integer} params.price Pack Price - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {string} params.serie Serie of Pack + * @param {string} params.packType Pack Type + * @param {string} params.drop Pack Drop + * @param {number} params.price Pack Price + * @returns {Promise} Success the Tx Object if operation was successful */ - editPackInfo = async ({ + editPackInfo = ({ packId, saleStart, price, serie, packType, drop, - }) => await this.__sendTx( + }, options) => this.__sendTx( this.params.contract .getContract() .methods.editPackInfo( @@ -169,113 +186,119 @@ class OpenerRealFvr extends IContract { drop, Numbers.toSmartContractDecimals(price, 3), ), + options, ); /** + * Delete Pack * @function - * @description Delete Pack * @param {Object} params Parameters - * @param {Integer} params.packId Pack Id Integer - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {number} params.packId Pack Id number + * @returns {Promise} Success the Tx Object if operation was successful */ - deletePackById = async ({ packId }) => await this.__sendTx( + deletePackById = ({ packId }, options) => this.__sendTx( this.params.contract.getContract().methods.deletePackById(packId), + options, ); /** + * Mint Token Id (After buying a pack) * @function - * @description Mint Token Id (After buying a pack) * @param {Object} params Parameters - * @param {Integer} params.tokenId Token ID - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {number} params.tokenId Token ID + * @returns {Promise} Success the Tx Object if operation was successful */ - mint = async ({ tokenId }) => await this.__sendTx( + mint = ({ tokenId }, options) => this.__sendTx( this.params.contract.getContract().methods.mint(tokenId), + options, ); /** + * Set Purchase Token * @function - * @description Set Purchase Token * @param {Object} params Parameters * @param {Address} params.address Token Address - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @returns {Promise} Success the Tx Object if operation was successful */ - setPurchaseTokenAddress = async ({ address }) => await this.__sendTx( + setPurchaseTokenAddress = ({ address }, options) => this.__sendTx( this.params.contract .getContract() .methods.setPurchaseTokenAddress(address), + options, ); /** + * Lock the Contract * @function - * @description Lock the Contract - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @returns {Promise} Success the Tx Object if operation was successful */ - lock = async () => await this.__sendTx(this.params.contract.getContract().methods.lock()); + lock = (options) => this.__sendTx(this.params.contract.getContract().methods.lock(), options); /** + * Unlock the Contract * @function - * @description Unlock the Contract - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @returns {Promise} Success the Tx Object if operation was successful */ - unlock = async () => await this.__sendTx(this.params.contract.getContract().methods.unlock()); + unlock = (options) => this.__sendTx(this.params.contract.getContract().methods.unlock(), options); /** + * Set Token Price of Real Fvr in USD --> 1*10**18 as input means 1 Real Fvr = $0.000001 * @function - * @description Set Token Price of Real Fvr in USD --> 1*10**18 as input means 1 Real Fvr = $0.000001 * @param {Object} params Parameters * @param {Price} params.price Token Price - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @returns {Promise} Success the Tx Object if operation was successful */ - setTokenWorthof1USD = async ({ price }) => await this.__sendTx( + setTokenWorthof1USD = ({ price }, options) => this.__sendTx( this.params.contract .getContract() .methods.setTokenPriceInUSD(price), + options, ); /** + * Set Base Id URI * @function - * @description Set Base Id URI * @param {Object} params Parameters - * @param {String} params.uri URI of the Token Id Metadata JSON - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {string} params.uri URI of the Token Id Metadata JSON + * @returns {Promise} Success the Tx Object if operation was successful */ - setBaseURI = async ({ uri }) => await this.__sendTx( + setBaseURI = ({ uri }, options) => this.__sendTx( this.params.contract.getContract().methods.setBaseURI(uri), + options, ); /** + * Set Specific Token Id URI * @function - * @description Set Specific Token Id URI * @param {Object} params Parameters - * @param {Integer} params.tokenId Token ID - * @param {String} params.uri URI of the Token Id Metadata JSON - * @returns {TransactionObject} Success the Tx Object if operation was successful + * @param {number} params.tokenId Token ID + * @param {string} params.uri URI of the Token Id Metadata JSON + * @returns {Promise} Success the Tx Object if operation was successful */ - setTokenURI = async ({ tokenId, uri }) => await this.__sendTx( + setTokenURI = ({ tokenId, uri }, options) => this.__sendTx( this.params.contract.getContract().methods.setTokenURI(tokenId, uri), + options, ); /** + * Get Pack If Information * @function - * @description Get Pack If Information * @param {Object} params Parameters - * @param {Integer} params.packId - * @returns {Integer} packId - * @returns {Integer} price - * @returns {String} serie - * @returns {String} drop - * @returns {String} packType + * @param {number} params.packId + * @returns {number} packId + * @returns {number} packNumber + * @returns {number} price + * @returns {string} serie + * @returns {string} drop + * @returns {string} packType * @returns {Address} buyer - * @returns {Array | Address} saleDistributionAddresses - * @returns {Array | Integer} saleDistributionAmounts - * @returns {Bool} opened + * @returns {Address[] | Address} saleDistributionAddresses + * @returns {Promise} saleDistributionAmounts */ getPackbyId = async ({ packId }) => { - const res = await this.params.contract - .getContract() - .methods.getPackbyId(packId) - .call(); + const res = await + this.params.contract.getContract() + .methods.getPackbyId(packId).call(); return { packId, @@ -286,12 +309,13 @@ class OpenerRealFvr extends IContract { packType: res[5], buyer: res[6], saleDistributionAddresses: res[7], - saleDistributionAmounts: res[8] ? res[8].map(a => parseInt(a, 10)) : [], + saleDistributionAmounts: res[8] ? res[8].map((a) => parseInt(a, 10)) : [], opened: res[9], }; }; /** + * Get Token IDs that were already bought via a pack * @function * @description Get Token IDs that were already bought via a pack * @param {Object} params Parameters @@ -304,10 +328,11 @@ class OpenerRealFvr extends IContract { .methods.getRegisteredIDs(address) .call(); - return res.map(a => parseInt(a, 10)); + return res.map((a) => parseInt(a, 10)); }; /** + * Verify if a Token was already minted * @function * @description Get Distribution Sales Description for ERC721 Marketplace Sales * @param {Object} params Parameters @@ -315,34 +340,36 @@ class OpenerRealFvr extends IContract { * @returns {Array | Integer} Distribution Amounts * @returns {Array | Address} Distribution Addresses */ - getMarketplaceDistributionForERC721 = async ({ tokenId }) => { - const res = await this.params.contract - .getContract() - .methods.getMarketplaceDistributionForERC721(tokenId) - .call(); - - return { - distributionAmounts: res[0].map(a => parseInt(a, 10)), - distributionAddresses: res[1], - }; - }; + getMarketplaceDistributionForERC721 = async ({ tokenId }) => { + const res = await this.params.contract + .getContract() + .methods.getMarketplaceDistributionForERC721(tokenId) + .call(); + + return { + distributionAmounts: res[0].map((a) => parseInt(a, 10)), + distributionAddresses: res[1], + }; + }; /** * @function * @description Verify if a Token was already minted * @param {Object} params Parameters - * @param {Integer} params.tokenId - * @returns {Bool} wasMinted + * @param {number} params.tokenId + * @returns {Promise} wasMinted */ - exists = async ({ tokenId }) => await this.params.contract.getContract().methods.exists(tokenId).call(); - + exists = ({ tokenId }) => this.params.contract + .getContract() + .methods.exists(tokenId) + .call(); /** * @function * @description Get Purchase Token Address * @returns {Address} Token Address */ - getPurchaseToken = async () => await this.params.contract.getContract().methods._purchaseToken().call(); + getPurchaseToken = () => this.params.contract.getContract().methods._purchaseToken().call(); /** * @function @@ -357,57 +384,55 @@ class OpenerRealFvr extends IContract { this.getERC20Contract().getDecimals(), ); - /** + * Get Cost in Fvr Tokens of the Pack * @function - * @description Get Cost in Fvr Tokens of the Pack * @param {Object} params Parameters - * @param {Integer} params.packId - * @returns {Integer} Price in Real Fvr Tokens + * @param {number} params.packId + * @returns {Promise} Price in Real Fvr Tokens */ - getPackPriceInFVR = async ({ packId }) => Numbers.fromDecimals( - await this.params.contract - .getContract() - .methods.getPackPriceInFVR(packId) - .call(), - this.getERC20Contract().getDecimals(), - ); + getPackPriceInFVR = async ({ packId }) => Numbers.fromDecimals(await + this.params.contract.getContract() + .methods.getPackPriceInFVR(packId).call(), this.getERC20Contract().getDecimals()); /** + * Get Amount of Packs Created * @function - * @description Get Amount of Packs Created - * @returns {Integer} packsAmount + * @returns {Promise} packsAmount */ getAmountOfPacksCreated = async () => parseInt( - await this.params.contract.getContract().methods.packIncrementId().call(), 10, + await this.params.contract.getContract().methods.packIncrementId().call(), + 10, ); /** + * Get Amount of Packs Opened * @function - * @description Get Amount of Packs Opened - * @returns {Integer} packsAmount + * @returns {Promise} packsAmount */ getAmountOfPacksOpened = async () => parseInt( - await this.params.contract.getContract().methods._openedPacks().call(), 10, + await this.params.contract.getContract().methods._openedPacks().call(), + 10, ); /** + * Get Amount of Tokens/NFTs Created (Inherent to the Packs) * @function - * @description Get Amount of Tokens/NFTs Created (Inherent to the Packs) - * @returns {Integer} tokensAmount + * @returns {Promise} tokensAmount */ getAmountOfTokensCreated = async () => parseInt( - await this.params.contract.getContract().methods.lastNFTID().call(), 10, + await this.params.contract.getContract().methods.lastNFTID().call(), + 10, ); /** + * User deploys the contract * @function - * @description User deploys the contract * @param {Object} params Parameters - * @param {String} params.name Name of the Contract - * @param {String} params.symbol Symbol of the Contract + * @param {string} params.name Name of the Contract + * @param {string} params.symbol Symbol of the Contract * @param {Address} params.tokenAddress token Address of the purchase Token in use - * @returns {Boolean} Success the Tx Object if operation was successful + * @returns {Promise} Success the Tx Object if operation was successful */ deploy = async ({ name, symbol, tokenAddress, callback, @@ -420,6 +445,10 @@ class OpenerRealFvr extends IContract { return res; }; + /** + * @function + * @return ERC20Contract|undefined + */ getERC20Contract = () => this.params.ERC20Contract; } diff --git a/src/models/index.js b/src/models/index.js index 89a0ff36..5b93e633 100644 --- a/src/models/index.js +++ b/src/models/index.js @@ -1,21 +1,25 @@ import ERC20Contract from './ERC20/ERC20Contract'; -import ExchangeContract from './PredictionMarkets/ExchangeContract'; import StakingContract from './Staking/StakingContract'; import ERC20TokenLock from './ERC20/ERC20TokenLock'; import ERC721Collectibles from './ERC721/ERC721Collectibles'; import ERC721Contract from './ERC721/ERC721Contract'; +import ERC721Standard from './ERC721/ERC721Standard'; import OpenerRealFvr from './custom/RealFvr/OpenerRealFvr'; +import Network from './BEPRO/Network'; +import NetworkFactory from './BEPRO/NetworkFactory'; +import VotingContract from './Voting/VotingContract'; import MarketplaceRealFvr from './custom/RealFvr/MarketplaceRealFvr'; -import BEPRONetwork from './BEPRO/Network'; export { ERC20Contract, - MarketplaceRealFvr, - ExchangeContract, StakingContract, ERC20TokenLock, ERC721Collectibles, - BEPRONetwork, - OpenerRealFvr, ERC721Contract, + ERC721Standard, + MarketplaceRealFvr, + NetworkFactory, + Network, + VotingContract, + OpenerRealFvr, }; diff --git a/src/utils/Contract.js b/src/utils/Contract.js index 4284d330..42c36c39 100644 --- a/src/utils/Contract.js +++ b/src/utils/Contract.js @@ -8,21 +8,21 @@ class Contract { } async deploy(account, abi, byteCode, args = [], callback = () => {}) { - return new Promise(async (resolve, reject) => { - try { - this.contract = new this.web3.eth.Contract(abi); - if (account) { - const txSigned = await account.getAccount().signTransaction({ - data: this.contract - .deploy({ - data: byteCode, - arguments: args, - }) - .encodeABI(), - from: account.getAddress(), - gasPrice: 5000000000, - gas: 8913388, - }); + this.contract = new this.web3.eth.Contract(abi); + if (account) { + const txSigned = await account.getAccount().signTransaction({ + data: this.contract + .deploy({ + data: byteCode, + arguments: args, + }) + .encodeABI(), + from: account.getAddress(), + gasPrice: 5000000000, + gas: 8913388, + }); + return new Promise((resolve, reject) => { + try { this.web3.eth .sendSignedTransaction(txSigned.rawTransaction) .on('confirmation', (confirmationNumber, receipt) => { @@ -30,28 +30,26 @@ class Contract { resolve(receipt); } }); - } else { - const accounts = await this.web3.eth.getAccounts(); - const res = await this.__metamaskDeploy({ - byteCode, - args, - acc: accounts[0], - callback, - }); - this.address = res.contractAddress; - resolve(res); + } catch (ex) { + reject(ex); } - } catch (err) { - reject(err); - } + }); + } + const accounts = await this.web3.eth.getAccounts(); + const res = await this.__metamaskDeploy({ + byteCode, + args, + acc: accounts[0], + callback, }); + this.address = res.contractAddress; + return res; } - __metamaskDeploy = async ({ + __metamaskDeploy = ({ byteCode, args, acc, callback = () => {}, }) => new Promise((resolve, reject) => { try { - console.log(`Contract.__metamaskDeploy.acc: ${acc}`); this.getContract() .deploy({ data: byteCode, @@ -67,21 +65,15 @@ class Contract { gas: 5913388, // 6721975 }) .on('confirmation', (confirmationNumber, receipt) => { - console.log( - `Contract.__metamaskDeploy.confirmationNumber: ${ - confirmationNumber}`, - ); callback(confirmationNumber); if (confirmationNumber > 0) { resolve(receipt); } }) .on('error', (err) => { - console.log(`Contract.__metamaskDeploy.error: ${err}`); reject(err); }); } catch (err) { - console.log(`Contract.__metamaskDeploy.catch.error: ${err}`); reject(err); } }); @@ -94,17 +86,18 @@ class Contract { } async send(account, byteCode, value = '0x0', callback = () => {}) { - return new Promise(async (resolve, reject) => { - const tx = { - data: byteCode, - from: account.address, - to: this.address, - gas: 4430000, - gasPrice: 5000000000, - value: value || '0x0', - }; + const tx = { + data: byteCode, + from: account.address, + to: this.address, + gas: 4430000, + gasPrice: await this.web3.eth.getGasPrice(), + value: value || '0x0', + }; + + const result = await account.signTransaction(tx); - const result = await account.signTransaction(tx); + return new Promise((resolve, reject) => { this.web3.eth .sendSignedTransaction(result.rawTransaction) .on('confirmation', (confirmationNumber, receipt) => { diff --git a/src/utils/IPFS.js b/src/utils/IPFS.js index 85e9f209..24dedb52 100644 --- a/src/utils/IPFS.js +++ b/src/utils/IPFS.js @@ -1,12 +1,56 @@ /* eslint-disable */ -const IPFS = require('ipfs'); +import { create } from 'ipfs-http-client'; -const node = new IPFS(); +/** + * DexStorage Object + * @class DexStorage + * @param {Object} params Parameters + * @param {String} params.ipfsClientHTTP Optional, IPFS Infura Node API or object + */ class DexStorage { - constructor() {} + constructor({ipfsClientHTTP}={ipfsClientHTTP : { host: 'ipfs.infura.io', port: 5001, protocol: 'https' }}) { + if(!ipfsClientHTTP){ + throw new Error("Please provide a valid ipfsClientHTTP, you can find one at infura.io") + } + this.ipfs = create(ipfsClientHTTP); + } - start = () => {}; + /** + * @function + * @description Save Data + * @param {Object} params Parameters + * @param {String} params.data Data String, if image blob info + * @returns {String} CID (Hash to be used to access the params.data later) + */ + async save({data}){ + const { path, cid, size } = await this.ipfs.add(data); + return { path, cid, size }; + } + + /** + * @function + * @description Get Data + * @param {Object} params Parameters + * @param {String} params.cid CID String, if image blob info + * @returns {String} data (Hash to be used to access the params.data later) + */ + async get({cid}){ + return new Promise( async (resolve, reject) => { + try{ + for await (const file of this.ipfs.get(cid)) { + if (!file.content) continue; + const content = [] + for await (const chunk of file.content) { + content.push(chunk) + } + resolve(content.toString()) + } + }catch(err){ + reject(err); + } + }) + } } export default DexStorage; diff --git a/src/utils/Numbers.js b/src/utils/Numbers.js index d4b66cbc..a09e87ae 100644 --- a/src/utils/Numbers.js +++ b/src/utils/Numbers.js @@ -3,9 +3,6 @@ import moment from 'moment'; import accounting from 'accounting'; import dayjs from 'dayjs'; import BN from 'bn.js'; -import web3 from 'web3'; - -const Web3 = new web3(); Number.prototype.noExponents = function () { const data = String(this).split(/[eE]/); diff --git a/tests/application.js b/tests/application.js new file mode 100644 index 00000000..8a14af53 --- /dev/null +++ b/tests/application.js @@ -0,0 +1,70 @@ +import chai, { assert } from "chai"; +import { mochaAsync } from "./utils"; +import { Application } from "../build"; +const expect = chai.expect; + +context("Application", async () => { + var app; + + before(async () => { + //app = new Application({ test : true, localtest: true }); + }); + + it( + "should start the Application on ganache-cli local blockchain", + mochaAsync(async () => { + app = new Application({ test: true, localtest: true }); + expect(app).to.not.equal(null); + + let userAddr = await app.getAddress(); + + let networkName = await app.getETHNetwork(); + }) + ); + + it( + "should start the Application on RINKEBY TESTNET", + mochaAsync(async () => { + app = new Application({ test: true }); + expect(app).to.not.equal(null); + + let userAddr = await app.getAddress(); + + let networkName = await app.getETHNetwork(); + expect(networkName).to.equal("Rinkeby"); + }) + ); + + it( + "no-params constructor should fail to start the Application at all", + mochaAsync(async () => { + // this should fail because we are not on TEST net and are NOT connected to MAIN net either + try { + app = new Application(); + assert.fail(); + } catch (err) { + assert( + err.message.indexOf("undefined") >= 0, + "new Application() should fail with expected error" + ); + } + }) + ); + + it( + "should fail to start the Application on MAINNET from test", + mochaAsync(async () => { + app = new Application({ + opt: { + web3Connection: + "https://mainnet.infura.io/v3/37ec248f2a244e3ab9c265d0919a6cbc", + }, + }); + expect(app).to.not.equal(null); + + // this should fail + let logedIn = await app.login(); + expect(logedIn).to.equal(false); + }) + ); +}); diff --git a/tests/bepro/network.js b/tests/bepro/network.js index beac3093..42ac01d6 100644 --- a/tests/bepro/network.js +++ b/tests/bepro/network.js @@ -1,27 +1,198 @@ -import chai from 'chai'; -import { mochaAsync } from './utils'; -import { Application } from '..'; -import Numbers from '../src/utils/Numbers'; +import { expect, assert } from "chai"; +import { mochaAsync } from "../utils"; +import { ERC20Contract, Network } from "../../build"; +import Numbers from "../../build/utils/Numbers"; -const tokenAddress = '0xd3f461fef313a992fc25e681acc09c6191b08bca'; -const mainnet = false; +let deployed_tokenAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; -let contractAddress; - -context('Network - (TO DO)', async () => { +context("Network Contract", async () => { + let transactionalERC20Contract; + let settlerERC20Contract; let networkContract; + let contractAddress; + let userAddress; let app; - let issue; + before(async () => { - app = new Application({ test: true, localtest: true, mainnet }); + networkContract = new Network(testConfig); + console.log("Network", networkContract) + userAddress = await networkContract.getUserAddress(); //local test with ganache + console.log("stakingContract.userAddress: " + userAddress); }); + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing + it( + "should deploy the transactional ERC20Contract", + mochaAsync(async () => { + // Create Contract + transactionalERC20Contract = new ERC20Contract(testConfig); + expect(transactionalERC20Contract).to.not.equal(null); + // Deploy + const res = await transactionalERC20Contract.deploy({ + name: "Token Transactional", + symbol: "TKNT", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, + }); + await transactionalERC20Contract.__assert(); + deployed_tokenAddress = transactionalERC20Contract.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing + it( + "should deploy the settler ERC20Contract", + mochaAsync(async () => { + // Create Contract + settlerERC20Contract = new ERC20Contract(testConfig); + expect(settlerERC20Contract).to.not.equal(null); + // Deploy + const res = await settlerERC20Contract.deploy({ + name: "Token Settler", + symbol: "TKNS", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, + }); + await settlerERC20Contract.__assert(); + deployed_tokenAddress = settlerERC20Contract.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + + it( - 'no tests done', + "should start the Network Contract", mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet }); + networkContract = new Network(testConfig); expect(app).to.not.equal(null); - }), + }) + ); + + it( + "should deploy Network Contract", + mochaAsync(async () => { + /* Create Contract */ + networkContract = new Network(testConfig); //ganache local test + /* Deploy */ + const res = await networkContract.deploy({ + settlerTokenAddress : settlerERC20Contract.getAddress(), + transactionTokenAddress : transactionalERC20Contract.getAddress(), + governanceAddress : await networkContract.getUserAddress() + }); + + contractAddress = networkContract.getAddress(); + expect(res).to.not.equal(false); + }) + ); + + it( + "should lock the setttler Token", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveSettlerERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.lock({ + tokenAmount : 25000000 + }); + expect(res).to.not.equal(false); + /* Get result */ + }) + ); + + it( + "should open an issue", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveTransactionalERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.openIssue({ + cid : 'sdfgs', + tokenAmount : 1000 + }); + expect(res).to.not.equal(false); + /* Get result */ + }) + ); + + it( + "should lock tokens", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveTransactionalERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.lock({ + tokenAmount : 1000 + }); + expect(res).to.not.equal(false); + /* Get result */ + }) + ); + + it( + "should delegate tokens", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveTransactionalERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.delegateOracles({ + tokenAmount : 100, + delegatedTo : "0x139F33B91cF790524dD72c1F9B96E7949A5Bb798" + }); + expect(res).to.not.equal(false); + /* Get result */ + }) + ); + + + it( + "verify if issue is in Draft", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveTransactionalERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.isIssueInDraft({ + issueId : 1 + }); + expect(res).to.equal(true); + /* Get result */ + }) + ); + + it( + "create Merge Proposal on Issue", + mochaAsync(async () => { + /* Approve tokens lock */ + var res = await networkContract.approveTransactionalERC20Token(); + expect(res).to.not.equal(false); + /* Call the function */ + res = await networkContract.proposeIssueMerge({ + issueID : 1, + prAddresses : ["0x139F33B91cF790524dD72c1F9B96E7949A5Bb798", "0x139F33B91cF790524dD72c1F9B96E7949A5Bb798"], + prAmounts : [800, 200] + }); + expect(res).to.not.equal(false); + /* Get result */ + }) ); }); diff --git a/tests/bepro/networkFactory.js b/tests/bepro/networkFactory.js new file mode 100644 index 00000000..4622a780 --- /dev/null +++ b/tests/bepro/networkFactory.js @@ -0,0 +1 @@ +// TO DO \ No newline at end of file diff --git a/tests/contracts/erc20TokenLock-truffle.js b/tests/contracts/erc20TokenLock-truffle.js index 0633d0c2..df9b2aeb 100644 --- a/tests/contracts/erc20TokenLock-truffle.js +++ b/tests/contracts/erc20TokenLock-truffle.js @@ -43,10 +43,6 @@ contract(TEST_CONTRACT_NAME, async (accounts) => { erc20Lock = await ERC20TokenLock.new(erc20TokenContract, { from: owner, }); - - console.log('erc20Test.address : ', erc20Test.address); - console.log('erc20Lock.address : ', erc20Lock.address); - /* time dev tests let now = moment(); let now_unix = now.unix(); @@ -71,13 +67,6 @@ contract(TEST_CONTRACT_NAME, async (accounts) => { expect(Number(res).toString()).to.equal(Number(0).toString()); res = await erc20Lock.totalAmountStaked(); expect(Number(res).toString()).to.equal(Number(0).toString()); - - console.log( - `Init tests: \n* erc20 : ${ - ret_tokenAddress - }\n* erc20TokenContract : ${ - erc20TokenContract}`, - ); }, ); diff --git a/tests/dexStorage.js b/tests/dexStorage.js new file mode 100644 index 00000000..69f59ea9 --- /dev/null +++ b/tests/dexStorage.js @@ -0,0 +1,38 @@ +import chai from 'chai'; +import { mochaAsync } from './utils'; +import { DexStorage } from "../build"; + +const { expect } = chai; +// var contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; +// this is already deployed on rinkeby network for testing + +const base_data = "hello"; + +context('DexStorage', async () => { + let cid, app, data; + + it( + 'should start the DexStorage Object', + mochaAsync(async () => { + app = new DexStorage(); + expect(app).to.not.equal(null); + }), + ); + + it( + 'should save in IPFS', + mochaAsync(async () => { + cid = await app.save({data : base_data}); + expect(cid).to.not.equal(null); + }), + ); + + it( + 'should retrieve cid', + mochaAsync(async () => { + data = await app.get({cid : cid.path}); + expect(data).to.equal(base_data); + }), + ); + +}); diff --git a/tests/erc20Contract.js b/tests/erc20Contract.js index 3db88071..62407c05 100644 --- a/tests/erc20Contract.js +++ b/tests/erc20Contract.js @@ -1,56 +1,53 @@ -import chai from 'chai'; -import { mochaAsync } from './utils'; -import { Application } from '..'; -import Numbers from '../src/utils/Numbers'; +import { assert, expect } from "chai"; +import { mochaAsync } from "./utils"; +import { ERC20Contract } from "../build"; +import Numbers from "../build/utils/Numbers"; -const { expect } = chai; -// var contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; +//var contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; // this is already deployed on rinkeby network for testing -export var contractAddress = '0x4197A48d240B104f2bBbb11C0a43fA789f2A5675'; -export var deployed_tokenAddress = contractAddress; +var contractAddress = "0x4197A48d240B104f2bBbb11C0a43fA789f2A5675"; +var deployed_tokenAddress = contractAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; -context('ERC20', async () => { +context("ERC20", async () => { let erc20Contract; - let app; let userAddress; before(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); + erc20Contract = new ERC20Contract(testConfig); }); it( - 'should start the Application', + "should start the ERC20Contract (on ganache-cli local blockchain)", mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); - expect(app).to.not.equal(null); - }), + erc20Contract = new ERC20Contract(testConfig); + expect(erc20Contract).to.not.equal(null); + }) ); it( - 'should deploy a ERC20 contract', + "should deploy a new ERC20Contract (on ganache-cli local blockchain)", mochaAsync(async () => { - userAddress = await app.getAddress(); - console.log('---should deploy a ERC20 contract...'); - console.log(`---userAddress: ${userAddress}`); - /* Create Contract */ - erc20Contract = app.getERC20Contract({}); - console.log('---erc20Contract bp0'); - /* Deploy */ - const res = await erc20Contract.deploy({ - name: 'test', - symbol: 'B.E.P.R.O', + let params = (({ abi, contract, web3, web3Connection, ...obj }) => obj)( + erc20Contract.params + ); + + userAddress = await erc20Contract.getUserAddress(); + // Deploy + let res = await erc20Contract.deploy({ + name: "test", + symbol: "B.E.P.R.O", cap: Numbers.toSmartContractDecimals(100000000, 18), - // /distributionAddress : app.account.getAddress() //original - distributionAddress: userAddress, // local test with ganache + distributionAddress: userAddress, //local test with ganache }); - console.log('---erc20Contract bp1'); await erc20Contract.__assert(); - console.log('---erc20Contract bp2'); contractAddress = erc20Contract.getAddress(); expect(res).to.not.equal(false); expect(contractAddress).to.equal(res.contractAddress); - console.log(`Deployed ERC20Contract address: ${contractAddress}`); deployed_tokenAddress = contractAddress; - }), + }) ); }); diff --git a/tests/erc20TokenLock.js b/tests/erc20TokenLock.js index a32ba290..b3675999 100644 --- a/tests/erc20TokenLock.js +++ b/tests/erc20TokenLock.js @@ -1,63 +1,84 @@ -import chai from 'chai'; -import moment from 'moment'; -import delay from 'delay'; -import { mochaAsync } from './utils'; -import { Application } from '..'; -import Numbers from '../src/utils/Numbers'; -// this is already deployed on rinkeby network for testing -// var deployed_tokenAddress = '0x4197A48d240B104f2bBbb11C0a43fA789f2A5675'; -// var deployed_tokenAddress = '0x422E11f71440e17EbA859faCF44Dfd03fD259DDB'; //ganache -import { deployed_tokenAddress } from './erc20Contract'; -// var assert = require('assert'); +import { expect, assert } from "chai"; +import moment from "moment"; +import delay from "delay"; +import { mochaAsync } from "./utils"; +import { ERC20Contract, ERC20TokenLock } from "../build"; +import Numbers from "../build/utils/Numbers"; +//var assert = require('assert'); // public address for this key is 0xe797860acFc4e06C1b2B96197a7dB1dFa518d5eB -const userPrivateKey = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; -const tokenAddress = '0x7a7748bd6f9bac76c2f3fcb29723227e3376cbb2'; -const { expect } = chai; -const { assert } = chai; +var userPrivateKey = + "0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132"; +const tokenAddress = "0x7a7748bd6f9bac76c2f3fcb29723227e3376cbb2"; +// this is already deployed on rinkeby network for testing +//var deployed_tokenAddress = '0x4197A48d240B104f2bBbb11C0a43fA789f2A5675'; +//var deployed_tokenAddress = '0x422E11f71440e17EbA859faCF44Dfd03fD259DDB'; //ganache +var deployed_tokenAddress; const ethAmount = 0.1; -let contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; +let contractAddress = "0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64"; // this is already deployed on rinkeby network for testing // var deployed_contractAddress = '0xf7177df4a4797304cf59aa1e2dd4718cb390cbad'; -let deployed_contractAddress = '0xeAE93A3C4d74C469B898C345DEAD456C8Db06194'; +let deployed_contractAddress = "0xeAE93A3C4d74C469B898C345DEAD456C8Db06194"; const totalMaxAmount = 100; const individualMinimumAmount = 10; let lockTokens; // rinkeby test network needs about 15-20 seconds to confirm transactions so pick something greater const lockSeconds = 30; // lock tokens for x amount of seconds -let endDate = moment().add(lockSeconds, 'seconds'); +let endDate = moment().add(lockSeconds, "seconds"); const maxTokenAmount = 7000; const minTokenAmount = 1000; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; -context('ERC20TokenLock Contract', async () => { - let erc20Token; +context("ERC20TokenLock Contract", async () => { + let erc20Contract; let erc20Lock; - let app; let userAddress; before(async () => { - console.log(`---moment: ${moment()}`); - app = new Application({ test: true, localtest: true, mainnet: false }); - // userAddress = app.account.getAddress(); - userAddress = await app.getAddress(); // local test with ganache - console.log(`erc20TokenLock.my-address: ${userAddress}`); - console.log( - `erc20TokenLock.deployed_tokenAddress: ${deployed_tokenAddress}`, - ); + erc20Lock = new ERC20TokenLock(testConfig); + userAddress = await erc20Lock.getUserAddress(); //local test with ganache }); + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing + it( + "should deploy a new ERC20Contract", + mochaAsync(async () => { + // Create Contract + erc20Contract = new ERC20Contract(testConfig); + expect(erc20Contract).to.not.equal(null); + // Deploy + let res = await erc20Contract.deploy({ + name: "test", + symbol: "B.E.P.R.O", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, //await app.getAddress() + }); + await erc20Contract.__assert(); + deployed_tokenAddress = erc20Contract.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + it( - 'should start the Application', + "should start the ERC20TokenLock", mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); - expect(app).to.not.equal(null); - }), + erc20Lock = new ERC20TokenLock(testConfig); + expect(erc20Lock).to.not.equal(null); + }) ); - // /=> - // DEPLOY-ONCE to keep a reference of deployed contracts address for further use in unit tests - // DEPLOYS new ERC20TokenLock Contract with already deployed ERC20 token contract - /* it( + ///=> + //DEPLOY-ONCE to keep a reference of deployed contracts address for further use in unit tests + //DEPLOYS new ERC20TokenLock Contract with already deployed ERC20 token contract + /*it( 'should deploy ERC20TokenLock Contract', mochaAsync(async () => { // Create Contract @@ -71,12 +92,12 @@ context('ERC20TokenLock Contract', async () => { assert.equal(deployed_tokenAddress, erc20Lock.getERC20Contract().getAddress(), 'token address should match'); expect(res).to.not.equal(false); }) - ); */ - // /<= + );*/ + ///<= - // /=> test already DEPLOYED contracts - /* it( - 'test deployed ERC20TokenLock contract: testing ERC20Token contract', + ///=> test already DEPLOYED contracts + /*it( + 'test deployed ERC20TokenLock contract: testing ERC20Contract', mochaAsync(async () => { // test already deployed Contract erc20Lock = app.getERC20TokenLock({ contractAddress: deployed_contractAddress, tokenAddress: deployed_tokenAddress }); @@ -93,8 +114,8 @@ context('ERC20TokenLock Contract', async () => { console.log('***load.minAmountToLock : ' + res3); console.log('***load.totalAmountStaked : ' + res4); console.log('***load.userLockedTokens : ' + res5); - - // test ERC20Token contract is working and referenced correctly + + // test ERC20Contract is working and referenced correctly let dec = erc20Lock.getERC20Contract().getDecimals(); console.log('erc20Lock.getERC20TokenDecimals: ' + dec); let decAsync = await erc20Lock.getERC20Contract().getDecimalsAsync(); @@ -113,131 +134,108 @@ context('ERC20TokenLock Contract', async () => { let tokens = await erc20Lock.getLockedTokens({ address: userAddress }); assert(Number(tokens) == 0, "tokens should have been released by now"); }) - ); */ - // /<= - - /* it( - 'should deploy ERC20Contract for testing', - mochaAsync(async () => { - // Create Contract - erc20Token = app.getERC20Contract({}); - console.log('---Deployed ERC20Contract bp0'); - // Deploy - let res = await await erc20Token.deploy({ - name : 'test', symbol : 'B.E.P.R.O', - cap : Numbers.toSmartContractDecimals(100000000, 18), - distributionAddress : userAddress //await app.getAddress() - }); - console.log('---Deployed ERC20Contract bp1'); - await erc20Token.__assert(); - console.log('---Deployed ERC20Contract bp2'); - deployed_tokenAddress = erc20Token.getAddress(); - expect(res).to.not.equal(false); - console.log('---Deployed ERC20Contract bp3'); - expect(deployed_tokenAddress).to.equal(res.contractAddress); - console.log('---Deployed ERC20Contract bp4'); - console.log('Deployed ERC20Contract address: ' + deployed_tokenAddress); - }) - ); */ + );*/ + ///<= it( - 'should deploy ERC20TokenLock Contract', + "should deploy ERC20TokenLock Contract", mochaAsync(async () => { // Create Contract - erc20Lock = app.getERC20TokenLock({ - tokenAddress: deployed_tokenAddress, - }); + let testConfig2 = { ...testConfig, tokenAddress: deployed_tokenAddress }; + console.log( + "---should deploy erc20Lock.testConfig2: " + JSON.stringify(testConfig2) + ); + erc20Lock = new ERC20TokenLock(testConfig2); // Deploy - const res = await erc20Lock.deploy(); + let res = await erc20Lock.deploy(); await erc20Lock.__assert(); contractAddress = erc20Lock.getAddress(); deployed_contractAddress = erc20Lock.getAddress(); console.log( - `Deployed ERC20TokenLock address: ${deployed_contractAddress}`, + "Deployed ERC20TokenLock address: " + deployed_contractAddress ); assert.equal( deployed_tokenAddress, erc20Lock.getERC20Contract().getAddress(), - 'token address should match', + "token address should match" ); expect(res).to.not.equal(false); - }), + }) ); it( - 'ERC20TokenLock Contract should have initial variables expected values', + "ERC20TokenLock Contract should have initial variables expected values", mochaAsync(async () => { - const res = await erc20Lock.erc20(); + let res = await erc20Lock.erc20(); assert.equal( res, deployed_tokenAddress, - 'Token address should match expected value', + "Token address should match expected value" ); const res2 = await erc20Lock.maxAmountToLock(); const res3 = await erc20Lock.minAmountToLock(); const res4 = await erc20Lock.totalAmountStaked(); const res5 = await erc20Lock.getLockedTokens({ address: userAddress }); - console.log(`***init.maxAmountToLock : ${res2}`); - console.log(`***init.minAmountToLock : ${res3}`); - console.log(`***init.totalAmountStaked : ${res4}`); - console.log(`***init.userLockedTokens : ${res5}`); - assert(res2 == 0, true, 'maxAmountToLock should be zero'); + console.log("***init.maxAmountToLock : " + res2); + console.log("***init.minAmountToLock : " + res3); + console.log("***init.totalAmountStaked : " + res4); + console.log("***init.userLockedTokens : " + res5); + assert(res2 == 0, true, "maxAmountToLock should be zero"); expect(Number(res3)).to.equal(0); expect(Number(res4)).to.equal(0); console.log( - `Init tests: \n* erc20 : ${ - res - }\n* deployed_tokenAddress : ${ - deployed_tokenAddress}`, + "Init tests: \n* erc20 : " + + res + + "\n* deployed_tokenAddress : " + + deployed_tokenAddress ); - }), + }) ); it( - 'should set max tokens to lock per user', + "should set max tokens to lock per user", mochaAsync(async () => { // maxTokenAmount = 7000; let res = await erc20Lock.setMaxAmountToLock({ tokenAmount: maxTokenAmount, }); - // console.log('set max tokens to lock:\n' + JSON.stringify(res)); + //console.log('set max tokens to lock:\n' + JSON.stringify(res)); expect(res).to.not.equal(false); // Check if max token amount was set res = await erc20Lock.maxAmountToLock(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(7000).toString(), + Number(7000).toString() ); - }), + }) ); it( - 'should set min tokens to lock per user', + "should set min tokens to lock per user", mochaAsync(async () => { // minTokenAmount = 1000; let res = await erc20Lock.setMinAmountToLock({ tokenAmount: minTokenAmount, }); - // console.log('set min tokens to lock:\n' + JSON.stringify(res)); + //console.log('set min tokens to lock:\n' + JSON.stringify(res)); expect(res).to.not.equal(false); // Check if min token amount was set res = await erc20Lock.minAmountToLock(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(1000).toString(), + Number(1000).toString() ); - }), + }) ); it( - 'should lock user tokens', + "should lock user tokens", mochaAsync(async () => { lockTokens = minTokenAmount; // Approve Tx let res = await erc20Lock.approveERC20Transfer(); expect(res).to.not.equal(false); - console.log('---erc20Lock.lock bp0'); - endDate = moment().add(lockSeconds, 'seconds'); - const smEndDate = Numbers.timeToSmartContractTime(endDate); + endDate = moment().add(lockSeconds, "seconds"); + let smEndDate = Numbers.timeToSmartContractTime(endDate); // lock tokens res = await erc20Lock.lock({ @@ -246,38 +244,36 @@ context('ERC20TokenLock Contract', async () => { endDate, }); expect(res).to.not.equal(false); - console.log('---erc20Lock.lock bp1'); // Check if user locked tokens successfully res = await erc20Lock.getLockedTokensInfo({ address: userAddress }); const retEndDate = Numbers.timeToSmartContractTime(res.endDate); - console.log('---erc20Lock.lock bp2'); - assert(res.startDate != null, 'startDate should be valid'); - console.log(`***lock.tokens.endDate: ${endDate}`); - console.log(`***lock.tokens.res.retEndDate: ${retEndDate}`); - assert(retEndDate == smEndDate, 'should match endDate'); + assert(res.startDate != null, "startDate should be valid"); + console.log("***lock.tokens.endDate: " + endDate); + console.log("***lock.tokens.res.retEndDate: " + retEndDate); + assert(retEndDate == smEndDate, "should match endDate"); assert( - Numbers.fromExponential(res.amount).toString() - == Numbers.fromExponential(minTokenAmount).toString(), - 'should match locked tokens', + Numbers.fromExponential(res.amount).toString() == + Numbers.fromExponential(minTokenAmount).toString(), + "should match locked tokens" ); - }), + }) ); it( - `should get totalAmountStaked == ${minTokenAmount}`, + "should get totalAmountStaked == " + minTokenAmount, mochaAsync(async () => { // Create Event const res = await erc20Lock.totalAmountStaked(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(minTokenAmount).toString(), + Number(minTokenAmount).toString() ); - }), + }) ); it( - 'should fail to release tokens before release date', + "should fail to release tokens before release date", mochaAsync(async () => { // release and withdraw unlocked tokens try { @@ -285,19 +281,19 @@ context('ERC20TokenLock Contract', async () => { assert.fail(); } catch (err) { assert( - err.message.indexOf('tokens release date not reached') >= 0, - 'ERC20TokenLock.release should fail with expected error', + err.message.indexOf("tokens release date not reached") >= 0, + "ERC20TokenLock.release should fail with expected error" ); - console.log(`erc20Lock.release: ${err.message}`); + console.log("erc20Lock.release: " + err.message); } - }), + }) ); it( - 'should release and withdraw unlocked tokens', + "should release and withdraw unlocked tokens", mochaAsync(async () => { // wait the time needed until tokens are released - // TODO: replace setTimeout with 'runAfter' function from utils + //TODO: replace setTimeout with 'runAfter' function from utils setTimeout(async () => { // release and withdraw unlocked tokens let res = await erc20Lock.release({ address: userAddress }); @@ -307,21 +303,21 @@ context('ERC20TokenLock Contract', async () => { res = await erc20Lock.getLockedTokens({ address: userAddress }); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - // 'should get totalAmountStaked == 0 (all withdrawn)' + //'should get totalAmountStaked == 0 (all withdrawn)' res = await erc20Lock.totalAmountStaked(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); }, lockSeconds * 1000); - }), + }) ); - // /=> reset max and min tokens to lock to zero + ///=> reset max and min tokens to lock to zero it( - 'should set min tokens to lock to zero', + "should set min tokens to lock to zero", mochaAsync(async () => { let res = await erc20Lock.setMinAmountToLock({ tokenAmount: 0, @@ -330,13 +326,13 @@ context('ERC20TokenLock Contract', async () => { // Check if min token amount was set res = await erc20Lock.minAmountToLock(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - }), + }) ); it( - 'should set max tokens to lock to zero', + "should set max tokens to lock to zero", mochaAsync(async () => { let res = await erc20Lock.setMaxAmountToLock({ tokenAmount: 0, @@ -345,13 +341,13 @@ context('ERC20TokenLock Contract', async () => { // Check if max token amount was set res = await erc20Lock.maxAmountToLock(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - }), + }) ); - // /<= + ///<= - /* it('should get totalAmountStaked == 0 (all withdrawn)', mochaAsync(async () => { + /*it('should get totalAmountStaked == 0 (all withdrawn)', mochaAsync(async () => { // Create Event let res = await erc20Lock.totalAmountStaked(); expect(Numbers.fromExponential(res).toString()).to.equal(Number(0).toString()); diff --git a/tests/erc721Collectibles.js b/tests/erc721Collectibles.js index 66e04fbf..29db4af5 100644 --- a/tests/erc721Collectibles.js +++ b/tests/erc721Collectibles.js @@ -1,28 +1,34 @@ -import chai from 'chai'; -import moment from 'moment'; -import delay from 'delay'; -import { mochaAsync } from './utils'; -import { Application } from '..'; -import Numbers from '../src/utils/Numbers'; +import { expect, assert } from "chai"; +import moment from "moment"; +import delay from "delay"; +import { mochaAsync } from "./utils"; +import { ERC20Contract, ERC721Collectibles } from "../build"; +import Numbers from "../build/utils/Numbers"; -const userPrivateKey = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; -const tokenAddress = '0xd3f461fef313a992fc25e681acc09c6191b08bca'; +var userPrivateKey = + "0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132"; +const tokenAddress = "0xd3f461fef313a992fc25e681acc09c6191b08bca"; const mainnet = false; -const { expect } = chai; const ethAmount = 0.1; -let contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; -const totalMaxAmount = 100; -const individualMinimumAmount = 10; -const APR = 5; -const startDate = moment().add(1, 'minutes'); -const endDate = moment().add(10, 'minutes'); -const timeDiff = Numbers.timeToSmartContractTime(endDate) - - Numbers.timeToSmartContractTime(startDate); +var contractAddress = "0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64"; +var totalMaxAmount = 100; +var individualMinimumAmount = 10; +var APR = 5; +var startDate = moment().add(1, "minutes"); +var endDate = moment().add(10, "minutes"); +var timeDiff = + Numbers.timeToSmartContractTime(endDate) - + Numbers.timeToSmartContractTime(startDate); +var deployed_tokenAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; -context('ERC721 Collectibles', async () => { - let erc721Contract; let - erc20Contract; +context("ERC721 Collectibles", async () => { + let erc721Contract; + let erc20Contract; let app; let tokensHeld; let subscriptionId; @@ -32,58 +38,82 @@ context('ERC721 Collectibles', async () => { let userAddress; before(async () => { - app = new Application({ test: true, localtest: true, mainnet }); + erc721Contract = new ERC721Collectibles(testConfig); + userAddress = await erc721Contract.getUserAddress(); //local test with ganache + console.log("erc721Contract.userAddress: " + userAddress); }); + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing it( - 'should start the Application', + "should deploy a new ERC20Contract", mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet }); - expect(app).to.not.equal(null); - }), + // Create Contract + erc20Contract = new ERC20Contract(testConfig); + expect(erc20Contract).to.not.equal(null); + // Deploy + const res = await erc20Contract.deploy({ + name: "test", + symbol: "B.E.P.R.O", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, //await app.getAddress() + }); + await erc20Contract.__assert(); + deployed_tokenAddress = erc20Contract.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + + it( + "should start the ERC721Collectibles", + mochaAsync(async () => { + erc721Contract = new ERC721Collectibles(testConfig); + expect(erc721Contract).to.not.equal(null); + }) ); it( - 'should deploy Contract', + "should deploy Contract", mochaAsync(async () => { - userAddress = await app.getAddress(); - /* Create Contract */ - erc721Contract = app.getERC721Collectibles({}); - /* Deploy */ + // Deploy const res = await erc721Contract.deploy({ - name: 'Art | BEPRO', - symbol: 'B.E.P.R.O', + name: "Art | BEPRO", + symbol: "B.E.P.R.O", limitedAmount: 100, - erc20Purchase: tokenAddress, - // feeAddress : app.account.getAddress() - feeAddress: userAddress, // local test with ganache + erc20Purchase: deployed_tokenAddress, //tokenAddress, + //feeAddress : app.account.getAddress() + feeAddress: userAddress, //local test with ganache }); await erc721Contract.__assert(); contractAddress = erc721Contract.getAddress(); expect(res).to.not.equal(false); - }), + }) ); it( - 'should verify if sale is limited', + "should verify if sale is limited", mochaAsync(async () => { const res = await erc721Contract.isLimited(); expect(res).to.equal(true); - }), + }) ); it( - 'should add base tokenURI', + "should add base tokenURI", mochaAsync(async () => { const res = await erc721Contract.setBaseTokenURI({ - URI: 'https://bepronetwork.github.io/B.E.P.R.O/meta/', + URI: "https://bepronetwork.github.io/B.E.P.R.O/meta/", }); expect(res).to.not.equal(false); - }), + }) ); it( - 'should set Pack Price', + "should set Pack Price", mochaAsync(async () => { /* Set Price for Pack */ let res = await erc721Contract.setPricePerPack({ @@ -92,11 +122,11 @@ context('ERC721 Collectibles', async () => { expect(res).to.not.equal(false); res = await erc721Contract.getPricePerPack(); expect(res).to.equal(Number(1000).toString()); - }), + }) ); it( - 'should open a pack', + "should open a pack", mochaAsync(async () => { /* Approve */ await erc721Contract.approveERC20(); @@ -106,38 +136,38 @@ context('ERC721 Collectibles', async () => { amount: 1, }); expect(res).to.not.equal(false); - }), + }) ); it( - 'should verify the opened packs', + "should verify the opened packs", mochaAsync(async () => { const res = await erc721Contract.openedPacks(); expect(res).to.equal(1); - }), + }) ); it( - 'should verify the current Token id', + "should verify the current Token id", mochaAsync(async () => { const res = await erc721Contract.currentTokenId(); expect(res).to.equal(1001); - }), + }) ); it( - 'should get the available token ids', + "should get the available token ids", mochaAsync(async () => { tokensHeld = await erc721Contract.getRegisteredIDs({ address: userAddress, }); expect(tokensHeld.length).to.equal(1); expect(tokensHeld[0]).to.equal(1000); - }), + }) ); it( - 'should verify the available token id is not minted already', + "should verify the available token id is not minted already", mochaAsync(async () => { let res = await erc721Contract.isIDRegistered({ address: userAddress, @@ -146,21 +176,21 @@ context('ERC721 Collectibles', async () => { expect(res).to.equal(true); res = await erc721Contract.exists({ tokenID: tokensHeld[0] }); expect(res).to.equal(false); - }), + }) ); it( - 'should mint the token id', + "should mint the token id", mochaAsync(async () => { const res = await erc721Contract.mint({ tokenID: tokensHeld[0], }); expect(res).to.not.equal(false); - }), + }) ); it( - 'should verify the available token id is already', + "should verify the available token id is already", mochaAsync(async () => { let res = await erc721Contract.isIDRegistered({ address: userAddress, @@ -169,11 +199,11 @@ context('ERC721 Collectibles', async () => { expect(res).to.equal(true); res = await erc721Contract.exists({ tokenID: tokensHeld[0] }); expect(res).to.equal(true); - }), + }) ); it( - 'should open a pack', + "should open a pack", mochaAsync(async () => { /* Approve */ await erc721Contract.approveERC20(); @@ -188,69 +218,69 @@ context('ERC721 Collectibles', async () => { amount: 1, }); expect(res).to.not.equal(false); - }), + }) ); it( - 'should verify the opened packs', + "should verify the opened packs", mochaAsync(async () => { const res = await erc721Contract.openedPacks(); expect(res).to.equal(2); - }), + }) ); it( - 'should verify the current Token id', + "should verify the current Token id", mochaAsync(async () => { const res = await erc721Contract.currentTokenId(); expect(res).to.equal(1002); - }), + }) ); it( - 'should verify the current Token Metadatta URI', + "should verify the current Token Metadatta URI", mochaAsync(async () => { const res = await erc721Contract.getURITokenID({ tokenID: 1000 }); - }), + }) ); it( - 'should get the available token ids', + "should get the available token ids", mochaAsync(async () => { - console.log('address', userAddress); + console.log("address", userAddress); tokensHeld = await erc721Contract.getRegisteredIDs({ address: userAddress, }); expect(tokensHeld.length).to.equal(2); expect(tokensHeld[0]).to.equal(1000); expect(tokensHeld[1]).to.equal(1001); - }), + }) ); it( - 'should mint the token id 2', + "should mint the token id 2", mochaAsync(async () => { const res = await erc721Contract.mint({ tokenID: tokensHeld[1], }); expect(res).to.not.equal(false); - }), + }) ); it( - 'shouldn´t mint a token id 3', + "shouldn´t mint a token id 3", mochaAsync(async () => { const res = await erc721Contract.mint({ to: userAddress, tokenID: 1003, }); - console.log('res', res); + console.log("res", res); expect(res).to.equal(false); - }), + }) ); it( - 'should be able to open a pack', + "should be able to open a pack", mochaAsync(async () => { /* Approve */ await erc721Contract.approveERC20(); @@ -266,6 +296,6 @@ context('ERC721 Collectibles', async () => { }); expect(res).to.not.equal(false); - }), + }) ); }); diff --git a/tests/exchangeContract.js b/tests/exchangeContract.js deleted file mode 100644 index 5b6a1e72..00000000 --- a/tests/exchangeContract.js +++ /dev/null @@ -1,103 +0,0 @@ -import chai from 'chai'; -import moment from 'moment'; -import delay from 'delay'; -import { mochaAsync } from './utils'; -import { Application } from '..'; - -const userPrivateKey = '0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132'; - -const { expect } = chai; -const ethAmount = 0.1; -let contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; - -context('Exchange Contract', async () => { - let exchangeContract; - let app; - let eventId; - - before(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); - }); - - it( - 'should start the Application', - mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); - expect(app).to.not.equal(null); - }), - ); - - it( - 'should deploy Exchange Contract', - mochaAsync(async () => { - /* Create Contract */ - exchangeContract = app.getExchangeContract({ - contractAddress, - }); - /* Deploy */ - const res = await exchangeContract.deploy({}); - contractAddress = exchangeContract.getAddress(); - expect(res).to.not.equal(false); - }), - ); - - it( - 'should create an Event', - mochaAsync(async () => { - /* Create Event */ - let res = await exchangeContract.createEvent({ - resultSpaceIds: [2, 3], - urlOracle: 'asd', - eventName: 'Porto vs Benfica', - ethAmount, - }); - expect(res).to.not.equal(false); - /* Get If Event was created */ - res = await exchangeContract.getEvents(); - expect(res.length).to.equal(1); - eventId = res[0]; - }), - ); - - it( - 'should get event data', - mochaAsync(async () => { - /* Get If Event was created */ - const res = await exchangeContract.getEventData({ event_id: eventId }); - }), - ); - - it( - 'should get result space data', - mochaAsync(async () => { - /* Get If Event was created */ - const res = await exchangeContract.getResultSpaceData({ - event_id: eventId, - resultSpace_id: 1, - }); - }), - ); - - it( - 'should be able to add liquidity', - mochaAsync(async () => { - /* Get If Event was created */ - const res = await exchangeContract.addLiquidity({ - event_id: eventId, - ethAmount, - }); - }), - ); - - it( - 'should be able to buy fractions', - mochaAsync(async () => { - /* Get If Event was created */ - const res = await exchangeContract.buy({ - event_id: eventId, - fractions_amount: 0.0001, - resultSpace_id: 1, - }); - }), - ); -}); diff --git a/tests/generics.js b/tests/generics.js new file mode 100644 index 00000000..f35244d5 --- /dev/null +++ b/tests/generics.js @@ -0,0 +1,110 @@ +const { Application } = require('..'); +import { assert, expect } from "chai"; +import { mochaAsync } from "./utils"; +import { ERC20Contract } from "../build"; +import Numbers from "../build/utils/Numbers"; + + +//var contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; +// this is already deployed on rinkeby network for testing +var contractAddress = "0x4197A48d240B104f2bBbb11C0a43fA789f2A5675"; +var deployed_tokenAddress = contractAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; + +// NOTE: We only test ERC20contract because all the other models are similar +// We want to test generic behaviour like connect to RINKEBY TESTNET and MAINNET and check expected values +context("Generics", async () => { + let erc20; + + before(async () => { + //erc20 = new ERC20Contract(testConfig); + }); + + it( + "should be able to import directly via require(..)", + mochaAsync(async () => { + console.log("app", Application); + expect(Application).to.not.equal(null); + }) + ); + + + + it( + "should start the ERC20Contract on RINKEBY TESTNET", + mochaAsync(async () => { + erc20 = new ERC20Contract({ test: true }); + expect(erc20).to.not.equal(null); + + let userAddr = await erc20.getUserAddress(); + console.log("---erc20.userAddress: " + userAddr); + + let networkName = await erc20.getETHNetwork(); + console.log("---erc20.networkName: " + networkName); + expect(networkName).to.equal("Rinkeby"); + }) + ); + + it( + "no-params constructor should fail to start a new ERC20Contract correctly", + mochaAsync(async () => { + // this should fail because we are not on TEST net and are NOT connected to MAIN net either + erc20 = new ERC20Contract(); + expect(erc20).to.not.equal(null); + + try { + // load web3 connection + await erc20.start(); + + assert.fail(); + console.log("---log erc20.start() this should not be reached"); + } catch (err) { + console.log("---log erc20.start().error: " + err.message); + assert( + err.message.indexOf( + "Please Use an Ethereum Enabled Browser like Metamask or Coinbase Wallet" + ) >= 0, + "erc20.start() should fail with expected error" + ); + } + + let userAddr = await erc20.getUserAddress(); + console.log("---erc20.userAddress: " + userAddr); + expect(userAddr).to.equal(undefined); + }) + ); + + it( + "should fail to start a new ERC20Contract on MAINNET from test", + mochaAsync(async () => { + erc20 = new ERC20Contract({ + opt: { + web3Connection: + "https://mainnet.infura.io/v3/37ec248f2a244e3ab9c265d0919a6cbc", + }, + }); + expect(erc20).to.not.equal(null); + + // should fail to login on MAINNET since we are testing and have no wallet + let logedIn = await erc20.login(); + expect(logedIn).to.equal(false); + + // should fail to get any data since we have no web3 connection + try { + let userAddr = await erc20.getUserAddress(); + console.log("---erc20.userAddress: " + userAddr); + + assert.fail(); + } catch (err) { + console.log("---log erc20.getUserAddress().error: " + err.message); + assert( + err.message.indexOf("undefined") >= 0, + "erc20.getUserAddress should fail with expected error" + ); + } + }) + ); +}); diff --git a/tests/index.js b/tests/index.js index 517d11ab..202a85a6 100644 --- a/tests/index.js +++ b/tests/index.js @@ -1,8 +1,11 @@ -context('Unit Tests', async () => { - require('./erc20Contract'); - require('./erc20TokenLock'); - // require('./erc721Collectibles'); - require('./stakingContract'); +context("Unit Tests", async () => { + require("./application"); + require("./votingContract"); + require("./generics"); + require("./bepro/network"); + require("./erc20Contract"); + require('./dexStorage'); + require("./erc20TokenLock"); + require("./stakingContract"); require('./custom/realfvr/index.js'); - // require('./exchangeContract'); }); diff --git a/tests/stakingContract.js b/tests/stakingContract.js index 2a9f45df..afab8cb8 100644 --- a/tests/stakingContract.js +++ b/tests/stakingContract.js @@ -1,26 +1,35 @@ -import chai from 'chai'; -import moment from 'moment'; -import delay from 'delay'; -import { mochaAsync } from './utils'; -import { Application } from '..'; -import Numbers from '../src/utils/Numbers'; - -import { deployed_tokenAddress } from './erc20Contract'; - -const { expect } = chai; -let contractAddress = '0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64'; +import { expect, assert } from "chai"; +import moment from "moment"; +import delay from "delay"; +import { mochaAsync } from "./utils"; +import { ERC20Contract, StakingContract } from "../build"; +import Numbers from "../build/utils/Numbers"; +let userPrivateKey = + "0x7f76de05082c4d578219ca35a905f8debe922f1f00b99315ebf0706afc97f132"; +const tokenAddress = "0x7a7748bd6f9bac76c2f3fcb29723227e3376cbb2"; +let contractAddress = "0x949d274F63127bEd53e21Ed1Dd83dD6ACAfF7f64"; const totalMaxAmount = 100; +const individualMaxAmount = 30; const individualMinimumAmount = 10; const APR = 5; -const startDate = moment().add(1, 'minutes'); -const endDate = moment().add(10, 'minutes'); -const timeDiff = Numbers.timeToSmartContractTime(endDate) - - Numbers.timeToSmartContractTime(startDate); -const userDepositNeededAPR = ((((APR / 365 / 24 / 60) * timeDiff) / 60) * individualMinimumAmount) / 100; -const totalNeededAPR = ((((APR / 365 / 24 / 60) * timeDiff) / 60) * totalMaxAmount) / 100; +const startDate = moment().add(1, "minutes"); +const endDate = moment().add(10, "minutes"); +const timeDiff = + Numbers.timeToSmartContractTime(endDate) - + Numbers.timeToSmartContractTime(startDate); +const userDepositNeededAPR = + ((((APR / 365 / 24 / 60) * timeDiff) / 60) * individualMinimumAmount) / 100; +const totalNeededAPR = + ((((APR / 365 / 24 / 60) * timeDiff) / 60) * totalMaxAmount) / 100; console.log(totalNeededAPR.toFixed(18)); +let deployed_tokenAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; -context('Staking Contract', async () => { +context("Staking Contract", async () => { + let erc20Contract; let stakingContract; let app; let productId; @@ -31,45 +40,71 @@ context('Staking Contract', async () => { let userAddress; before(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); - console.log( - `stakingContract.deployed_tokenAddress: ${deployed_tokenAddress}`, - ); + stakingContract = new StakingContract(testConfig); + userAddress = await stakingContract.getUserAddress(); //local test with ganache + console.log("stakingContract.userAddress: " + userAddress); }); + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing + it( + "should deploy a new ERC20Contract", + mochaAsync(async () => { + // Create Contract + erc20Contract = new ERC20Contract(testConfig); + expect(erc20Contract).to.not.equal(null); + // Deploy + const res = await erc20Contract.deploy({ + name: "test", + symbol: "B.E.P.R.O", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, //await app.getAddress() + }); + await erc20Contract.__assert(); + deployed_tokenAddress = erc20Contract.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + it( - 'should start the Application', + "should start the StakingContract", mochaAsync(async () => { - app = new Application({ test: true, localtest: true, mainnet: false }); + stakingContract = new StakingContract(testConfig); expect(app).to.not.equal(null); - userAddress = await app.getAddress(); - }), + }) ); it( - 'should deploy Staking Contract', + "should deploy Staking Contract", mochaAsync(async () => { /* Create Contract */ - stakingContract = app.getStakingContract({ + //stakingContract = new StakingContract({tokenAddress : deployed_tokenAddress}); //LIVE on mainnet + stakingContract = new StakingContract({ + ...testConfig, tokenAddress: deployed_tokenAddress, - }); + }); //ganache local test /* Deploy */ const res = await stakingContract.deploy(); await stakingContract.__assert(); contractAddress = stakingContract.getAddress(); expect(res).to.not.equal(false); - }), + }) ); it( - 'should create a Product', + "should create a Product", mochaAsync(async () => { /* Create Event */ let res = await stakingContract.createProduct({ - startDate: moment().add(1, 'minutes'), - endDate: moment().add(10, 'minutes'), + startDate: moment().add(1, "minutes"), + endDate: moment().add(10, "minutes"), totalMaxAmount, individualMinimumAmount, + individualMaxAmount, APR, lockedUntilFinalization: false, }); @@ -78,11 +113,11 @@ context('Staking Contract', async () => { res = await stakingContract.getProducts(); expect(res.length).to.equal(1); productId = res[0]; - }), + }) ); it( - 'should get Product Data', + "should get Product Data", mochaAsync(async () => { /* Create Event */ const res = await stakingContract.getProduct({ @@ -98,11 +133,11 @@ context('Staking Contract', async () => { expect(res.lockedUntilFinalization).to.equal(false); expect(res.subscribers.length).to.equal(0); expect(res.subscriptionIds.length).to.equal(0); - }), + }) ); it( - 'should get APR Data', + "should get APR Data", mochaAsync(async () => { let res = await stakingContract.getAPRAmount({ APR, @@ -113,84 +148,88 @@ context('Staking Contract', async () => { expect(res).to.equal(userDepositNeededAPR.toFixed(18)); res = await stakingContract.getTotalNeededTokensForAPRbyAdmin(); expect(Numbers.fromExponential(res).toString()).to.equal( - totalNeededAPR.toFixed(18), + totalNeededAPR.toFixed(18) ); - }), + }) ); it( - 'should get Held Tokens == 0', + "should get Held Tokens == 0", mochaAsync(async () => { /* Create Event */ const res = await stakingContract.heldTokens(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - }), + }) ); it( - 'should get Available Tokens == 0', + "should get Available Tokens == 0", mochaAsync(async () => { /* Create Event */ const res = await stakingContract.availableTokens(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - }), + }) ); it( - 'should get Future Locked Tokens == 0', + "should get Future Locked Tokens == 0", mochaAsync(async () => { const res = await stakingContract.futureLockedTokens(); expect(Numbers.fromExponential(res).toString()).to.equal( - Number(0).toString(), + Number(0).toString() ); - }), + }) ); it( - 'should get tokens needed for APR == totalNeededAPR', + "should get tokens needed for APR == totalNeededAPR", mochaAsync(async () => { - const tokensNeeded = await stakingContract.getTotalNeededTokensForAPRbyAdmin(); + const tokensNeeded = + await stakingContract.getTotalNeededTokensForAPRbyAdmin(); expect( - Numbers.fromExponential(totalNeededAPR.toFixed(18)).toString(), + Numbers.fromExponential(totalNeededAPR.toFixed(18)).toString() ).to.equal(tokensNeeded); - }), + }) ); it( - 'should fund with tokens needed for APR', + "should fund with tokens needed for APR", mochaAsync(async () => { - const neededTokensAmount = await stakingContract.getTotalNeededTokensForAPRbyAdmin(); + const neededTokensAmount = + await stakingContract.getTotalNeededTokensForAPRbyAdmin(); const res = await stakingContract.depositAPRTokensByAdmin({ amount: neededTokensAmount, }); expect(res).to.not.equal(false); - }), + }) ); it( - 'should get Held Tokens == APR Needed for 1 subscription with min Amount', + "should get Held Tokens == APR Needed for 1 subscription with min Amount", mochaAsync(async () => { const res = await stakingContract.heldTokens(); - const tokensNeeded = await stakingContract.getTotalNeededTokensForAPRbyAdmin(); + const tokensNeeded = + await stakingContract.getTotalNeededTokensForAPRbyAdmin(); expect(Numbers.fromExponential(res).toString()).to.equal(tokensNeeded); - }), + }) ); it( - 'should get Available Tokens == APR Needed for 1 subscription with min Amount', + "should get Available Tokens == APR Needed for 1 subscription with min Amount", mochaAsync(async () => { const res = await stakingContract.availableTokens(); - const tokensNeeded = await stakingContract.getTotalNeededTokensForAPRbyAdmin(); + const tokensNeeded = + await stakingContract.getTotalNeededTokensForAPRbyAdmin(); expect(Numbers.fromExponential(res).toString()).to.equal(tokensNeeded); - }), + }) ); it( - 'should get subscribe to product Data & APR Right', + "should get subscribe to product Data & APR Right", mochaAsync(async () => { /* Approve Tx */ let res = await stakingContract.approveERC20Transfer(); @@ -209,11 +248,11 @@ context('Staking Contract', async () => { }); expect(res.length).to.equal(1); subscriptionId = res[0]; - }), + }) ); it( - 'should get Subscription Data Right', + "should get Subscription Data Right", mochaAsync(async () => { const res = await stakingContract.getSubscription({ subscription_id: subscriptionId, @@ -227,51 +266,53 @@ context('Staking Contract', async () => { expect(res.subscriberAddress).to.equal(userAddress); expect(res.APR).to.equal(APR); expect(res.finalized).to.equal(false); - }), + }) ); it( - 'should get Held Tokens == APR Amount + indivualAmount', + "should get Held Tokens == APR Amount + indivualAmount", mochaAsync(async () => { const res = await stakingContract.heldTokens(); expect(res).to.equal( - Number(individualMinimumAmount + totalNeededAPR).toString(), + Number(individualMinimumAmount + totalNeededAPR).toString() ); - }), + }) ); it( - 'should get Future Locked Tokens == APR Amount', + "should get Future Locked Tokens == APR Amount", mochaAsync(async () => { const res = await stakingContract.futureLockedTokens(); - const userAPR = ((((APR / 365 / 24 / 60) - * (Numbers.timeToSmartContractTime(endDateSubscription) - - Numbers.timeToSmartContractTime(startDateSubscription))) - / 60) - * individualMinimumAmount) - / 100; + const userAPR = + ((((APR / 365 / 24 / 60) * + (Numbers.timeToSmartContractTime(endDateSubscription) - + Numbers.timeToSmartContractTime(startDateSubscription))) / + 60) * + individualMinimumAmount) / + 100; expect(res).to.equal( - Number(individualMinimumAmount + userAPR).toString(), + Number(individualMinimumAmount + userAPR).toString() ); - }), + }) ); it( - 'should get Available Tokens == 0 (all used)', + "should get Available Tokens == 0 (all used)", mochaAsync(async () => { const res = await stakingContract.availableTokens(); - const userAPR = ((((APR / 365 / 24 / 60) - * (Numbers.timeToSmartContractTime(endDateSubscription) - - Numbers.timeToSmartContractTime(startDateSubscription))) - / 60) - * individualMinimumAmount) - / 100; + const userAPR = + ((((APR / 365 / 24 / 60) * + (Numbers.timeToSmartContractTime(endDateSubscription) - + Numbers.timeToSmartContractTime(startDateSubscription))) / + 60) * + individualMinimumAmount) / + 100; expect(res).to.equal(Number(totalNeededAPR - userAPR).toFixed(18)); - }), + }) ); it( - 'should withdraw Subscription', + "should withdraw Subscription", mochaAsync(async () => { await delay(1 * 60 * 1000); const res = await stakingContract.withdrawSubscription({ @@ -280,11 +321,11 @@ context('Staking Contract', async () => { }); withdrawTx = res; expect(res).to.not.equal(false); - }), + }) ); it( - 'should confirm Subscription Data after Withdraw', + "should confirm Subscription Data after Withdraw", mochaAsync(async () => { const res = await stakingContract.getSubscription({ subscription_id: subscriptionId, @@ -300,8 +341,8 @@ context('Staking Contract', async () => { amount: individualMinimumAmount, }); expect(res.withdrawAmount).to.equal( - String(Number(apr) + Number(individualMinimumAmount)).toString(), + String(Number(apr) + Number(individualMinimumAmount)).toString() ); - }), + }) ); }); diff --git a/tests/votingContract.js b/tests/votingContract.js new file mode 100644 index 00000000..95fd8016 --- /dev/null +++ b/tests/votingContract.js @@ -0,0 +1,75 @@ +import { expect, assert } from "chai"; +import moment from "moment"; +import delay from "delay"; +import { mochaAsync } from "./utils"; +import { ERC20Contract, VotingContract } from "../build"; +import Numbers from "../build/utils/Numbers"; + +let deployed_tokenAddress; +const testConfig = { + test: true, + localtest: true, //ganache local blockchain +}; + +context("Voting Contract", async () => { + let erc20; + let contract; + let userAddress; + let app; + let contractAddress; + + + before(async () => { + contract = new VotingContract(testConfig); + userAddress = await contract.getUserAddress(); //local test with ganache + }); + + ///this function is needed in all contracts working with an ERC20Contract token + ///NOTE: it deploys a new ERC20Contract token for individual contract functionality testing + it( + "should deploy the transactional ERC20Contract", + mochaAsync(async () => { + // Create Contract + erc20 = new ERC20Contract(testConfig); + expect(erc20).to.not.equal(null); + // Deploy + const res = await erc20.deploy({ + name: "Token Transactional", + symbol: "TKNT", + cap: Numbers.toSmartContractDecimals(100000000, 18), + distributionAddress: userAddress, + }); + await erc20.__assert(); + deployed_tokenAddress = erc20.getAddress(); + expect(res).to.not.equal(false); + expect(deployed_tokenAddress).to.equal(res.contractAddress); + console.log( + "ERC20Contract.deployed_tokenAddress: " + deployed_tokenAddress + ); + }) + ); + + it( + "should start the Voting Contract", + mochaAsync(async () => { + contract = new VotingContract(testConfig); + expect(app).to.not.equal(null); + }) + ); + + it( + "should deploy Voting Contract", + mochaAsync(async () => { + /* Create Contract */ + contract = new VotingContract(testConfig); //ganache local test + /* Deploy */ + const res = await contract.deploy({ + erc20Contract : erc20.getAddress(), + }); + + contractAddress = contract.getAddress(); + expect(res).to.not.equal(false); + }) + ); + +}); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..b1d2147b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,12361 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/cli@^7.0.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.16.0.tgz#a729b7a48eb80b49f48a339529fc4129fd7bcef3" + integrity sha512-WLrM42vKX/4atIoQB+eb0ovUof53UUvecb4qGjU2PDDWRiZr50ZpiV8NpcLo7iSxeGYrRG0Mqembsa+UrTAV6Q== + dependencies: + commander "^4.0.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.0.0" + make-dir "^2.1.0" + slash "^2.0.0" + source-map "^0.5.0" + optionalDependencies: + "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" + chokidar "^3.4.0" + +"@babel/code-frame@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== + dependencies: + "@babel/highlight" "^7.16.0" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" + integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== + +"@babel/core@^7.0.0", "@babel/core@^7.12.8", "@babel/core@^7.7.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/eslint-parser@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz#2a6b1702f3f5aea48e00cea5a5bcc241c437e459" + integrity sha512-iB4ElZT0jAt7PKVaeVulOECdGe6UnmA/O0P9jlF5g5GBOwDVbna8AXhHRu4s27xQf6OkveyA8iTDv1jHdDejgQ== + dependencies: + eslint-scope "^5.1.1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.0" + +"@babel/generator@^7.12.11", "@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== + dependencies: + "@babel/types" "^7.16.0" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" + integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== + dependencies: + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" + integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== + dependencies: + "@babel/types" "^7.16.0" + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/helpers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183" + integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ== + dependencies: + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/node@^7.0.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.16.0.tgz#855e783ba4cbca88dbdebf4b01c2d95844c4afdf" + integrity sha512-eFUU2RHkgMW0X1lHVVOWJYlaDTwCX2LduQQLfehAfID5VhAjNnBhGZ/r0zk3FSQfFn6enJ2aXyRCiZ829bYVeA== + dependencies: + "@babel/register" "^7.16.0" + commander "^4.0.1" + core-js "^3.19.0" + node-environment-flags "^1.0.5" + regenerator-runtime "^0.13.4" + v8flags "^3.1.1" + +"@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" + integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== + +"@babel/parser@^7.2.3", "@babel/parser@^7.9.4": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac" + integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + +"@babel/plugin-proposal-async-generator-functions@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" + integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.4" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.0.0", "@babel/plugin-proposal-class-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@^7.0.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz#9b35ce0716425a93b978e79099e5f7ba217c1364" + integrity sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-decorators" "^7.16.0" + +"@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.0.0", "@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-function-sent@^7.0.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.16.0.tgz#6a873e125e4081e48d9b37518e8e2c63c9a8cddb" + integrity sha512-CkUaPsTiRB72BlsB1Istdb6LSJDi4SU4gH+hW9EKo2/o6naq0HEkuY2OV5anl5Tsnwtdn3FmpteguRc9kXd3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/plugin-syntax-function-sent" "^7.16.0" + +"@babel/plugin-proposal-json-strings@^7.0.0", "@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.0.0", "@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== + dependencies: + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.16.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-throw-expressions@^7.0.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.16.0.tgz#f9450e11d90159eff29a36e5bcacc9b49eefc4d7" + integrity sha512-8u4KrMqdzRLkfHMN6WOK4taEwV6Dv69O/TuJ2TCGapRXtbjRKDW2UyTxEzlZpA1Eu+MxquSW9+y8qy89TIJfOA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-throw-expressions" "^7.16.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" + integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-function-sent@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.16.0.tgz#c6e0eb280a101cd7bdaf6d3f750eb27b59978c48" + integrity sha512-CrwPwHy+ks1xokbZ5x2ZbRwZ5qptN0PE/N5M+o8eQ2LHXGFxlSuDVx515crT7DxUnT+uKctKDuk0NAwG7c1Ebw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-meta@^7.0.0": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-throw-expressions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.16.0.tgz#9d5fc5c185617bc5f727fbecc360601a52cf6879" + integrity sha512-tr5wm8EYRpFW47uVJ2B660pJQXgmeCShz82tE6LkIVkcLzXMz5xhj0drYyehuAl1utNGFqPnMmjpzs5zavAbNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" + +"@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-for-of@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== + dependencies: + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.16.0" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== + dependencies: + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== + dependencies: + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + +"@babel/plugin-transform-new-target@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + +"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-runtime@^7.0.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" + integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== + dependencies: + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + +"@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/polyfill@^7.4.4": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.12.1.tgz#1f2d6371d1261bbd961f3c5d5909150e12d0bd96" + integrity sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g== + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.4" + +"@babel/preset-env@^7.0.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" + integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.3" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.4" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.3" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.19.1" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/register@^7.0.0", "@babel/register@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.16.0.tgz#f5d2aa14df37cf7146b9759f7c53818360f24ec6" + integrity sha512-lzl4yfs0zVXnooeLE0AAfYaT7F3SPA8yB2Bj4W1BiZwLbMS3MZH35ZvCWSRHvneUugwuM+Wsnrj7h0F7UmU3NQ== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + +"@babel/runtime-corejs3@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== + dependencies: + core-js-pure "^3.19.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.16.0", "@babel/runtime@^7.8.4": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.7.6": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz#e27b977f2e2088ba24748bf99b5e1dece64e4f0b" + integrity sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + +"@babel/traverse@^7.1.6": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" + integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.2.0", "@babel/types@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== + dependencies: + "@babel/helper-validator-identifier" "^7.15.7" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@electron/get@^1.13.0": + version "1.13.1" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368" + integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^9.6.0" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^3.0.0" + global-tunnel-ng "^2.7.1" + +"@eslint/eslintrc@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.4.tgz#dfe0ff7ba270848d10c5add0715e04964c034b31" + integrity sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.0.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" + integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.3" + +"@ethereumjs/tx@^3.3.2": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" + integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== + dependencies: + "@ethereumjs/common" "^2.6.0" + ethereumjs-util "^7.1.3" + +"@ethersproject/abi@5.0.7": + version "5.0.7" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" + integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== + dependencies: + "@ethersproject/address" "^5.0.4" + "@ethersproject/bignumber" "^5.0.7" + "@ethersproject/bytes" "^5.0.4" + "@ethersproject/constants" "^5.0.4" + "@ethersproject/hash" "^5.0.4" + "@ethersproject/keccak256" "^5.0.3" + "@ethersproject/logger" "^5.0.5" + "@ethersproject/properties" "^5.0.3" + "@ethersproject/strings" "^5.0.4" + +"@ethersproject/abstract-provider@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" + integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" + +"@ethersproject/abstract-signer@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" + integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + +"@ethersproject/address@^5.0.4", "@ethersproject/address@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" + integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + +"@ethersproject/base64@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" + integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + +"@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" + integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + bn.js "^4.11.9" + +"@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" + integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" + integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== + dependencies: + "@ethersproject/bignumber" "^5.5.0" + +"@ethersproject/hash@^5.0.4": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" + integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" + integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== + dependencies: + "@ethersproject/bytes" "^5.5.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" + integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== + +"@ethersproject/networks@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.0.tgz#babec47cab892c51f8dd652ce7f2e3e14283981a" + integrity sha512-KWfP3xOnJeF89Uf/FCJdV1a2aDJe5XTN2N52p4fcQ34QhDqQFkgQKZ39VGtiqUgHcLI8DfT0l9azC3KFTunqtA== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" + integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== + dependencies: + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/rlp@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" + integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/signing-key@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" + integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + bn.js "^4.11.9" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" + integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== + dependencies: + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + +"@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" + integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + +"@ethersproject/web@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.0.tgz#0e5bb21a2b58fb4960a705bfc6522a6acf461e28" + integrity sha512-BEgY0eL5oH4mAo37TNYVrFeHsIXLRxggCRG/ksRIxI2X5uj5IsjGmcNiRN/VirQOlBxcUhCgHhaDLG4m6XAVoA== + dependencies: + "@ethersproject/base64" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + +"@humanwhocodes/config-array@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" + integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@multiformats/base-x@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@multiformats/base-x/-/base-x-4.0.1.tgz#95ff0fa58711789d53aefb2590a8b7a4e715d121" + integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== + +"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": + version "2.1.8-no-fsevents.3" + resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" + integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@openzeppelin/contracts@^3.4.1": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.2.tgz#d81f786fda2871d1eb8a8c5a73e455753ba53527" + integrity sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA== + +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + +"@sindresorhus/is@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + +"@sovpro/delimited-stream@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@sovpro/delimited-stream/-/delimited-stream-1.1.0.tgz#4334bba7ee241036e580fdd99c019377630d26b4" + integrity sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw== + +"@szmarczak/http-timer@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + dependencies: + defer-to-connect "^1.0.1" + +"@types/babel-types@*", "@types/babel-types@^7.0.0": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.11.tgz#263b113fa396fac4373188d73225297fb86f19a9" + integrity sha512-pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A== + +"@types/babylon@^6.16.2": + version "6.16.6" + resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.6.tgz#a1e7e01567b26a5ebad321a74d10299189d8d932" + integrity sha512-G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w== + dependencies: + "@types/babel-types" "*" + +"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.5": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + +"@types/bn.js@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" + integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== + dependencies: + "@types/node" "*" + +"@types/bson@*": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.2.0.tgz#a2f71e933ff54b2c3bf267b67fa221e295a33337" + integrity sha512-ELCPqAdroMdcuxqwMgUpifQyRoTpyYCNr1V9xKyF40VsBobsj+BbWNRvwGchMgBPGqkw655ypkjj2MEF5ywVwg== + dependencies: + bson "*" + +"@types/bson@1.x || 4.0.x": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/bson/-/bson-4.0.5.tgz#9e0e1d1a6f8866483f96868a9b33bc804926b1fc" + integrity sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/long@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9" + integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== + +"@types/mdast@^3.0.0", "@types/mdast@^3.0.3": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== + dependencies: + "@types/unist" "*" + +"@types/minimatch@^3.0.4": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== + +"@types/mongodb@^3.5.27": + version "3.6.20" + resolved "https://registry.yarnpkg.com/@types/mongodb/-/mongodb-3.6.20.tgz#b7c5c580644f6364002b649af1c06c3c0454e1d2" + integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ== + dependencies: + "@types/bson" "*" + "@types/node" "*" + +"@types/node@*": + version "16.11.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.7.tgz#36820945061326978c42a01e56b61cd223dfdc42" + integrity sha512-QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw== + +"@types/node@>=13.7.0": + version "16.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" + integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + +"@types/node@^12.12.6": + version "12.20.37" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" + integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA== + +"@types/node@^14.6.2": + version "14.17.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.33.tgz#011ee28e38dc7aee1be032ceadf6332a0ab15b12" + integrity sha512-noEeJ06zbn3lOh4gqe2v7NMGS33jrulfNqYFDjjEbhpDEHR5VTxgYNQSBqBlJIsBJW3uEYDgD6kvMnrrhGzq8g== + +"@types/pbkdf2@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" + integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== + dependencies: + "@types/node" "*" + +"@types/secp256k1@^4.0.1": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== + dependencies: + "@types/node" "*" + +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== + +JSONStream@~1.3.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" + integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== + dependencies: + jsonparse "^1.2.0" + through ">=2.2.7 <3" + +abbrev@1, abbrev@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abbrev@~1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha1-kbR5JYinc4wl813W9jdSovh3YTU= + +abi-decoder@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/abi-decoder/-/abi-decoder-1.2.0.tgz#c42882dbb91b444805f0cd203a87a5cc3c22f4a8" + integrity sha512-y2OKSEW4gf2838Eavc56vQY9V46zaXkf3Jl1WpTfUBbzAVrXSr4JRZAAWv55Tv9s5WNz1rVgBgz5d2aJIL1QCg== + dependencies: + web3 "^0.18.4" + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +accounting@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/accounting/-/accounting-0.4.1.tgz#87dd4103eff7f4460f1e186f5c677ed6cf566883" + integrity sha1-h91BA+/39EYPHhhvXGd+1s9WaIM= + +acorn-globals@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + integrity sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8= + dependencies: + acorn "^4.0.4" + +acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= + +acorn@^4.0.4, acorn@~4.0.2: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= + +acorn@^8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@4, agent-base@^4.1.0, agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + +agentkeepalive@^3.3.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" + integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== + dependencies: + humanize-ms "^1.2.1" + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escape-sequences@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz#2483c8773f50dd9174dd9557e92b1718f1816097" + integrity sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw== + dependencies: + array-back "^3.0.1" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE= + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0, ansi-regex@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-wrap@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= + +ansi@^0.3.0, ansi@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + integrity sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk= + +ansistyles@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" + integrity sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk= + +any-signal@^2.1.0, any-signal@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-2.1.2.tgz#8d48270de0605f8b218cf9abe8e9c6a0e7418102" + integrity sha512-B+rDnWasMi/eWcajPcCWSlYc7muXOrcYrqgyzcdKisl2H/WTlQ0gip1KyQfr0ZlxJdsuWCj/LWwQm7fhyhRfIQ== + dependencies: + abort-controller "^3.0.0" + native-abort-controller "^1.0.3" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + integrity sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA== + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +app-module-path@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5" + integrity sha1-ZBqlXft9am8KgUHEucCqULbCTdU= + +aproba@^1.0.3, aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +aproba@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1" + integrity sha512-ZpYajIfO0j2cOFTO955KUMIKNmj6zhX8kVztMAxFsDaMwz+9Z9SV0uou2pC9HJqcfpffOsjnbrDMvkNy+9RXPw== + +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= + +are-we-there-yet@~1.1.2: + version "1.1.7" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" + integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +arg@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" + integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + integrity sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8= + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-back@^1.0.2, array-back@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-1.0.4.tgz#644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b" + integrity sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs= + dependencies: + typical "^2.6.0" + +array-back@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-2.0.0.tgz#6877471d51ecc9c9bfa6136fb6c7d5fe69748022" + integrity sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw== + dependencies: + typical "^2.6.1" + +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + +array-back@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-5.0.0.tgz#e196609edcec48376236d163958df76e659a0d36" + integrity sha512-kgVWwJReZWmVuWOQKEOohXKJX+nD02JAZ54D1RRWlv8L0NebauKAaFxACKzB74RTclt1+WNz5KHaLRDAPZbDEw== + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + integrity sha1-odl8yvy8JiXMcPrc6zalDFiwGlM= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + +arrify@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +asap@^2.0.0, asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + integrity sha1-104bh+ev/A24qttwIfP+SBAasjQ= + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types@0.12.4, ast-types@^0.12.2: + version "0.12.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.12.4.tgz#71ce6383800f24efc9a1a3308f3a6e420a0974d1" + integrity sha512-ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw== + +ast-types@^0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" + integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== + dependencies: + tslib "^2.0.1" + +async-each@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async-some@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/async-some/-/async-some-1.0.2.tgz#4d8a81620d5958791b5b98f802d3207776e95509" + integrity sha1-TYqBYg1ZWHkbW5j4AtMgd3bpVQk= + dependencies: + dezalgo "^1.0.2" + +async@^1.4.0, async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= + +async@^2.0.1, async@^2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + integrity sha1-FDQt0428yU0OW4fXY81jYSwOeU8= + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.2.1, aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.3.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.0" + core-js-compat "^3.18.0" + +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.3.0" + +babel-plugin-transform-remove-console@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" + integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A= + +babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base-x@^3.0.2, base-x@^3.0.8: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bash-color@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/bash-color/-/bash-color-0.0.4.tgz#e9be8ce33540cada4881768c59bd63865736e913" + integrity sha1-6b6M4zVAytpIgXaMWb1jhlc26RM= + +basic-auth@^1.0.3: + version "1.1.0" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" + integrity sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak= + +better-docs@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/better-docs/-/better-docs-2.3.2.tgz#0de059301c49669a4350409d8c235868cf8bcbf7" + integrity sha512-VlbXQgEftaynJSaPa853XB5WqTlPoQQr2TnxIkKi6OsyJJxF42Ke+9SIES/hqTe58aaBnuoDGrIzOso8RdNx6Q== + dependencies: + brace "^0.11.1" + react-ace "^6.5.0" + react-docgen "^5.3.0" + react-frame-component "^4.1.1" + typescript "^3.7.5" + underscore "^1.9.1" + vue-docgen-api "^3.22.0" + vue2-ace-editor "^0.0.13" + +big-number@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/big-number/-/big-number-2.0.0.tgz#98548eda9393b445791670a213aed6f6dcd66ee3" + integrity sha512-C67Su0g+XsmXADX/UM9L/+xSbqqwq0D/qGJs2ky6Noy2FDuCZnC38ZSXODiaBvqWma2VYRZEXgm4H74PS6tCDg== + +bignumber.js@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" + integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== + +"bignumber.js@git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2": + version "2.0.7" + resolved "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bl@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5" + integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bl@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-5.0.0.tgz#6928804a41e9da9034868e1c50ca88f21f57aea2" + integrity sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ== + dependencies: + buffer "^6.0.3" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + integrity sha1-/cqHGplxOqANGeO7ukHER4emU5g= + dependencies: + readable-stream "~2.0.5" + +blakejs@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" + integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== + +blob-to-it@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/blob-to-it/-/blob-to-it-1.0.4.tgz#f6caf7a4e90b7bb9215fa6a318ed6bd8ad9898cb" + integrity sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA== + dependencies: + browser-readablestream-to-it "^1.0.3" + +block-stream@*, block-stream@0.0.9: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo= + dependencies: + inherits "~2.0.0" + +bluebird@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" + integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== + +bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bluebird@~3.5.0: + version "3.5.5" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" + integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha1-UzRK2xRhehP26N0s4okF0cC6MhU= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +body-parser@1.19.0, body-parser@^1.16.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +boolean@^3.0.1: + version "3.1.4" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" + integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w== + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= + dependencies: + hoek "2.x.x" + +borc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/borc/-/borc-3.0.0.tgz#49ada1be84de86f57bb1bb89789f34c186dfa4fe" + integrity sha512-ec4JmVC46kE0+layfnwM3l15O70MlFiEbmQHY/vpqIKiUtPVntv4BY4NVnz3N4vb21edV3mY97XVckFvYHWF9g== + dependencies: + bignumber.js "^9.0.0" + buffer "^6.0.3" + commander "^2.15.0" + ieee754 "^1.1.13" + iso-url "^1.1.5" + json-text-sequence "~0.3.0" + readable-stream "^3.6.0" + +boxen@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace@^0.11.0, brace@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58" + integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg= + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + integrity sha1-uneWLhLf+WnWt2cR6RS3N4V79qc= + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-readablestream-to-it@^1.0.1, browser-readablestream-to-it@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz#ac3e406c7ee6cdf0a502dd55db33bab97f7fba76" + integrity sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw== + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserslist@^4.17.5, browserslist@^4.17.6: + version "4.18.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== + dependencies: + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo= + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +bson@*: + version "4.5.4" + resolved "https://registry.yarnpkg.com/bson/-/bson-4.5.4.tgz#5f74f1e11f743ea8aec30b5e24bfddae82846873" + integrity sha512-wIt0bPACnx8Ju9r6IsS2wVtGDHBr9Dxb+U29A1YED2pu8XOhS8aKjOnLZ8sxyXkPwanoK7iWWVhS1+coxde6xA== + dependencies: + buffer "^5.6.0" + +bson@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a" + integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E= + +buffer-to-arraybuffer@^0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" + integrity sha1-YGSkD6dutDxyOrqe+PbhIW0QURo= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.1, buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +buffers@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + +bufferutil@^4.0.1: + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== + dependencies: + node-gyp-build "^4.3.0" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= + +builtins@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a" + integrity sha1-NVIZzWzxjb58Acx/0tznZc/cVJo= + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +c8@^7.6.0: + version "7.10.0" + resolved "https://registry.yarnpkg.com/c8/-/c8-7.10.0.tgz#c539ebb15d246b03b0c887165982c49293958a73" + integrity sha512-OAwfC5+emvA6R7pkYFVBTOtI5ruf9DahffGmIqUc9l6wEh0h7iAFP6dt/V9Ioqlr2zW5avX9U9/w1I4alTRHkA== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@istanbuljs/schema" "^0.1.2" + find-up "^5.0.0" + foreground-child "^2.0.0" + istanbul-lib-coverage "^3.0.1" + istanbul-lib-report "^3.0.0" + istanbul-reports "^3.0.2" + rimraf "^3.0.0" + test-exclude "^6.0.0" + v8-to-istanbul "^8.0.0" + yargs "^16.2.0" + yargs-parser "^20.2.7" + +cacache@^10.0.0: + version "10.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460" + integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA== + dependencies: + bluebird "^3.5.1" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^2.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^5.2.4" + unique-filename "^1.1.0" + y18n "^4.0.0" + +cacache@^9.2.9: + version "9.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.3.0.tgz#9cd58f2dd0b8c8cacf685b7067b416d6d3cf9db1" + integrity sha512-Vbi8J1XfC8v+FbQ6QkOtKXsHpPnB0i9uMeYFJoj40EbdOsEqWB3DPpNjfsnYBkqOPYA8UvrqH6FZPpBP0zdN7g== + dependencies: + bluebird "^3.5.0" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^1.3.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.1" + ssri "^4.1.6" + unique-filename "^1.1.0" + y18n "^3.2.1" + +cacache@~9.2.9: + version "9.2.9" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-9.2.9.tgz#f9d7ffe039851ec94c28290662afa4dd4bb9e8dd" + integrity sha512-ghg1j5OyTJ6qsrqU++dN23QiTDxb5AZCFGsF3oB+v9v/gY+F4X8L/0gdQMEjd+8Ot3D29M2etX5PKozHRn2JQw== + dependencies: + bluebird "^3.5.0" + chownr "^1.0.1" + glob "^7.1.2" + graceful-fs "^4.1.11" + lru-cache "^4.1.1" + mississippi "^1.3.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.1" + ssri "^4.1.6" + unique-filename "^1.1.0" + y18n "^3.2.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cache-point/-/cache-point-2.0.0.tgz#91e03c38da9cfba9d95ac6a34d24cfe6eff8920f" + integrity sha512-4gkeHlFpSKgm3vm2gJN5sPqfmijYRFYCQ6tv5cLw0xVmT6r1z1vd4FNnpuOREco3cBs1G709sZ72LdgddKvL5w== + dependencies: + array-back "^4.0.1" + fs-then-native "^2.0.0" + mkdirp2 "^1.0.4" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-limit@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.1.tgz#ef15f2670db3f1992557e2d965abc459e6e358d4" + integrity sha512-5twvci5b9eRBw2wCfPtN0GmlR2/gadZqyFpPhOK6CvMFoFgA+USnZ6Jpu1lhG9h85pQ3Ouil3PfXWRD4EUaRiQ== + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= + +camelcase@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +caniuse-lite@^1.0.30001280: + version "1.0.30001282" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" + integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== + +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + integrity sha1-cVuW6phBWTzDMGeSP17GDr2k99c= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +catharsis@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/catharsis/-/catharsis-0.9.0.tgz#40382a168be0e6da308c277d3a2b3eb40c7d2121" + integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== + dependencies: + lodash "^4.17.15" + +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chai@^4.2.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.1" + type-detect "^4.0.5" + +chalk@^1.0.0, chalk@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-spinner@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/char-spinner/-/char-spinner-1.0.1.tgz#e6ea67bd247e107112983b7ab0479ed362800081" + integrity sha1-5upnvSR+EHESmDt6sEee02KAAIE= + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-parser@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" + integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A= + dependencies: + is-regex "^1.0.3" + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +chmodr@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.0.2.tgz#04662b932d0f02ec66deaa2b0ea42811968e3eb9" + integrity sha1-BGYrky0PAuxm3qorDqQoEZaOPrk= + +chokidar@^3.4.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@~1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.5.2.tgz#293e728640cc93dd8277424334b3c6d4ad3a348a" + integrity sha1-KT5yhkDMk92Cd0JDNLPG1K06NIo= + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chownr@^1.0.1, chownr@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + integrity sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE= + +cids@^0.7.1: + version "0.7.5" + resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" + integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== + dependencies: + buffer "^5.5.0" + class-is "^1.1.0" + multibase "~0.6.0" + multicodec "^1.0.0" + multihashes "~0.4.15" + +cids@^1.0.0, cids@^1.1.6: + version "1.1.9" + resolved "https://registry.yarnpkg.com/cids/-/cids-1.1.9.tgz#402c26db5c07059377bcd6fb82f2a24e7f2f4a4f" + integrity sha512-l11hWRfugIcbGuTZwAM5PwpjPPjyb6UZOGwlHSnOBV5o07XhQ4gNpBN67FbODvpjyHtd+0Xs6KNvUcGBiDRsdg== + dependencies: + multibase "^4.0.1" + multicodec "^3.0.1" + multihashes "^4.0.1" + uint8arrays "^3.0.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-is@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" + integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@^4.1.11: + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== + dependencies: + source-map "~0.6.0" + +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE= + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +cmd-shim@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" + integrity sha1-b8vamUg6j9FdfTChlspp1oii79s= + dependencies: + graceful-fs "^4.1.2" + mkdirp "~0.5.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collect-all@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/collect-all/-/collect-all-1.0.4.tgz#50cd7119ac24b8e12a661f0f8c3aa0ea7222ddfc" + integrity sha512-RKZhRwJtJEP5FWul+gkSMEnaK6H3AGPTTWOiRimCcs+rc/OmQE3Yhy1Q7A7KsdkG3ZXVdZq68Y6ONSdvkeEcKA== + dependencies: + stream-connect "^1.0.2" + stream-via "^1.0.4" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colors@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +columnify@~1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + +combined-stream@^1.0.5, combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.5, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +command-line-args@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.0.tgz#087b02748272169741f1fd7c785b295df079b9be" + integrity sha512-4zqtU1hYsSJzcJBOcNZIbW5Fbk9BkjCp1pZVhQKoRaWL5J7N4XphDLwo8aWwdQpTugxwu+jf9u2ZhkXiqp5Z6A== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-tool@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/command-line-tool/-/command-line-tool-0.8.0.tgz#b00290ef1dfc11cc731dd1f43a92cfa5f21e715b" + integrity sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g== + dependencies: + ansi-escape-sequences "^4.0.0" + array-back "^2.0.0" + command-line-args "^5.0.0" + command-line-usage "^4.1.0" + typical "^2.6.1" + +command-line-usage@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-4.1.0.tgz#a6b3b2e2703b4dcf8bd46ae19e118a9a52972882" + integrity sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g== + dependencies: + ansi-escape-sequences "^4.0.0" + array-back "^2.0.0" + table-layout "^0.4.2" + typical "^2.6.1" + +commander@2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== + +commander@2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" + integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== + +commander@^2.15.0, commander@^2.19.0, commander@^2.9.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +comment-parser@^0.7.6: + version "0.7.6" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-0.7.6.tgz#0e743a53c8e646c899a1323db31f6cd337b10f12" + integrity sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg== + +common-sequence@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/common-sequence/-/common-sequence-2.0.2.tgz#accc76bdc5876a1fcd92b73484d4285fff99d838" + integrity sha512-jAg09gkdkrDO9EWTdXfv80WWH3yeZl5oT69fGfedBNS9pXUKYInVJ1bJ+/ht2+Moeei48TmSbQDYMc8EOx9G0g== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +component-emitter@~1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@^1.1.11, config-chain@~1.1.10, config-chain@~1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +config-master@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/config-master/-/config-master-3.1.0.tgz#667663590505a283bf26a484d68489d74c5485da" + integrity sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo= + dependencies: + walk-back "^2.0.1" + +configstore@^3.0.0: + version "3.1.5" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.5.tgz#e9af331fadc14dabd544d3e7e76dc446a09a530f" + integrity sha512-nlOhI4+fdzoK5xmJ+NY+1gZK56bwEaWZr8fYuXohZ9Vkc1o3a4T/R3M+yE/w7x/ZVJ1zF8c+oaOvF0dztdUgmA== + dependencies: + dot-prop "^4.2.1" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + +confusing-browser-globals@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= + +constantinople@^3.0.1, constantinople@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.2.tgz#d45ed724f57d3d10500017a7d3a889c1381ae647" + integrity sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw== + dependencies: + "@types/babel-types" "^7.0.0" + "@types/babylon" "^6.16.2" + babel-types "^6.26.0" + babylon "^6.18.0" + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-hash@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" + integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== + dependencies: + cids "^0.7.1" + multicodec "^0.5.5" + multihashes "^0.4.15" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.1.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +cookiejar@2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.0.6.tgz#0abf356ad00d1c5a219d88d44518046dd026acfe" + integrity sha1-Cr81atANHFohnYjURRgEbdAmrP4= + +cookiejar@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" + integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.18.0, core-js-compat@^3.19.1: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" + integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== + dependencies: + browserslist "^4.17.6" + semver "7.0.0" + +core-js-pure@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" + integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== + +core-js@^2.4.0, core-js@^2.6.5: + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641" + integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cors@^2.8.1: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +corser@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + integrity sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c= + +crc-32@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208" + integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA== + dependencies: + exit-on-epipe "~1.0.1" + printj "~1.1.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" + integrity sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE= + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= + dependencies: + boom "2.x.x" + +crypto-browserify@3.12.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-js@^3.1.4, crypto-js@^3.1.9-1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" + integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== + +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI= + +dayjs@^1.9.4: + version "1.10.7" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" + integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.1.1, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= + +decamelize@^1.0.0, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +deep-extend@^0.6.0, deep-extend@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delay@^4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/delay/-/delay-4.4.1.tgz#6e02d02946a1b6ab98b39262ced965acba2ac4d1" + integrity sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ== + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= + +denque@^1.4.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf" + integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-indent@~5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" + integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= + dependencies: + asap "^2.0.0" + wrappy "1" + +diff-match-patch@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" + integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== + +diff@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dmd@^5.0.1: + version "5.0.2" + resolved "https://registry.yarnpkg.com/dmd/-/dmd-5.0.2.tgz#a911c8dbab10ec64fbc134eeb69b933618ebeb07" + integrity sha512-npXsE2+/onRPk/LCrUmx7PcUSqcSVnbrDDMi2nBSawNZ8QXlHE/8xaEZ6pNqPD1lQZv8LGr1xEIpyxP336xyfw== + dependencies: + array-back "^4.0.1" + cache-point "^2.0.0" + common-sequence "^2.0.0" + file-set "^4.0.1" + handlebars "^4.7.6" + marked "^1.1.0" + object-get "^2.1.1" + reduce-flatten "^3.0.0" + reduce-unique "^2.0.1" + reduce-without "^1.0.1" + test-value "^3.0.0" + walk-back "^4.0.0" + +dns-over-http-resolver@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-1.2.3.tgz#194d5e140a42153f55bb79ac5a64dd2768c36af9" + integrity sha512-miDiVSI6KSNbi4SVifzO/reD8rMnxgrlnkrlkugOLQpWQTe2qMdHsZp5DmfKjxNE+/T3VAAYLQUZMv9SMr6+AA== + dependencies: + debug "^4.3.1" + native-fetch "^3.0.0" + receptacle "^1.3.2" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +doctypes@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" + integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= + +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + +dot-prop@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" + integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ== + dependencies: + is-obj "^1.0.0" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds= + dependencies: + readable-stream "~1.1.9" + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ecstatic@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-3.3.2.tgz#6d1dd49814d00594682c652adb66076a69d46c48" + integrity sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog== + dependencies: + he "^1.1.1" + mime "^1.6.0" + minimist "^1.1.0" + url-join "^2.0.5" + +editor@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" + integrity sha1-YMf4e9YrzGqJT6jM1q+3gjok90I= + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-fetch@^1.7.2: + version "1.7.4" + resolved "https://registry.yarnpkg.com/electron-fetch/-/electron-fetch-1.7.4.tgz#af975ab92a14798bfaa025f88dcd2e54a7b0b769" + integrity sha512-+fBLXEy4CJWQ5bz8dyaeSG1hD6JJ15kBZyj3eh24pIVrd3hLM47H/umffrdQfS6GZ0falF0g9JT9f3Rs6AVUhw== + dependencies: + encoding "^0.1.13" + +electron-to-chromium@^1.3.896: + version "1.3.900" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.900.tgz#5be2c5818a2a012c511b4b43e87b6ab7a296d4f5" + integrity sha512-SuXbQD8D4EjsaBaJJxySHbC+zq8JrFfxtb4GIr4E9n1BcROyMcRrJCYQNpJ9N+Wjf5mFp7Wp0OHykd14JNEzzQ== + +electron@^15.3.1: + version "15.3.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-15.3.2.tgz#4f0cbad781d14e0194f5dfef1709e09a70c8074a" + integrity sha512-sEpOX10gjAyvq33HDxJrq2HhYZT3qndZjUrHkzG16QTLjykP7lMvGnJ/bt6wn+T75f4wwv59FUbQx2hW3Xz5TQ== + dependencies: + "@electron/get" "^1.13.0" + "@types/node" "^14.6.2" + extract-zip "^1.0.3" + +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encodeurl@^1.0.2, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +encoding@^0.1.11, encoding@^0.1.13: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" + integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= + +err-code@^3.0.0, err-code@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/err-code/-/err-code-3.0.1.tgz#a444c7b992705f2b120ee320b09972eef331c920" + integrity sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA== + +"errno@>=0.1.1 <0.2.0-0": + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +es-abstract@^1.18.5, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.50: + version "0.10.53" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + +es6-symbol@^3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-airbnb-base@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" + integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== + dependencies: + confusing-browser-globals "^1.0.10" + object.assign "^4.1.2" + object.entries "^1.1.5" + semver "^6.3.0" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" + pkg-dir "^2.0.0" + +eslint-plugin-import@^2.22.1: + version "2.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.1" + has "^1.0.3" + is-core-module "^2.8.0" + is-glob "^4.0.3" + minimatch "^3.0.4" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" + integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz#eee4acea891814cda67a7d8812d9647dd0179af2" + integrity sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA== + +eslint@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815" + integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw== + dependencies: + "@eslint/eslintrc" "^1.0.4" + "@humanwhocodes/config-array" "^0.6.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^6.0.0" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.0.0" + espree "^9.0.0" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.2.0" + semver "^7.2.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.0.0.tgz#e90a2965698228502e771c7a58489b1a9d107090" + integrity sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ== + dependencies: + acorn "^8.5.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.0.0" + +esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-to-babel@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/estree-to-babel/-/estree-to-babel-3.2.1.tgz#82e78315275c3ca74475fdc8ac1a5103c8a75bf5" + integrity sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg== + dependencies: + "@babel/traverse" "^7.1.6" + "@babel/types" "^7.2.0" + c8 "^7.6.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: + version "0.1.29" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" + integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +ethereum-bloom-filters@^1.0.6: + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== + dependencies: + js-sha3 "^0.8.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + +ethereumjs-util@^7.0.10, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" + integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +ethjs-util@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter3@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" + integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execution-time@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/execution-time/-/execution-time-1.4.1.tgz#d942f835ca9fd608691c4912d55458fc4a495271" + integrity sha512-4t9svrTtsXxAEzAs9/tm1R/Voj5AYHqxd72BiLEbGQWJq2PD3tAmW8bXI7Pp0yorjaKshT1+NyKy0ytHlKW4Pg== + dependencies: + pretty-hrtime "^1.0.3" + +exit-on-epipe@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692" + integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw== + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + integrity sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s= + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + integrity sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc= + dependencies: + fill-range "^2.1.0" + +express@^4.14.0, express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== + dependencies: + type "^2.5.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + integrity sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ= + +extend@^3.0.0, extend@^3.0.2, extend@~3.0.0, extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + integrity sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE= + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^1.0.3: + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fancy-log@^1.1.0: + version "1.3.3" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" + integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw== + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + parse-node-version "^1.0.0" + time-stamp "^1.0.0" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.0.0.tgz#9bc72e6860347bb045a876d1c5c0af11e9b984e7" + integrity sha512-4VEXmjxLj7sbs8J//cn2qhRap50dGzF5n8fjay8mau+Jn4hxSeR3xPFwxMaQq/pDaq7+KQk0PAbC2+nWDkJrmQ== + +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + dependencies: + pend "~1.2.0" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-set@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/file-set/-/file-set-4.0.2.tgz#8d67c92a864202c2085ac9f03f1c9909c7e27030" + integrity sha512-fuxEgzk4L8waGXaAkd8cMr73Pm0FxOVkn8hztzUW7BAHhOGH90viQNXbiOsnecCWmfInqU6YmAMwxRMdKETceQ== + dependencies: + array-back "^5.0.0" + glob "^7.1.6" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + integrity sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY= + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q== + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0: + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + +foreground-child@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" + integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^3.0.2" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@1.0.0-rc3: + version "1.0.0-rc3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.0-rc3.tgz#d35bc62e7fbc2937ae78f948aaa0d38d90607577" + integrity sha1-01vGLn+8KTeuePlIqqDTjZBgdXc= + dependencies: + async "^1.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.3" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@~1.0.0-rc4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + integrity sha1-rjFduaSQf6BlUCMEpm13M0de43w= + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + integrity sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +formidable@~1.0.14: + version "1.0.17" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" + integrity sha1-71SRSQ+UM7cF+qdyScmQKa40hVk= + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-1.3.0.tgz#88413baaa5f9a597cfde9221d86986cd3c061dfd" + integrity sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0= + dependencies: + inherits "~2.0.1" + readable-stream "~1.1.10" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + integrity sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" + integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== + dependencies: + minipass "^2.6.0" + +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + +fs-then-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fs-then-native/-/fs-then-native-2.0.0.tgz#19a124d94d90c22c8e045f2e8dd6ebea36d48c67" + integrity sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc= + +fs-vacuum@~1.2.10, fs-vacuum@~1.2.9: + version "1.2.10" + resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" + integrity sha1-t2Kb7AekAxolSP35n17PHMizHjY= + dependencies: + graceful-fs "^4.1.2" + path-is-inside "^1.0.1" + rimraf "^2.5.2" + +fs-write-stream-atomic@^1.0.8, fs-write-stream-atomic@~1.0.10, fs-write-stream-atomic@~1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fs@0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha1-invTcYa23d84E/I4WLV+yq9eQdQ= + +fsevents@^1.0.0: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +fstream-ignore@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + integrity sha1-nDHa40dnAY/h0kmyTa2mfQktoQU= + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream-npm@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.1.1.tgz#6b9175db6239a83d8209e232426c494dbb29690c" + integrity sha1-a5F122I5qD2CCeIyQmxJTbspaQw= + dependencies: + fstream-ignore "^1.0.0" + inherits "2" + +fstream-npm@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.2.1.tgz#08c4a452f789dcbac4c89a4563c902b2c862fd5b" + integrity sha512-iBHpm/LmD1qw0TlHMAqVd9rwdU6M+EHRUnPkXpRi5G/Hf0FIFH+oZFryodAU2MFNfGRh/CzhUFlMKV3pdeOTDw== + dependencies: + fstream-ignore "^1.0.0" + inherits "2" + +fstream@^1.0.0, fstream@^1.0.12, fstream@~1.0.10, fstream@~1.0.11: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +ganache-cli@^6.12.2: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a" + integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw== + dependencies: + ethereumjs-util "6.2.1" + source-map-support "0.5.12" + yargs "13.2.4" + +gauge@~1.2.5: + version "1.2.7" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= + dependencies: + ansi "^0.3.0" + has-unicode "^2.0.0" + lodash.pad "^4.1.0" + lodash.padend "^4.1.0" + lodash.padstart "^4.1.0" + +gauge@~2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46" + integrity sha1-01MBrRjpaQK0dR3LvkD0IYuUKkY= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-color "^0.1.7" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" + integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== + dependencies: + is-property "^1.0.2" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= + dependencies: + is-property "^1.0.0" + +genfun@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/genfun/-/genfun-4.0.1.tgz#ed10041f2e4a7f1b0a38466d17a5c3e27df1dfc1" + integrity sha1-7RAEHy5KfxsKOEZtF6XD4n3x38E= + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-iterator@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-1.0.2.tgz#cd747c02b4c084461fac14f48f6b45a80ed25c82" + integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +gitbook-cli@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/gitbook-cli/-/gitbook-cli-2.3.2.tgz#5e893582e1f743f6fa920c3c3eb36b62ea4a31a0" + integrity sha512-eyGtkY7jKHhmgpfuvgAP5fZcUob/FBz4Ld0aLRdEmiTrS1RklimN9epzPp75dd4MWpGhYvSbiwxnpyLiv1wh6A== + dependencies: + bash-color "0.0.4" + commander "2.11.0" + fs-extra "3.0.1" + lodash "4.17.4" + npm "5.1.0" + npmi "1.0.1" + optimist "0.6.1" + q "1.5.0" + semver "5.3.0" + tmp "0.0.31" + user-home "2.0.0" + +github-slugger@^1.2.1, github-slugger@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" + integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== + +github-url-from-git@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" + integrity sha1-KF5rUggZABveEoZ0cEN55P8D4N4= + +github-url-from-username-repo@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa" + integrity sha1-fdeTMNKr5pwQws73lxTJchV5Hfo= + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + integrity sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q= + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + integrity sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg= + dependencies: + is-glob "^2.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + integrity sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.1.2: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +global-tunnel-ng@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" + integrity sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== + dependencies: + encodeurl "^1.0.2" + lodash "^4.17.10" + npm-conf "^1.1.3" + tunnel "^0.0.6" + +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + dependencies: + type-fest "^0.20.2" + +globalthis@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz#2a235d34f4d8036219f7e34929b5de9e18166b8b" + integrity sha512-ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.1: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +glogg@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" + integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA== + dependencies: + sparkles "^1.0.0" + +got@9.6.0, got@^9.6.0: + version "9.6.0" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + dependencies: + "@sindresorhus/is" "^0.14.0" + "@szmarczak/http-timer" "^1.1.2" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + +got@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + dependencies: + decompress-response "^3.2.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-plain-obj "^1.1.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + isurl "^1.0.0-alpha5" + lowercase-keys "^1.0.0" + p-cancelable "^0.3.0" + p-timeout "^1.1.1" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + url-parse-lax "^1.0.0" + url-to-options "^1.0.1" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +graceful-fs@~4.1.11, graceful-fs@~4.1.6: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +gulp-css-base64@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/gulp-css-base64/-/gulp-css-base64-1.3.4.tgz#afca45e83401045f472c67b776d1b1514e11489f" + integrity sha1-r8pF6DQBBF9HLGe3dtGxUU4RSJ8= + dependencies: + async "^1.5.0" + buffers "^0.1.1" + chalk "^1.1.1" + gulp-util "^3.0.3" + mime "^1.3.4" + request "^2.67.0" + through2 "^2.0.0" + +gulp-util@^3.0.3: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08= + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U= + dependencies: + glogg "^1.0.0" + +handlebars@^4.7.6: + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + dependencies: + minimist "^1.2.5" + neo-async "^2.6.0" + source-map "^0.6.1" + wordwrap "^1.0.0" + optionalDependencies: + uglify-js "^3.1.4" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + integrity sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + integrity sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0= + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + integrity sha1-M0gdDxu/9gDdID11gSpqX7oALio= + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-color@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" + integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4= + dependencies: + sparkles "^1.0.0" + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-unicode@^2.0.0, has-unicode@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + integrity sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ= + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= + +he@^1.1.0, he@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= + +homedir-polyfill@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" + integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4, hosted-git-info@^2.1.5, hosted-git-info@^2.4.2, hosted-git-info@^2.7.1: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hosted-git-info@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + integrity sha1-C6gdkNouJas0ozLm7HeTbhWYEYs= + +hosted-git-info@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + integrity sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^3.8.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-https@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" + integrity sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs= + +http-proxy-agent@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" + integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== + dependencies: + agent-base "4" + debug "3.1.0" + +http-proxy@^1.18.0: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-server@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.12.3.tgz#ba0471d0ecc425886616cb35c4faf279140a0d37" + integrity sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA== + dependencies: + basic-auth "^1.0.3" + colors "^1.4.0" + corser "^2.0.1" + ecstatic "^3.3.2" + http-proxy "^1.18.0" + minimist "^1.2.5" + opener "^1.5.1" + portfinder "^1.0.25" + secure-compare "3.0.1" + union "~0.5.0" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + integrity sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8= + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-proxy-agent@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + dependencies: + ms "^2.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5, iferr@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4, inflight@~1.0.4, inflight@~1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.4, ini@~1.3.0, ini@~1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +init-package-json@~1.10.1: + version "1.10.3" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" + integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw== + dependencies: + glob "^7.1.1" + npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "1 || 2" + semver "2.x || 3.x || 4 || 5" + validate-npm-package-license "^3.0.1" + validate-npm-package-name "^3.0.0" + +init-package-json@~1.9.4: + version "1.9.6" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.9.6.tgz#789fc2b74466a4952b9ea77c0575bc78ebd60a61" + integrity sha1-eJ/Ct0RmpJUrnqd8BXW8eOvWCmE= + dependencies: + glob "^7.1.1" + npm-package-arg "^4.0.0 || ^5.0.0" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "1 || 2" + semver "2.x || 3.x || 4 || 5" + validate-npm-package-license "^3.0.1" + validate-npm-package-name "^3.0.0" + +interface-datastore@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-4.0.2.tgz#f084adb04d845fd61fb3c5eaae7cf1284f41b5fa" + integrity sha512-/XRmD7oagZMTaK25rV3WFrejLoUwxZcpgE+eNyZNYvb2jlB5P3MwJCIbetJSlVYK7yvaFmJi8s3f9VLcxJjdog== + dependencies: + err-code "^3.0.1" + interface-store "^0.0.2" + ipfs-utils "^8.1.2" + iso-random-stream "^2.0.0" + it-all "^1.0.2" + it-drain "^1.0.1" + it-filter "^1.0.2" + it-take "^1.0.1" + nanoid "^3.0.2" + uint8arrays "^2.1.5" + +interface-ipld-format@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/interface-ipld-format/-/interface-ipld-format-1.0.1.tgz#bee39c70c584a033e186ff057a2be89f215963e3" + integrity sha512-WV/ar+KQJVoQpqRDYdo7YPGYIUHJxCuOEhdvsRpzLqoOIVCqPKdMMYmsLL1nCRsF3yYNio+PAJbCKiv6drrEAg== + dependencies: + cids "^1.1.6" + multicodec "^3.0.1" + multihashes "^4.0.2" + +interface-store@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/interface-store/-/interface-store-0.0.2.tgz#1d43b32f5b7604c374ea56f600c64efbe30e28b8" + integrity sha512-t4c9GKXH1Vi/WxmppGyIi6iedbGo92YmLneopHmbIEIp27ep7VnrYGA6lM/rLsFo5Tj6TJgIqr3FOk8mvPgIWQ== + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + +ip-regex@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" + integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== + +ip@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipfs-core-types@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/ipfs-core-types/-/ipfs-core-types-0.5.2.tgz#e1e026f32c9799e9fa5d6a2556d49558bd5b16d6" + integrity sha512-DOQeL+GFGYMTlnbdtMeBzvfVnyAalSgCfPr8XUCI+FVBZZWwzkt5jZZzGDmF87HVRrMR3FuVyBKZj772mcXKyQ== + dependencies: + cids "^1.1.6" + interface-datastore "^4.0.0" + ipld-block "^0.11.1" + multiaddr "^9.0.1" + multibase "^4.0.2" + +ipfs-core-utils@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/ipfs-core-utils/-/ipfs-core-utils-0.8.3.tgz#7033266e17156600effb794c703a4164ecbd8387" + integrity sha512-PY7PkCgCtVYtNOe1C3ew1+5D9NqXqizb886R/lyGWe+KsmWtBQkQIk0ZIDwKyHGvG2KA2QQeIDzdOmzBQBJtHQ== + dependencies: + any-signal "^2.1.2" + blob-to-it "^1.0.1" + browser-readablestream-to-it "^1.0.1" + cids "^1.1.6" + err-code "^3.0.1" + ipfs-core-types "^0.5.2" + ipfs-unixfs "^4.0.3" + ipfs-utils "^8.1.2" + it-all "^1.0.4" + it-map "^1.0.4" + it-peekable "^1.0.1" + multiaddr "^9.0.1" + multiaddr-to-uri "^7.0.0" + parse-duration "^1.0.0" + timeout-abort-controller "^1.1.1" + uint8arrays "^2.1.3" + +ipfs-http-client@^50.0.0: + version "50.1.2" + resolved "https://registry.yarnpkg.com/ipfs-http-client/-/ipfs-http-client-50.1.2.tgz#31b60f4bd301b2addbc6fd1288f5f973d57afc2a" + integrity sha512-ZbJlED4wqwFXQFVB9FQDs20ygdq7O/zSq4AvO9KRAmkqUj2TsCWCteUz2fBMnGWLh2tExxeSl/rQbHbJptb8JQ== + dependencies: + abort-controller "^3.0.0" + any-signal "^2.1.2" + cids "^1.1.6" + debug "^4.1.1" + form-data "^4.0.0" + ipfs-core-types "^0.5.2" + ipfs-core-utils "^0.8.3" + ipfs-unixfs "^4.0.3" + ipfs-utils "^8.1.2" + ipld-block "^0.11.0" + ipld-dag-cbor "^1.0.0" + ipld-dag-pb "^0.22.1" + ipld-raw "^7.0.0" + it-last "^1.0.4" + it-map "^1.0.4" + it-tar "^3.0.0" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + multiaddr "^9.0.1" + multibase "^4.0.2" + multicodec "^3.0.1" + multihashes "^4.0.2" + nanoid "^3.1.12" + native-abort-controller "^1.0.3" + parse-duration "^1.0.0" + stream-to-it "^0.2.2" + uint8arrays "^2.1.3" + +ipfs-unixfs@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-4.0.3.tgz#7c43e5726052ade4317245358ac541ef3d63d94e" + integrity sha512-hzJ3X4vlKT8FQ3Xc4M1szaFVjsc1ZydN+E4VQ91aXxfpjFn9G2wsMo1EFdAXNq/BUnN5dgqIOMP5zRYr3DTsAw== + dependencies: + err-code "^3.0.1" + protobufjs "^6.10.2" + +ipfs-utils@^8.1.2: + version "8.1.6" + resolved "https://registry.yarnpkg.com/ipfs-utils/-/ipfs-utils-8.1.6.tgz#431cb1711e3b666fbc7e4ff830c758e2527da308" + integrity sha512-V/cwb6113DrDhrjDTWImA6+zmJbpdbUkxdxmEQO7it8ykV76bBmzU1ZXSM0QR0qxGy9VW8dkUlPAC2K10VgSmw== + dependencies: + abort-controller "^3.0.0" + any-signal "^2.1.0" + buffer "^6.0.1" + electron-fetch "^1.7.2" + err-code "^3.0.1" + is-electron "^2.2.0" + iso-url "^1.1.5" + it-glob "~0.0.11" + it-to-stream "^1.0.0" + merge-options "^3.0.4" + nanoid "^3.1.20" + native-abort-controller "^1.0.3" + native-fetch "^3.0.0" + node-fetch "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz" + react-native-fetch-api "^2.0.0" + stream-to-it "^0.2.2" + +ipld-block@^0.11.0, ipld-block@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/ipld-block/-/ipld-block-0.11.1.tgz#c3a7b41aee3244187bd87a73f980e3565d299b6e" + integrity sha512-sDqqLqD5qh4QzGq6ssxLHUCnH4emCf/8F8IwjQM2cjEEIEHMUj57XhNYgmGbemdYPznUhffxFGEHsruh5+HQRw== + dependencies: + cids "^1.0.0" + +ipld-dag-cbor@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-1.0.1.tgz#1e07cb289aec26e393508e99d2a51ff624d876a1" + integrity sha512-PZh8rHnRETX5bj60i73W2oq6BXoZnIvYCBDwIffYVJgxMr7BEVd5PycAARBiT6daORJ/4zbqEFR5CcrjeCtm/A== + dependencies: + borc "^3.0.0" + cids "^1.0.0" + interface-ipld-format "^1.0.0" + is-circular "^1.0.2" + multicodec "^3.0.1" + multihashing-async "^2.0.0" + uint8arrays "^2.1.3" + +ipld-dag-pb@^0.22.1: + version "0.22.3" + resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.22.3.tgz#6d5af28b5752236a5cb0e0a1888c87dd733b55cd" + integrity sha512-dfG5C5OVAR4FEP7Al2CrHWvAyIM7UhAQrjnOYOIxXGQz5NlEj6wGX0XQf6Ru6or1na6upvV3NQfstapQG8X2rg== + dependencies: + cids "^1.0.0" + interface-ipld-format "^1.0.0" + multicodec "^3.0.1" + multihashing-async "^2.0.0" + protobufjs "^6.10.2" + stable "^0.1.8" + uint8arrays "^2.0.5" + +ipld-raw@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/ipld-raw/-/ipld-raw-7.0.1.tgz#ec1684a218ec6aeb6e1825a7c77fcbc86e4c302c" + integrity sha512-oaiy0Ot23NCnoBA7sLvPL9qFRC6JDB0IsdZL6rUeZJxzxabQuBLNGYXcqjQ8jlF0UPLEUSO+h8OJh2DZPzL2aQ== + dependencies: + cids "^1.1.6" + interface-ipld-format "^1.0.0" + multicodec "^3.0.1" + multihashing-async "^2.1.2" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-arguments@^1.0.4: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-circular@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.2.tgz#2e0ab4e9835f4c6b0ea2b9855a84acd501b8366c" + integrity sha512-YttjnrswnUYRVJvxCvu8z+PGMUSzC2JttP0OEXezlAEdp3EXzhf7IZ3j0gRAybJBQupedIZFhY61Tga6E0qASA== + +is-core-module@^2.2.0, is-core-module@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + integrity sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE= + +is-electron@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-electron/-/is-electron-2.2.0.tgz#8943084f09e8b731b3a7a0298a7b5d56f6b7eef0" + integrity sha512-SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q== + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + integrity sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ= + dependencies: + is-primitive "^2.0.0" + +is-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f" + integrity sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8= + dependencies: + acorn "~4.0.2" + object-assign "^4.0.1" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA= + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + +is-generator-function@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM= + dependencies: + is-extglob "^1.0.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + +is-ip@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" + integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== + dependencies: + ip-regex "^4.0.0" + +is-my-ip-valid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" + integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== + +is-my-json-valid@^2.12.4: + version "2.20.5" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.20.5.tgz#5eca6a8232a687f68869b7361be1612e7512e5df" + integrity sha512-VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A== + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + +is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^2.0.0, is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + integrity sha1-IHurkWOEmcB7Kt8kCkGochADRXU= + +is-promise@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + +is-property@^1.0.0, is-property@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + +is-regex@^1.0.3, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isarray@1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +iso-constants@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/iso-constants/-/iso-constants-0.1.2.tgz#3d2456ed5aeaa55d18564f285ba02a47a0d885b4" + integrity sha512-OTCM5ZCQsHBCI4Wdu4tSxvDIkmDHd5EwJDps5mKqnQnWJSKlnwMs3EDZ4n3Fh1tmkWkDlyd2vCDbEYuPbyrUNQ== + +iso-random-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/iso-random-stream/-/iso-random-stream-2.0.0.tgz#3f0118166d5443148bbc134345fb100002ad0f1d" + integrity sha512-lGuIu104KfBV9ubYTSaE3GeAr6I69iggXxBHbTBc5u/XKlwlWl0LCytnkIZissaKqvxablwRD9B3ktVnmIUnEg== + dependencies: + events "^3.3.0" + readable-stream "^3.4.0" + +iso-url@^1.1.5: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iso-url/-/iso-url-1.2.1.tgz#db96a49d8d9a64a1c889fc07cc525d093afb1811" + integrity sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-reports@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +it-all@^1.0.2, it-all@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-1.0.6.tgz#852557355367606295c4c3b7eff0136f07749335" + integrity sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A== + +it-concat@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/it-concat/-/it-concat-2.0.0.tgz#b4dc02aeb7365bada05b247c1ee50f3bbc147419" + integrity sha512-jchrEB3fHlUENWkVJRmbFJ1A7gcjJDmwiolQsHhVC14DpUIbX8fgr3SOC7XNE5OoUUQNL6/RaMCPChkPemyQUw== + dependencies: + bl "^5.0.0" + +it-drain@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-1.0.5.tgz#0466d4e286b37bcd32599d4e99b37a87cb8cfdf6" + integrity sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg== + +it-filter@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/it-filter/-/it-filter-1.0.3.tgz#66ea0cc4bf84af71bebd353c05a9c5735fcba751" + integrity sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w== + +it-glob@~0.0.11: + version "0.0.14" + resolved "https://registry.yarnpkg.com/it-glob/-/it-glob-0.0.14.tgz#24f5e7fa48f9698ce7dd410355f327470c91eb90" + integrity sha512-TKKzs9CglbsihSpcwJPXN5DBUssu4akRzPlp8QJRCoLrKoaOpyY2V1qDlxx+UMivn0i114YyTd4AawWl7eqIdw== + dependencies: + "@types/minimatch" "^3.0.4" + minimatch "^3.0.4" + +it-last@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-last/-/it-last-1.0.6.tgz#4106232e5905ec11e16de15a0e9f7037eaecfc45" + integrity sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q== + +it-map@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-1.0.6.tgz#6aa547e363eedcf8d4f69d8484b450bc13c9882c" + integrity sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ== + +it-peekable@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-1.0.3.tgz#8ebe933767d9c5aa0ae4ef8e9cb3a47389bced8c" + integrity sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ== + +it-reader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-3.0.0.tgz#56596c7742ec7c63b7f7998f6bfa3f712e333d0e" + integrity sha512-NxR40odATeaBmSefn6Xn43DplYvn2KtEKQzn4jrTRuPYXMky5M4e+KQ7aTJh0k0vkytLyeenGO1I1GXlGm4laQ== + dependencies: + bl "^5.0.0" + +it-take@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/it-take/-/it-take-1.0.2.tgz#b5f1570014db7c3454897898b69bb7ac9c3bffc1" + integrity sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw== + +it-tar@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/it-tar/-/it-tar-3.0.0.tgz#d25f2777c0da4d4bec1b01a1ab9d79495f459f4f" + integrity sha512-VhD1Hnx4IXDcQgYJnJgltkn+w5F8kiJaB46lqovh+YWfty2JGW7i40QQjWbSvcg1QfaU8is8AVX8xwx/Db9oOg== + dependencies: + bl "^5.0.0" + buffer "^6.0.3" + iso-constants "^0.1.2" + it-concat "^2.0.0" + it-reader "^3.0.0" + p-defer "^3.0.0" + +it-to-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/it-to-stream/-/it-to-stream-1.0.0.tgz#6c47f91d5b5df28bda9334c52782ef8e97fe3a4a" + integrity sha512-pLULMZMAB/+vbdvbZtebC0nWBTbG581lk6w8P7DfIIIKUfa8FbY7Oi0FxZcFPbxvISs7A9E+cMpLDBc1XhpAOA== + dependencies: + buffer "^6.0.3" + fast-fifo "^1.0.0" + get-iterator "^1.0.2" + p-defer "^3.0.0" + p-fifo "^1.0.0" + readable-stream "^3.6.0" + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= + +js-stringify@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" + integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds= + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js2xmlparser@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/js2xmlparser/-/js2xmlparser-4.0.2.tgz#2a1fdf01e90585ef2ae872a01bc169c6a8d5e60a" + integrity sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA== + dependencies: + xmlcreate "^2.0.4" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsdoc-api@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-api/-/jsdoc-api-6.0.0.tgz#fbba403ef59de0480b7e5aadd563a7bb715b0187" + integrity sha512-zvfB63nAc9e+Rv2kKmJfE6tmo4x8KFho5vKr6VfYTlCCgqtrfPv0McCdqT4betUT9rWtw0zGkNUVkVqeQipY6Q== + dependencies: + array-back "^4.0.1" + cache-point "^2.0.0" + collect-all "^1.0.3" + file-set "^4.0.1" + fs-then-native "^2.0.0" + jsdoc "^3.6.4" + object-to-spawn-args "^2.0.0" + temp-path "^1.0.0" + walk-back "^4.0.0" + +jsdoc-babel@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsdoc-babel/-/jsdoc-babel-0.5.0.tgz#7217b8820469fe600dccfdee895648c6a0dd4a2e" + integrity sha512-PYfTbc3LNTeR8TpZs2M94NLDWqARq0r9gx3SvuziJfmJS7/AeMKvtj0xjzOX0R/4MOVA7/FqQQK7d6U0iEoztQ== + dependencies: + jsdoc-regex "^1.0.1" + lodash "^4.17.10" + +jsdoc-md@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-md/-/jsdoc-md-8.0.0.tgz#f23b217130e60f52eccded1afb4a32df7ed4d480" + integrity sha512-s2GqMozEiUIgFH8UD9kq/HZpJ3wHtskt77slqIEwn8P2Ogsixi+8pgigXi9Z0uiJxS69WZNY6rzDv2cbnMgi1g== + dependencies: + "@babel/core" "^7.12.8" + arg "^5.0.0" + comment-parser "^0.7.6" + doctrine "^3.0.0" + github-slugger "^1.3.0" + globby "^11.0.1" + mdast-util-inject "^1.1.0" + remark-behead "^2.3.3" + remark-gfm "^1.0.0" + remark-parse "^9.0.0" + remark-stringify "^9.0.0" + remark-toc "^7.0.0" + unified "^9.2.0" + +jsdoc-parse@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/jsdoc-parse/-/jsdoc-parse-5.0.0.tgz#01fb96e04955df05bca1ad722d76e969a30108f7" + integrity sha512-Khw8c3glrTeA3/PfUJUBvhrMhWpSClORBUvL4pvq2wFcqvUVmA96wxnMkCno2GfZY4pnd8BStK5WGKGyn4Vckg== + dependencies: + array-back "^4.0.1" + lodash.omit "^4.5.0" + lodash.pick "^4.4.0" + reduce-extract "^1.0.0" + sort-array "^4.1.1" + test-value "^3.0.0" + +jsdoc-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jsdoc-regex/-/jsdoc-regex-1.0.1.tgz#8424428d5b563ad8c5c7fbec079b9a8b09c8dcfa" + integrity sha1-hCRCjVtWOtjFx/vsB5uaiwnI3Po= + +jsdoc-template@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/jsdoc-template/-/jsdoc-template-1.2.0.tgz#5ad0c85ed509a5de9b51537835c1762d90e75564" + integrity sha1-WtDIXtUJpd6bUVN4NcF2LZDnVWQ= + dependencies: + gulp-css-base64 "^1.3.4" + +jsdoc-to-markdown@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/jsdoc-to-markdown/-/jsdoc-to-markdown-6.0.1.tgz#55640eea7a4f56fa9353316648bf0775531811ff" + integrity sha512-hUI2PAR5n/KlmQU3mAWO9i3D7jVbhyvUHfQ6oYVBt+wnnsyxpsAuhCODY1ryLOb2U9OPJd4GIK9mL2hqy7fHDg== + dependencies: + array-back "^4.0.1" + command-line-tool "^0.8.0" + config-master "^3.1.0" + dmd "^5.0.1" + jsdoc-api "^6.0.0" + jsdoc-parse "^5.0.0" + walk-back "^4.0.0" + +jsdoc@^3.6.4, jsdoc@^3.6.6: + version "3.6.7" + resolved "https://registry.yarnpkg.com/jsdoc/-/jsdoc-3.6.7.tgz#00431e376bed7f9de4716c6f15caa80e64492b89" + integrity sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw== + dependencies: + "@babel/parser" "^7.9.4" + bluebird "^3.7.2" + catharsis "^0.9.0" + escape-string-regexp "^2.0.0" + js2xmlparser "^4.0.1" + klaw "^3.0.0" + markdown-it "^10.0.0" + markdown-it-anchor "^5.2.7" + marked "^2.0.3" + mkdirp "^1.0.4" + requizzle "^0.2.3" + strip-json-comments "^3.1.0" + taffydb "2.6.2" + underscore "~1.13.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json-text-sequence@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.3.0.tgz#6603e0ee45da41f949669fd18744b97fb209e6ce" + integrity sha512-7khKIYPKwXQem4lWXfpIN/FEnhztCeRPSxH4qm3fVlqulwujrRDD54xAwDDn/qVKpFtV550+QAkcWJcufzqQuA== + dependencies: + "@sovpro/delimited-stream" "^1.1.0" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + +jsonparse@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" + integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + +jsonpointer@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.1.0.tgz#501fb89986a2389765ba09e6053299ceb4f2c2cc" + integrity sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg== + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jstransformer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" + integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM= + dependencies: + is-promise "^2.0.0" + promise "^7.0.1" + +kareem@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.3.2.tgz#78c4508894985b8d38a0dc15e1a8e11078f2ca93" + integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== + +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klaw@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-3.0.0.tgz#b11bec9cf2492f06756d6e809ab73a2910259146" + integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g== + dependencies: + graceful-fs "^4.1.9" + +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= + dependencies: + package-json "^4.0.0" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lazy-property@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" + integrity sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc= + +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + +left-pad@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" + integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lockfile@~1.0.1, lockfile@~1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" + integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== + dependencies: + signal-exit "^3.0.2" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U= + +lodash._baseuniq@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" + integrity sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg= + dependencies: + lodash._createset "~4.0.0" + lodash._root "~3.0.0" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc= + +lodash._createset@~4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" + integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo= + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0= + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + +lodash._root@^3.0.0, lodash._root@~3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI= + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.clonedeep@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg= + dependencies: + lodash._root "^3.0.0" + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + +lodash.iteratee@^4.5.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.iteratee/-/lodash.iteratee-4.7.0.tgz#be4177db289a8ccc3c0990f1db26b5b22fc1554c" + integrity sha1-vkF32yiajMw8CZDx2ya1si/BVUw= + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.omit@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" + integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= + +lodash.pad@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= + +lodash.padend@^4.1.0, lodash.padend@^4.6.1: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= + +lodash.padstart@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8= + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU= + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.union@~4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= + +lodash.uniq@~4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash.without@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" + integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= + +lodash@4.17.4: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + integrity sha1-eCA6TRwyiuHYbcpkYONptX9AVa4= + +lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +long@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" + integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== + +longest-streak@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.5, lru-cache@~4.1.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + integrity sha1-HRdnnAac2l0ECZGgnbwsDbN35V4= + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-fetch-happen@^2.4.13: + version "2.6.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-2.6.0.tgz#8474aa52198f6b1ae4f3094c04e8370d35ea8a38" + integrity sha512-FFq0lNI0ax+n9IWzWpH8A4JdgYiAp2DDYIZ3rsaav8JDe8I+72CzK6PQW/oom15YDZpV5bYW/9INd6nIJ2ZfZw== + dependencies: + agentkeepalive "^3.3.0" + cacache "^10.0.0" + http-cache-semantics "^3.8.0" + http-proxy-agent "^2.0.0" + https-proxy-agent "^2.1.0" + lru-cache "^4.1.1" + mississippi "^1.2.0" + node-fetch-npm "^2.0.2" + promise-retry "^1.1.1" + socks-proxy-agent "^3.0.1" + ssri "^5.0.0" + +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +markdown-it-anchor@^5.2.7: + version "5.3.0" + resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" + integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== + +markdown-it@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" + integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== + dependencies: + argparse "^1.0.7" + entities "~2.0.0" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +markdown-table@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" + integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== + dependencies: + repeat-string "^1.0.0" + +marked@^1.1.0: + version "1.2.9" + resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.9.tgz#53786f8b05d4c01a2a5a76b7d1ec9943d29d72dc" + integrity sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw== + +marked@^2.0.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/marked/-/marked-2.1.3.tgz#bd017cef6431724fd4b27e0657f5ceb14bff3753" + integrity sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA== + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +math-random@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" + integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdast-util-find-and-replace@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz#b7db1e873f96f66588c321f1363069abf607d1b5" + integrity sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA== + dependencies: + escape-string-regexp "^4.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +mdast-util-from-markdown@^0.8.0: + version "0.8.5" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" + integrity sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string "^2.0.0" + micromark "~2.11.0" + parse-entities "^2.0.0" + unist-util-stringify-position "^2.0.0" + +mdast-util-gfm-autolink-literal@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz#9c4ff399c5ddd2ece40bd3b13e5447d84e385fb7" + integrity sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A== + dependencies: + ccount "^1.0.0" + mdast-util-find-and-replace "^1.1.0" + micromark "^2.11.3" + +mdast-util-gfm-strikethrough@^0.2.0: + version "0.2.3" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz#45eea337b7fff0755a291844fbea79996c322890" + integrity sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA== + dependencies: + mdast-util-to-markdown "^0.6.0" + +mdast-util-gfm-table@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz#af05aeadc8e5ee004eeddfb324b2ad8c029b6ecf" + integrity sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ== + dependencies: + markdown-table "^2.0.0" + mdast-util-to-markdown "~0.6.0" + +mdast-util-gfm-task-list-item@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz#70c885e6b9f543ddd7e6b41f9703ee55b084af10" + integrity sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A== + dependencies: + mdast-util-to-markdown "~0.6.0" + +mdast-util-gfm@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz#8ecddafe57d266540f6881f5c57ff19725bd351c" + integrity sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ== + dependencies: + mdast-util-gfm-autolink-literal "^0.1.0" + mdast-util-gfm-strikethrough "^0.2.0" + mdast-util-gfm-table "^0.1.0" + mdast-util-gfm-task-list-item "^0.1.0" + mdast-util-to-markdown "^0.6.1" + +mdast-util-inject@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" + integrity sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU= + dependencies: + mdast-util-to-string "^1.0.0" + +mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: + version "0.6.5" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz#b33f67ca820d69e6cc527a93d4039249b504bebe" + integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + +mdast-util-to-string@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== + +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + +mdast-util-toc@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-5.1.0.tgz#3af0f9c9a764b993538af03f1f79f4e3cec22736" + integrity sha512-csimbRIVkiqc+PpFeKDGQ/Ck2N4f9FYH3zzBMMJzcxoKL8m+cM0n94xXm0I9eaxHnKdY9n145SGTdyJC7i273g== + dependencies: + "@types/mdast" "^3.0.3" + "@types/unist" "^2.0.3" + extend "^3.0.2" + github-slugger "^1.2.1" + mdast-util-to-string "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit "^2.0.0" + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" + integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^2.0.0" + p-is-promise "^2.0.0" + +memory-pager@^1.0.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" + integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-options@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/merge-options/-/merge-options-3.0.4.tgz#84709c2aa2a4b24c1981f66c179fe5565cc6dbb7" + integrity sha512-2Sug1+knBjkaMsMgf1ctR1Ujx+Ayku4EdJN4Z+C2+JzoeF7A3OZ9KM2GY0CpQS51NR61LTurMJrRKPhSs3ZRTQ== + dependencies: + is-plain-obj "^2.1.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@1.x, methods@~1.1.1, methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromark-extension-gfm-autolink-literal@~0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz#53866c1f0c7ef940ae7ca1f72c6faef8fed9f204" + integrity sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw== + dependencies: + micromark "~2.11.3" + +micromark-extension-gfm-strikethrough@~0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz#96cb83356ff87bf31670eefb7ad7bba73e6514d1" + integrity sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw== + dependencies: + micromark "~2.11.0" + +micromark-extension-gfm-table@~0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz#4d49f1ce0ca84996c853880b9446698947f1802b" + integrity sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA== + dependencies: + micromark "~2.11.0" + +micromark-extension-gfm-tagfilter@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz#d9f26a65adee984c9ccdd7e182220493562841ad" + integrity sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q== + +micromark-extension-gfm-task-list-item@~0.3.0: + version "0.3.3" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz#d90c755f2533ed55a718129cee11257f136283b8" + integrity sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ== + dependencies: + micromark "~2.11.0" + +micromark-extension-gfm@^0.3.0: + version "0.3.3" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz#36d1a4c089ca8bdfd978c9bd2bf1a0cb24e2acfe" + integrity sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A== + dependencies: + micromark "~2.11.0" + micromark-extension-gfm-autolink-literal "~0.5.0" + micromark-extension-gfm-strikethrough "~0.6.5" + micromark-extension-gfm-table "~0.4.0" + micromark-extension-gfm-tagfilter "~0.3.0" + micromark-extension-gfm-task-list-item "~0.3.0" + +micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: + version "2.11.4" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-2.11.4.tgz#d13436138eea826383e822449c9a5c50ee44665a" + integrity sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA== + dependencies: + debug "^4.0.0" + parse-entities "^2.0.0" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.1.10: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== + +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== + +mime-types@^2.1.11, mime-types@^2.1.3, mime-types@~2.1.7: + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + dependencies: + mime-db "1.50.0" + +mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== + dependencies: + mime-db "1.51.0" + +mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + integrity sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM= + +mime@1.6.0, mime@^1.3.4, mime@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= + dependencies: + dom-walk "^0.1.0" + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + +minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.0: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= + +minipass@^2.6.0, minipass@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" + integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" + integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== + dependencies: + minipass "^2.9.0" + +mississippi@^1.2.0, mississippi@^1.3.0, mississippi@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-1.3.1.tgz#2a8bb465e86550ac8b36a7b6f45599171d78671e" + integrity sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^1.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mississippi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" + integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^2.0.1" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp-promise@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" + integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= + dependencies: + mkdirp "*" + +mkdirp2@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/mkdirp2/-/mkdirp2-1.0.5.tgz#68bbe61defefafce4b48948608ec0bac942512c2" + integrity sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw== + +mkdirp@*, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mkdirp@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha-multi-reporters@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/mocha-multi-reporters/-/mocha-multi-reporters-1.5.1.tgz#c73486bed5519e1d59c9ce39ac7a9792600e5676" + integrity sha512-Yb4QJOaGLIcmB0VY7Wif5AjvLMUFAdV57D2TWEva1Y0kU/3LjKpeRVmlMIfuO1SVbauve459kgtIizADqxMWPg== + dependencies: + debug "^4.1.1" + lodash "^4.17.15" + +mocha@5.2.0, mocha@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" + integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== + dependencies: + browser-stdout "1.3.1" + commander "2.15.1" + debug "3.1.0" + diff "3.5.0" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.5" + he "1.1.1" + minimatch "3.0.4" + mkdirp "0.5.1" + supports-color "5.4.0" + +mock-fs@^4.1.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== + +moment@^2.21.0: + version "2.29.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + +mongodb@3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-3.7.3.tgz#b7949cfd0adc4cc7d32d3f2034214d4475f175a5" + integrity sha512-Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw== + dependencies: + bl "^2.2.1" + bson "^1.1.4" + denque "^1.4.1" + optional-require "^1.1.8" + safe-buffer "^5.1.2" + optionalDependencies: + saslprep "^1.0.0" + +mongoose-legacy-pluralize@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4" + integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== + +mongoose@^5.9.5: + version "5.13.13" + resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-5.13.13.tgz#4205937b164f20186ea704a1ef2d04c1ce9ee09e" + integrity sha512-M55tpCr/p5i6vdJ54nm4MG6/7SKV4JqlWnqbx6yCRuAuW05CZ7u+gNuHVPQVF9dZ59ALXjOtPEUl+OXklAa7ng== + dependencies: + "@types/bson" "1.x || 4.0.x" + "@types/mongodb" "^3.5.27" + bson "^1.1.4" + kareem "2.3.2" + mongodb "3.7.3" + mongoose-legacy-pluralize "1.0.2" + mpath "0.8.4" + mquery "3.2.5" + ms "2.1.2" + optional-require "1.0.x" + regexp-clone "1.0.0" + safe-buffer "5.2.1" + sift "13.5.2" + sliced "1.0.1" + +move-concurrently@^1.0.1, move-concurrently@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mpath@0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.8.4.tgz#6b566d9581621d9e931dd3b142ed3618e7599313" + integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g== + +mquery@3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/mquery/-/mquery-3.2.5.tgz#8f2305632e4bb197f68f60c0cffa21aaf4060c51" + integrity sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== + dependencies: + bluebird "3.5.1" + debug "3.1.0" + regexp-clone "^1.0.0" + safe-buffer "5.1.2" + sliced "1.0.1" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.0.0, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multiaddr-to-uri@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/multiaddr-to-uri/-/multiaddr-to-uri-7.0.0.tgz#9bed2361e3eb7c18507e35204067bef98db8ac8e" + integrity sha512-VbscDpLcbV0m25tJqfnZSfbjVUuNlPa4BbD5l/7me1t0lc3SWI0XAoO5E/PNJF0e1qUlbdq7yjVFEQjUT+9r0g== + dependencies: + multiaddr "^9.0.1" + +multiaddr@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-9.0.2.tgz#ab322bb768e77270650ebce71a452fdc760bda0d" + integrity sha512-YFaEb9t4yXSbaGksSEdg+Kn2U02s7w4wXUgyEMQmPxFJj7CfVHY10WOsScAX/rK6Soa15S1zXYadqH9TtlVreQ== + dependencies: + cids "^1.0.0" + dns-over-http-resolver "^1.0.0" + err-code "^3.0.1" + is-ip "^3.1.0" + multibase "^4.0.2" + uint8arrays "^2.1.3" + varint "^6.0.0" + +multibase@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" + integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multibase@^4.0.1, multibase@^4.0.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-4.0.6.tgz#6e624341483d6123ca1ede956208cb821b440559" + integrity sha512-x23pDe5+svdLz/k5JPGCVdfn7Q5mZVMBETiC+ORfO+sor9Sgs0smJzAjfTbM5tckeCqnaUuMYoz+k3RXMmJClQ== + dependencies: + "@multiformats/base-x" "^4.0.1" + +multibase@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" + integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== + dependencies: + base-x "^3.0.8" + buffer "^5.5.0" + +multicodec@^0.5.5: + version "0.5.7" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" + integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== + dependencies: + varint "^5.0.0" + +multicodec@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" + integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== + dependencies: + buffer "^5.6.0" + varint "^5.0.0" + +multicodec@^3.0.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-3.2.1.tgz#82de3254a0fb163a107c1aab324f2a91ef51efb2" + integrity sha512-+expTPftro8VAW8kfvcuNNNBgb9gPeNYV9dn+z1kJRWF2vih+/S79f2RVeIwmrJBUJ6NT9IUPWnZDQvegEh5pw== + dependencies: + uint8arrays "^3.0.0" + varint "^6.0.0" + +multiformats@^9.4.2: + version "9.4.10" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.4.10.tgz#d654d06b28cc066506e4e59b246d65267fb6b93b" + integrity sha512-BwWGvgqB/5J/cnWaOA0sXzJ+UGl+kyFAw3Sw1L6TN4oad34C9OpW+GCpYTYPDp4pUaXDC1EjvB3yv9Iodo1EhA== + +multihashes@^0.4.15, multihashes@~0.4.15: + version "0.4.21" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" + integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== + dependencies: + buffer "^5.5.0" + multibase "^0.7.0" + varint "^5.0.0" + +multihashes@^4.0.1, multihashes@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-4.0.3.tgz#426610539cd2551edbf533adeac4c06b3b90fb05" + integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== + dependencies: + multibase "^4.0.1" + uint8arrays "^3.0.0" + varint "^5.0.2" + +multihashing-async@^2.0.0, multihashing-async@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-2.1.4.tgz#26dce2ec7a40f0e7f9e732fc23ca5f564d693843" + integrity sha512-sB1MiQXPSBTNRVSJc2zM157PXgDtud2nMFUEIvBrsq5Wv96sUclMRK/ecjoP1T/W61UJBqt4tCTwMkUpt2Gbzg== + dependencies: + blakejs "^1.1.0" + err-code "^3.0.0" + js-sha3 "^0.8.0" + multihashes "^4.0.1" + murmurhash3js-revisited "^3.0.0" + uint8arrays "^3.0.0" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s= + dependencies: + duplexer2 "0.0.2" + +murmurhash3js-revisited@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/murmurhash3js-revisited/-/murmurhash3js-revisited-3.0.0.tgz#6bd36e25de8f73394222adc6e41fa3fac08a5869" + integrity sha512-/sF3ee6zvScXMb1XFJ8gDsSnY+X8PbOyjIuBhtgis10W2Jx4ZjIhikUCIF9c4gpJxVnQIsPAFrSwTCuAjicP6g== + +mute-stream@~0.0.4: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + integrity sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18= + +nanoid@^3.0.2, nanoid@^3.1.12, nanoid@^3.1.20: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +native-abort-controller@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/native-abort-controller/-/native-abort-controller-1.0.4.tgz#39920155cc0c18209ff93af5bc90be856143f251" + integrity sha512-zp8yev7nxczDJMoP6pDxyD20IU0T22eX8VwN2ztDccKvSZhRaV33yP1BGwKSZfXuqWUzsXopVFjBdau9OOAwMQ== + +native-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/native-fetch/-/native-fetch-3.0.0.tgz#06ccdd70e79e171c365c75117959cf4fe14a09bb" + integrity sha512-G3Z7vx0IFb/FQ4JxvtqGABsOTIqRWvgQz6e+erkB+JJD6LrszQtMozEHI4EkmgZQvnGHrpLVzUWk7t4sJCIkVw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-dir@^0.1.10: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= + dependencies: + minimatch "^3.0.2" + +node-environment-flags@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.6.tgz#a30ac13621f6f7d674260a54dede048c3982c088" + integrity sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw== + dependencies: + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +node-fetch-npm@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" + integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== + dependencies: + encoding "^0.1.11" + json-parse-better-errors "^1.0.0" + safe-buffer "^5.1.1" + +"node-fetch@https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz": + version "2.6.7" + resolved "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz#1b5d62978f2ed07b99444f64f0df39f960a6d34d" + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + +node-gyp@~3.6.0, node-gyp@~3.6.2: + version "3.6.3" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.3.tgz#369fcb09146ae2167f25d8d23d8b49cc1a110d8d" + integrity sha512-7789TDMqJpv5iHxn1cAESCBEC/sBHAFxAvgXAcvzWenEWl0qf6E2Kk/Xwdl5ZclktUJzxJPVa27OMkBvaHKqCQ== + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request ">=2.9.0 <2.82.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== + +node-uuid@~1.4.7: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc= + +"nopt@2 || 3", nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k= + dependencies: + abbrev "1" + +nopt@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" + integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-git-url@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" + integrity sha1-jl8Uvgva7bc+ByADEKpBbCc1D8Q= + +normalize-package-data@^2.0.0, normalize-package-data@^2.4.0, "normalize-package-data@~1.0.1 || ^2.0.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@~2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" + integrity sha1-2Bntoqne29H/pWPqQHHZNngilbs= + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-package-data@~2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.2.tgz#6b2abd85774e51f7936f1395e45acb905dc849b2" + integrity sha512-YcMnjqeoUckXTPKZSAsPjUPLxH85XotbpqK3w4RyCwdFQSU5FxxBys8buehkSfg0j9fKvV1hn7O0+8reEgkAiw== + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +npm-cache-filename@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" + integrity sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE= + +npm-conf@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" + integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +npm-install-checks@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-1.0.7.tgz#6d91aeda0ac96801f1ed7aadee116a6c0a086a57" + integrity sha1-bZGu2grJaAHx7Xqt7hFqbAoIalc= + dependencies: + npmlog "0.1 || 1 || 2" + semver "^2.3.0 || 3.x || 4 || 5" + +npm-install-checks@~3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.2.tgz#ab2e32ad27baa46720706908e5b14c1852de44d9" + integrity sha512-E4kzkyZDIWoin6uT5howP8VDvkM+E8IQDcHAycaAxMbwkqhIg5eEYALnXOl3Hq9MrkdQB/2/g1xwBINXdKSRkg== + dependencies: + semver "^2.3.0 || 3.x || 4 || 5" + +npm-normalize-package-bin@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" + integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== + +"npm-package-arg@^3.0.0 || ^4.0.0", npm-package-arg@^4.1.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.2.1.tgz#593303fdea85f7c422775f17f9eb7670f680e3ec" + integrity sha1-WTMD/eqF98Qid18X+et2cPaA4+w= + dependencies: + hosted-git-info "^2.1.5" + semver "^5.1.0" + +"npm-package-arg@^3.0.0 || ^4.0.0 || ^5.0.0", "npm-package-arg@^4.0.0 || ^5.0.0", npm-package-arg@^5.1.2, npm-package-arg@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-5.1.2.tgz#fb18d17bb61e60900d6312619919bd753755ab37" + integrity sha512-wJBsrf0qpypPT7A0LART18hCdyhpCMxeTtcb0X4IZO2jsP6Om7EHN1d9KSKiqD+KVH030RVNpWS9thk+pb7wzA== + dependencies: + hosted-git-info "^2.4.2" + osenv "^0.1.4" + semver "^5.1.0" + validate-npm-package-name "^3.0.0" + +"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0": + version "6.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" + integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== + dependencies: + hosted-git-info "^2.7.1" + osenv "^0.1.5" + semver "^5.6.0" + validate-npm-package-name "^3.0.0" + +npm-package-arg@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.1.1.tgz#86d9dca985b4c5e5d59772dfd5de6919998a495a" + integrity sha1-htncqYW0xeXVl3Lf1d5pGZmKSVo= + dependencies: + hosted-git-info "^2.1.4" + semver "4 || 5" + +npm-pick-manifest@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz#a5ee6510c1fe7221c0bc0414e70924c14045f7e8" + integrity sha512-MKxNdeyOZysPRTTbHtW0M5Fw38Jo/3ARsoGw5qjCfS+XGjvNB/Gb4qtAZUFmKPM2mVum+eX559eHvKywU856BQ== + dependencies: + npm-package-arg "^5.1.2" + semver "^5.3.0" + +npm-registry-client@~7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-7.2.1.tgz#c792266b088cc313f8525e7e35248626c723db75" + integrity sha1-x5ImawiMwxP4Ul5+NSSGJscj23U= + dependencies: + concat-stream "^1.5.2" + graceful-fs "^4.1.6" + normalize-package-data "~1.0.1 || ^2.0.0" + npm-package-arg "^3.0.0 || ^4.0.0" + once "^1.3.3" + request "^2.74.0" + retry "^0.10.0" + semver "2 >=2.2.1 || 3.x || 4 || 5" + slide "^1.1.3" + optionalDependencies: + npmlog "~2.0.0 || ~3.1.0" + +npm-registry-client@~8.4.0: + version "8.4.0" + resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-8.4.0.tgz#d52b901685647fc62a4c03eafecb6ceaa5018d4c" + integrity sha512-PVNfqq0lyRdFnE//nDmn3CC9uqTsr8Bya9KPLIevlXMfkP0m4RpCVyFFk0W1Gfx436kKwyhLA6J+lV+rgR81gQ== + dependencies: + concat-stream "^1.5.2" + graceful-fs "^4.1.6" + normalize-package-data "~1.0.1 || ^2.0.0" + npm-package-arg "^3.0.0 || ^4.0.0 || ^5.0.0" + once "^1.3.3" + request "^2.74.0" + retry "^0.10.0" + semver "2 >=2.2.1 || 3.x || 4 || 5" + slide "^1.1.3" + ssri "^4.1.2" + optionalDependencies: + npmlog "2 || ^3.1.0 || ^4.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-user-validate@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-0.1.5.tgz#52465d50c2d20294a57125b996baedbf56c5004b" + integrity sha1-UkZdUMLSApSlcSW5lrrtv1bFAEs= + +npm-user-validate@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.1.tgz#31428fc5475fe8416023f178c0ab47935ad8c561" + integrity sha512-uQwcd/tY+h1jnEaze6cdX/LrhWhoBxfSknxentoqmIuStxUExxjWd3ULMLFPiFUrZKbOVMowH6Jq2FRWfmhcEw== + +npm@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/npm/-/npm-5.1.0.tgz#cf8201e044018e9c89532041c90094541982b2c0" + integrity sha512-pt5ClxEmY/dLpb60SmGQQBKi3nB6Ljx1FXmpoCUdAULlGqGVn2uCyXxPCWFbcuHGthT7qGiaGa1wOfs/UjGYMw== + dependencies: + JSONStream "~1.3.1" + abbrev "~1.1.0" + ansi-regex "~3.0.0" + ansicolors "~0.3.2" + ansistyles "~0.1.3" + aproba "~1.1.2" + archy "~1.0.0" + bluebird "~3.5.0" + cacache "~9.2.9" + call-limit "~1.1.0" + chownr "~1.0.1" + cmd-shim "~2.0.2" + columnify "~1.5.4" + config-chain "~1.1.11" + detect-indent "~5.0.0" + dezalgo "~1.0.3" + editor "~1.0.0" + fs-vacuum "~1.2.10" + fs-write-stream-atomic "~1.0.10" + fstream "~1.0.11" + fstream-npm "~1.2.1" + glob "~7.1.2" + graceful-fs "~4.1.11" + has-unicode "~2.0.1" + hosted-git-info "~2.5.0" + iferr "~0.1.5" + inflight "~1.0.6" + inherits "~2.0.3" + ini "~1.3.4" + init-package-json "~1.10.1" + lazy-property "~1.0.0" + lockfile "~1.0.3" + lodash._baseuniq "~4.6.0" + lodash.clonedeep "~4.5.0" + lodash.union "~4.6.0" + lodash.uniq "~4.5.0" + lodash.without "~4.4.0" + lru-cache "~4.1.1" + mississippi "~1.3.0" + mkdirp "~0.5.1" + move-concurrently "~1.0.1" + node-gyp "~3.6.2" + nopt "~4.0.1" + normalize-package-data "~2.4.0" + npm-cache-filename "~1.0.2" + npm-install-checks "~3.0.0" + npm-package-arg "~5.1.2" + npm-registry-client "~8.4.0" + npm-user-validate "~1.0.0" + npmlog "~4.1.2" + once "~1.4.0" + opener "~1.4.3" + osenv "~0.1.4" + pacote "~2.7.38" + path-is-inside "~1.0.2" + promise-inflight "~1.0.1" + read "~1.0.7" + read-cmd-shim "~1.0.1" + read-installed "~4.0.3" + read-package-json "~2.0.9" + read-package-tree "~5.1.6" + readable-stream "~2.3.2" + request "~2.81.0" + retry "~0.10.1" + rimraf "~2.6.1" + safe-buffer "~5.1.1" + semver "~5.3.0" + sha "~2.0.1" + slide "~1.1.6" + sorted-object "~2.0.1" + sorted-union-stream "~2.1.3" + ssri "~4.1.6" + strip-ansi "~4.0.0" + tar "~2.2.1" + text-table "~0.2.0" + uid-number "0.0.6" + umask "~1.1.0" + unique-filename "~1.1.0" + unpipe "~1.0.0" + update-notifier "~2.2.0" + uuid "~3.1.0" + validate-npm-package-name "~3.0.0" + which "~1.2.14" + worker-farm "~1.3.1" + wrappy "~1.0.2" + write-file-atomic "~2.1.0" + +npm@^2.1.12: + version "2.15.12" + resolved "https://registry.yarnpkg.com/npm/-/npm-2.15.12.tgz#df7c3ed5a277c3f9d4b5d819b05311d10a200ae6" + integrity sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY= + dependencies: + abbrev "~1.0.9" + ansi "~0.3.1" + ansicolors "~0.3.2" + ansistyles "~0.1.3" + archy "~1.0.0" + async-some "~1.0.2" + block-stream "0.0.9" + char-spinner "~1.0.1" + chmodr "~1.0.2" + chownr "~1.0.1" + cmd-shim "~2.0.2" + columnify "~1.5.4" + config-chain "~1.1.10" + dezalgo "~1.0.3" + editor "~1.0.0" + fs-vacuum "~1.2.9" + fs-write-stream-atomic "~1.0.8" + fstream "~1.0.10" + fstream-npm "~1.1.1" + github-url-from-git "~1.4.0" + github-url-from-username-repo "~1.0.2" + glob "~7.0.6" + graceful-fs "~4.1.6" + hosted-git-info "~2.1.5" + inflight "~1.0.4" + inherits "~2.0.3" + ini "~1.3.4" + init-package-json "~1.9.4" + lockfile "~1.0.1" + lru-cache "~4.0.1" + minimatch "~3.0.3" + mkdirp "~0.5.1" + node-gyp "~3.6.0" + nopt "~3.0.6" + normalize-git-url "~3.0.2" + normalize-package-data "~2.3.5" + npm-cache-filename "~1.0.2" + npm-install-checks "~1.0.7" + npm-package-arg "~4.1.0" + npm-registry-client "~7.2.1" + npm-user-validate "~0.1.5" + npmlog "~2.0.4" + once "~1.4.0" + opener "~1.4.1" + osenv "~0.1.3" + path-is-inside "~1.0.0" + read "~1.0.7" + read-installed "~4.0.3" + read-package-json "~2.0.4" + readable-stream "~2.1.5" + realize-package-specifier "~3.0.1" + request "~2.74.0" + retry "~0.10.0" + rimraf "~2.5.4" + semver "~5.1.0" + sha "~2.0.1" + slide "~1.1.6" + sorted-object "~2.0.0" + spdx-license-ids "~1.2.2" + strip-ansi "~3.0.1" + tar "~2.2.1" + text-table "~0.2.0" + uid-number "0.0.6" + umask "~1.1.0" + validate-npm-package-license "~3.0.1" + validate-npm-package-name "~2.2.2" + which "~1.2.11" + wrappy "~1.0.2" + write-file-atomic "~1.1.4" + +npmi@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npmi/-/npmi-1.0.1.tgz#15d769273547545e6809dcf0ce18aed48b0290e2" + integrity sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI= + dependencies: + npm "^2.1.12" + semver "^4.1.0" + +"npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@~4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +"npmlog@0.1 || 1 || 2", npmlog@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" + integrity sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI= + dependencies: + ansi "~0.3.1" + are-we-there-yet "~1.1.2" + gauge "~1.2.5" + +"npmlog@~2.0.0 || ~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-3.1.2.tgz#2d46fa874337af9498a2f12bb43d8d0be4a36873" + integrity sha1-LUb6h0M3r5SYovErtD2NC+SjaHM= + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.6.0" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA= + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + integrity sha1-Rqarfwrq2N6unsBWV4C31O/rnUM= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I= + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-get@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-get/-/object-get-2.1.1.tgz#1dad63baf6d94df184d1c58756cc9be55b174dac" + integrity sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg== + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-to-spawn-args@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object-to-spawn-args/-/object-to-spawn-args-2.0.1.tgz#cf8b8e3c9b3589137a469cac90391f44870144a5" + integrity sha512-6FuKFQ39cOID+BMZ3QaphcC8Y4cw6LXBLyIgPU+OhIYwviJamPAn+4mITapnSBQrejB+NNp+FMskhD8Cq+Ys3w== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +oboe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" + integrity sha1-VVQoTFQ6ImbXo48X4HOCH73jk80= + dependencies: + http-https "^1.0.0" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0, once@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onchange@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/onchange/-/onchange-2.5.0.tgz#209992e98f40e7e074d90c21f781de8cf0e5806a" + integrity sha1-IJmS6Y9A5+B02Qwh94HejPDlgGo= + dependencies: + arrify "~1.0.1" + chokidar "~1.5.1" + cross-spawn "~4.0.0" + minimist "~1.2.0" + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +opener@~1.4.1, opener@~1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" + integrity sha1-XG2ixdflgx6P+jlklQ+NZnSskLg= + +optimist@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optional-require@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.0.3.tgz#275b8e9df1dc6a17ad155369c2422a440f89cb07" + integrity sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== + +optional-require@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/optional-require/-/optional-require-1.1.8.tgz#16364d76261b75d964c482b2406cb824d8ec44b7" + integrity sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA== + dependencies: + require-at "^1.0.6" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +original-require@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20" + integrity sha1-DxMEcVhM0zURxew4yNWSE/msXiA= + +os-homedir@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + +os-shim@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" + integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= + +os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +osenv@0, osenv@^0.1.4, osenv@^0.1.5, osenv@~0.1.3, osenv@~0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-fifo@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-fifo/-/p-fifo-1.0.0.tgz#e29d5cf17c239ba87f51dde98c1d26a9cfe20a63" + integrity sha512-IjoCxXW48tqdtDFz6fqo5q1UfFVjjVZe8TC1QRflvNUJtNfCUhxOUw6MOVZhDPjqhSzc26xKdugsO17gmzd5+A== + dependencies: + fast-fifo "^1.0.0" + p-defer "^3.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-is-promise@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" + integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= + dependencies: + p-finally "^1.0.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + +pacote@~2.7.38: + version "2.7.38" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-2.7.38.tgz#5091f8774298c26c3eca24606037f1bb73db74c1" + integrity sha512-XxHUyHQB7QCVBxoXeVu0yKxT+2PvJucsc0+1E+6f95lMUxEAYERgSAc71ckYXrYr35Ew3xFU/LrhdIK21GQFFA== + dependencies: + bluebird "^3.5.0" + cacache "^9.2.9" + glob "^7.1.2" + lru-cache "^4.1.1" + make-fetch-happen "^2.4.13" + minimatch "^3.0.4" + mississippi "^1.2.0" + normalize-package-data "^2.4.0" + npm-package-arg "^5.1.2" + npm-pick-manifest "^1.0.4" + osenv "^0.1.4" + promise-inflight "^1.0.1" + promise-retry "^1.1.1" + protoduck "^4.0.0" + safe-buffer "^5.1.1" + semver "^5.3.0" + ssri "^4.1.6" + tar-fs "^1.15.3" + tar-stream "^1.5.4" + unique-filename "^1.1.0" + which "^1.2.12" + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-duration@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-duration/-/parse-duration-1.0.2.tgz#b9aa7d3a1363cc7e8845bea8fd3baf8a11df5805" + integrity sha512-Dg27N6mfok+ow1a2rj/nRjtCfaKrHUZV2SJpEn/s8GaVUSlf4GGRCRP1c13Hj+wfPKVMrFDqLMLITkYKgKxyyg== + +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-headers@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" + integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== + +parse-node-version@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1, path-is-inside@~1.0.0, path-is-inside@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17, pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + integrity sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU= + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +portfinder@^1.0.25: + version "1.0.28" + resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +pre-commit@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/pre-commit/-/pre-commit-1.2.2.tgz#dbcee0ee9de7235e57f79c56d7ce94641a69eec6" + integrity sha1-287g7p3nI15X95xW186UZBpp7sY= + dependencies: + cross-spawn "^5.0.1" + spawn-sync "^1.0.15" + which "1.2.x" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks= + +pretty-hrtime@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + +printj@~1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" + integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== + +private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0, progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1, promise-inflight@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +promise-retry@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" + integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= + dependencies: + err-code "^1.0.0" + retry "^0.10.0" + +promise@^7.0.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= + dependencies: + read "1" + +prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + +protobufjs@^6.10.2: + version "6.11.2" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b" + integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + +protoduck@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-4.0.0.tgz#fe4874d8c7913366cfd9ead12453a22cd3657f8e" + integrity sha1-/kh02MeRM2bP2erRJFOiLNNlf44= + dependencies: + genfun "^4.0.1" + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.1, pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pug-attrs@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.4.tgz#b2f44c439e4eb4ad5d4ef25cac20d18ad28cc336" + integrity sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ== + dependencies: + constantinople "^3.0.1" + js-stringify "^1.0.1" + pug-runtime "^2.0.5" + +pug-code-gen@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.3.tgz#122eb9ada9b5bf601705fe15aaa0a7d26bc134ab" + integrity sha512-r9sezXdDuZJfW9J91TN/2LFbiqDhmltTFmGpHTsGdrNGp3p4SxAjjXEfnuK2e4ywYsRIVP0NeLbSAMHUcaX1EA== + dependencies: + constantinople "^3.1.2" + doctypes "^1.1.0" + js-stringify "^1.0.1" + pug-attrs "^2.0.4" + pug-error "^1.3.3" + pug-runtime "^2.0.5" + void-elements "^2.0.1" + with "^5.0.0" + +pug-error@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.3.tgz#f342fb008752d58034c185de03602dd9ffe15fa6" + integrity sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ== + +pug-filters@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-3.1.1.tgz#ab2cc82db9eeccf578bda89130e252a0db026aa7" + integrity sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg== + dependencies: + clean-css "^4.1.11" + constantinople "^3.0.1" + jstransformer "1.0.0" + pug-error "^1.3.3" + pug-walk "^1.1.8" + resolve "^1.1.6" + uglify-js "^2.6.1" + +pug-lexer@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-4.1.0.tgz#531cde48c7c0b1fcbbc2b85485c8665e31489cfd" + integrity sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA== + dependencies: + character-parser "^2.1.1" + is-expression "^3.0.0" + pug-error "^1.3.3" + +pug-linker@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.6.tgz#f5bf218b0efd65ce6670f7afc51658d0f82989fb" + integrity sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg== + dependencies: + pug-error "^1.3.3" + pug-walk "^1.1.8" + +pug-load@^2.0.12: + version "2.0.12" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.12.tgz#d38c85eb85f6e2f704dea14dcca94144d35d3e7b" + integrity sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg== + dependencies: + object-assign "^4.1.0" + pug-walk "^1.1.8" + +pug-parser@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-5.0.1.tgz#03e7ada48b6840bd3822f867d7d90f842d0ffdc9" + integrity sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA== + dependencies: + pug-error "^1.3.3" + token-stream "0.0.1" + +pug-runtime@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-2.0.5.tgz#6da7976c36bf22f68e733c359240d8ae7a32953a" + integrity sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw== + +pug-strip-comments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz#cc1b6de1f6e8f5931cf02ec66cdffd3f50eaf8a8" + integrity sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw== + dependencies: + pug-error "^1.3.3" + +pug-walk@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.8.tgz#b408f67f27912f8c21da2f45b7230c4bd2a5ea7a" + integrity sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA== + +pug@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.4.tgz#ee7682ec0a60494b38d48a88f05f3b0ac931377d" + integrity sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw== + dependencies: + pug-code-gen "^2.0.2" + pug-filters "^3.1.1" + pug-lexer "^4.1.0" + pug-linker "^3.0.6" + pug-load "^2.0.12" + pug-parser "^5.0.1" + pug-runtime "^2.0.5" + pug-strip-comments "^1.0.4" + +pump@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" + integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^2.0.0, pump@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +q@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" + integrity sha1-3QG6ydBtMObyGa7LglPunr3DCPE= + +qs@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" + integrity sha1-6eha2+ddoLvkyOBHaghikPhjtAQ= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +qs@^6.4.0: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" + +qs@~6.2.0: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + integrity sha1-HPyyXBCpsrSDBT/zn138kjOQjP4= + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + integrity sha1-E+JtKK1rD/qpExLNO/cI7TUecjM= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randomatic@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed" + integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw== + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +randomhex@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + integrity sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU= + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.0.1, rc@^1.1.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-ace@^6.5.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-6.6.0.tgz#a79457ef03c3b1f8d4fc598a003b1d6ad464f1a0" + integrity sha512-Jehhp8bxa8kqiXk07Jzy+uD5qZMBwo43O+raniGHjdX7Qk93xFkKaAz8LxtUVZPJGlRnV5ODMNj0qHwDSN+PBw== + dependencies: + "@babel/polyfill" "^7.4.4" + brace "^0.11.1" + diff-match-patch "^1.0.4" + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + prop-types "^15.7.2" + +react-docgen@^5.3.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.4.0.tgz#2cd7236720ec2769252ef0421f23250b39a153a1" + integrity sha512-JBjVQ9cahmNlfjMGxWUxJg919xBBKAoy3hgDgKERbR+BcF4ANpDuzWAScC7j27hZfd8sJNmMPOLWo9+vB/XJEQ== + dependencies: + "@babel/core" "^7.7.5" + "@babel/generator" "^7.12.11" + "@babel/runtime" "^7.7.6" + ast-types "^0.14.2" + commander "^2.19.0" + doctrine "^3.0.0" + estree-to-babel "^3.1.0" + neo-async "^2.6.1" + node-dir "^0.1.10" + strip-indent "^3.0.0" + +react-frame-component@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-4.1.3.tgz#64c09dd29574720879c5f43ee36c17d8ae74d4ec" + integrity sha512-4PurhctiqnmC1F5prPZ+LdsalH7pZ3SFA5xoc0HBe8mSHctdLLt4Cr2WXfXOoajHBYq/yiipp9zOgx+vy8GiEA== + +react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-native-fetch-api@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/react-native-fetch-api/-/react-native-fetch-api-2.0.0.tgz#c4af188b4fce3f3eaf1f1ff4e61dae1a00d4ffa0" + integrity sha512-GOA8tc1EVYLnHvma/TU9VTgLOyralO7eATRuCDchQveXW9Fr9vXygyq9iwqmM7YRZ8qRJfEt9xOS7OYMdJvRFw== + dependencies: + p-defer "^3.0.0" + +read-cmd-shim@~1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" + integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA== + dependencies: + graceful-fs "^4.1.2" + +read-installed@~4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" + integrity sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc= + dependencies: + debuglog "^1.0.1" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + semver "2 || 3 || 4 || 5" + slide "~1.1.3" + util-extend "^1.0.1" + optionalDependencies: + graceful-fs "^4.1.2" + +"read-package-json@1 || 2", read-package-json@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.2.tgz#6992b2b66c7177259feb8eaac73c3acd28b9222a" + integrity sha512-D1KmuLQr6ZSJS0tW8hf3WGpRlwszJOXZ3E8Yd/DNRaM5d+1wVRZdHlpGBLAuovjr28LbWvjpWkBHMxpRGGjzNA== + dependencies: + glob "^7.1.1" + json-parse-even-better-errors "^2.3.0" + normalize-package-data "^2.0.0" + npm-normalize-package-bin "^1.0.0" + +read-package-json@~2.0.4, read-package-json@~2.0.9: + version "2.0.13" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.13.tgz#2e82ebd9f613baa6d2ebe3aa72cefe3f68e41f4a" + integrity sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg== + dependencies: + glob "^7.1.1" + json-parse-better-errors "^1.0.1" + normalize-package-data "^2.0.0" + slash "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.2" + +read-package-tree@~5.1.6: + version "5.1.6" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.1.6.tgz#4f03e83d0486856fb60d97c94882841c2a7b1b7a" + integrity sha512-FCX1aT3GWyY658wzDICef4p+n0dB+ENRct8E/Qyvppj6xVpOYerBHfUu7OP5Rt1/393Tdglguf5ju5DEX4wZNg== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + once "^1.3.0" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + +read@1, read@~1.0.1, read@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= + dependencies: + mute-stream "~0.0.4" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.2, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@1.0.27-1: + version "1.0.27-1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" + integrity sha1-a2eYPCA1fO/QfwFlABoW1xDZEHg= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.1.10, readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" + integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdir-scoped-modules@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" + integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + +readdirp@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +realize-package-specifier@~3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz#d0def882952b8de3f67eba5e91199661271f41f4" + integrity sha1-0N74gpUrjeP2frpekRmWYScfQfQ= + dependencies: + dezalgo "^1.0.1" + npm-package-arg "^4.1.1" + +recast@^0.17.3: + version "0.17.6" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.17.6.tgz#64ae98d0d2dfb10ff92ff5fb9ffb7371823b69fa" + integrity sha512-yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ== + dependencies: + ast-types "0.12.4" + esprima "~4.0.0" + private "^0.1.8" + source-map "~0.6.1" + +receptacle@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/receptacle/-/receptacle-1.3.2.tgz#a7994c7efafc7a01d0e2041839dab6c4951360d2" + integrity sha512-HrsFvqZZheusncQRiEE7GatOAETrARKV/lnfYicIm8lbvp/JQOdADOfhjBd2DajvoszEyxSM6RlAAIZgEoeu/A== + dependencies: + ms "^2.1.1" + +reduce-component@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-component/-/reduce-component-1.0.1.tgz#e0c93542c574521bea13df0f9488ed82ab77c5da" + integrity sha1-4Mk1QsV0UhvqE98PlIjtgqt3xdo= + +reduce-extract@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/reduce-extract/-/reduce-extract-1.0.0.tgz#67f2385beda65061b5f5f4312662e8b080ca1525" + integrity sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU= + dependencies: + test-value "^1.0.1" + +reduce-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-1.0.1.tgz#258c78efd153ddf93cb561237f61184f3696e327" + integrity sha1-JYx479FT3fk8tWEjf2EYTzaW4yc= + +reduce-flatten@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-3.0.1.tgz#3db6b48ced1f4dbe4f4f5e31e422aa9ff0cd21ba" + integrity sha512-bYo+97BmUUOzg09XwfkwALt4PQH1M5L0wzKerBt6WLm3Fhdd43mMS89HiT1B9pJIqko/6lWx3OnV4J9f2Kqp5Q== + +reduce-unique@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/reduce-unique/-/reduce-unique-2.0.1.tgz#fb34b90e89297c1e08d75dcf17e9a6443ea71081" + integrity sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA== + +reduce-without@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/reduce-without/-/reduce-without-1.0.1.tgz#68ad0ead11855c9a37d4e8256c15bbf87972fc8c" + integrity sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw= + dependencies: + test-value "^2.0.0" + +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ== + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp-clone@1.0.0, regexp-clone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63" + integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +registry-auth-token@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== + dependencies: + jsesc "~0.5.0" + +remark-behead@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/remark-behead/-/remark-behead-2.3.3.tgz#536d7676e7f944433cf907e3c49d315591db74a6" + integrity sha512-quY6Of8Bwj4pgrG/Qce6a/sMMzFc0XxbfeYko+mPjOScIB+TKw3T0Y2GUcIEL8+xbQgAnCylkPQNt9haCEWK9w== + dependencies: + unist-util-find "^1.0.1" + unist-util-find-all-after "^3.0.1" + unist-util-find-all-before "^2.0.5" + unist-util-find-all-between "^2.0.0" + unist-util-visit "^2.0.3" + +remark-gfm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-1.0.0.tgz#9213643001be3f277da6256464d56fd28c3b3c0d" + integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== + dependencies: + mdast-util-gfm "^0.1.0" + micromark-extension-gfm "^0.3.0" + +remark-parse@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-9.0.0.tgz#4d20a299665880e4f4af5d90b7c7b8a935853640" + integrity sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw== + dependencies: + mdast-util-from-markdown "^0.8.0" + +remark-stringify@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" + integrity sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg== + dependencies: + mdast-util-to-markdown "^0.6.0" + +remark-toc@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-7.2.0.tgz#1c5159e9091826150db14c97ac00c2ad5a7f1523" + integrity sha512-ppHepvpbg7j5kPFmU5rzDC4k2GTcPDvWcxXyr/7BZzO1cBSPk0stKtEJdsgAyw2WHKPGxadcHIZRjb2/sHxjkg== + dependencies: + "@types/unist" "^2.0.3" + mdast-util-toc "^5.0.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.0.0, repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +replace-ext@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ= + +"request@>=2.9.0 <2.82.0", request@~2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + integrity sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA= + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +request@^2.67.0, request@^2.74.0, request@^2.79.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +request@~2.74.0: + version "2.74.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" + integrity sha1-dpPKdou7DqXIzgjAhKRe+gW4kqs= + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc4" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +require-at@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/require-at/-/require-at-1.0.6.tgz#9eb7e3c5e00727f5a4744070a7f560d4de4f6e6a" + integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +requizzle@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/requizzle/-/requizzle-0.2.3.tgz#4675c90aacafb2c036bd39ba2daa4a1cb777fded" + integrity sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ== + dependencies: + lodash "^4.17.14" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retimer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/retimer/-/retimer-2.0.0.tgz#e8bd68c5e5a8ec2f49ccb5c636db84c04063bbca" + integrity sha512-KLXY85WkEq2V2bKex/LOO1ViXVn2KGYe4PYysAdYdjmraYIUsVkXu8O4am+8+5UbaaGl1qho4aqAAPHNQ4GSbg== + +retry@^0.10.0, retry@~0.10.0, retry@~0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + integrity sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ= + dependencies: + glob "^7.0.5" + +rimraf@~2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.3, rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +saslprep@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" + integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== + dependencies: + sparse-bitfield "^3.0.3" + +scrypt-js@^3.0.0, scrypt-js@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + +secp256k1@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1" + integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg== + dependencies: + elliptic "^6.5.2" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + +secure-compare@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/secure-compare/-/secure-compare-3.0.1.tgz#f1a0329b308b221fae37b9974f3d578d0ca999e3" + integrity sha1-8aAymzCLIh+uN7mXTz1XjQypmeM= + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + +"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@5.3.0, semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8= + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto= + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" + integrity sha1-oykqNz5vPgeY2gsgZBuanFvEfhk= + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" + integrity sha1-YDCCL70smCOUn49y7WQR7lzyWq4= + dependencies: + graceful-fs "^4.1.2" + readable-stream "^2.0.2" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +should-equal@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-0.5.0.tgz#c797f135f3067feb69ebecdb306b1c3fe21b3e6f" + integrity sha1-x5fxNfMGf+tp6+zbMGscP+IbPm8= + dependencies: + should-type "0.2.0" + +should-format@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/should-format/-/should-format-0.3.1.tgz#2cbb782461670ace4292b2b1ec468db8cf99e330" + integrity sha1-LLt4JGFnCs5CkrKx7EaNuM+Z4zA= + dependencies: + should-type "0.2.0" + +should-type@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/should-type/-/should-type-0.2.0.tgz#6707ef95529d989dcc098fe0753ab1f9136bb7f6" + integrity sha1-ZwfvlVKdmJ3MCY/gdTqx+RNrt/Y= + +should@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/should/-/should-7.1.1.tgz#6464c48b6f7c1e1f18ac0483578fa2dd55c2c6e0" + integrity sha1-ZGTEi298Hh8YrASDV4+i3VXCxuA= + dependencies: + should-equal "0.5.0" + should-format "0.3.1" + should-type "0.2.0" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +sift@13.5.2: + version "13.5.2" + resolved "https://registry.yarnpkg.com/sift/-/sift-13.5.2.tgz#24a715e13c617b086166cd04917d204a591c9da6" + integrity sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^2.7.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" + integrity sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw== + dependencies: + decompress-response "^3.3.0" + once "^1.3.1" + simple-concat "^1.0.0" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +sliced@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" + integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= + +slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" + integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= + +smart-buffer@^1.0.13: + version "1.1.15" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-1.1.15.tgz#7f114b5b65fab3e2a35aa775bb12f0d1c649bf16" + integrity sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY= + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= + dependencies: + hoek "2.x.x" + +socks-proxy-agent@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz#2eae7cf8e2a82d34565761539a7f9718c5617659" + integrity sha512-ZwEDymm204mTzvdqyUqOdovVr2YRd2NYskrYrF2LXyZ9qDiMAoFESGK8CRphiO7rtbo2Y757k2Nia3x2hGtalA== + dependencies: + agent-base "^4.1.0" + socks "^1.1.10" + +socks@^1.1.10: + version "1.1.10" + resolved "https://registry.yarnpkg.com/socks/-/socks-1.1.10.tgz#5b8b7fc7c8f341c53ed056e929b7bf4de8ba7b5a" + integrity sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o= + dependencies: + ip "^1.1.4" + smart-buffer "^1.0.13" + +sort-array@^4.1.1: + version "4.1.4" + resolved "https://registry.yarnpkg.com/sort-array/-/sort-array-4.1.4.tgz#b7d83247e11e396a51bfae1796d1f6eaeddd86cf" + integrity sha512-GVFN6Y1sHKrWaSYOJTk9093ZnrBMc9sP3nuhANU44S4xg3rE6W5Z5WyamuT8VpMBbssnetx5faKCua0LEmUnSw== + dependencies: + array-back "^5.0.0" + typical "^6.0.1" + +sorted-object@~2.0.0, sorted-object@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" + integrity sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw= + +sorted-union-stream@~2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz#c7794c7e077880052ff71a8d4a2dbb4a9a638ac7" + integrity sha1-x3lMfgd4gAUv9xqNSi27Sppjisc= + dependencies: + from2 "^1.3.0" + stream-iterate "^1.1.0" + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@0.5.12: + version "0.5.12" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" + integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.16: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== + +sparse-bitfield@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" + integrity sha1-/0rm5oZWBWuks+eSqzM004JzyhE= + dependencies: + memory-pager "^1.0.2" + +spawn-sync@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" + integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= + dependencies: + concat-stream "^1.4.7" + os-shim "^0.1.2" + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + +spdx-license-ids@~1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + integrity sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc= + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^4.1.2, ssri@^4.1.6, ssri@~4.1.6: + version "4.1.6" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-4.1.6.tgz#0cb49b6ac84457e7bdd466cb730c3cb623e9a25b" + integrity sha512-WUbCdgSAMQjTFZRWvSPpauryvREEA+Krn19rx67UlJEJx/M192ZHxMmJXjZ4tkdFm+Sb0SXGlENeQVlA5wY7kA== + dependencies: + safe-buffer "^5.1.0" + +ssri@^5.0.0, ssri@^5.2.4: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06" + integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ== + dependencies: + safe-buffer "^5.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-connect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97" + integrity sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc= + dependencies: + array-back "^1.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-iterate@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" + integrity sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE= + dependencies: + readable-stream "^2.1.5" + stream-shift "^1.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +stream-to-it@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/stream-to-it/-/stream-to-it-0.2.4.tgz#d2fd7bfbd4a899b4c0d6a7e6a533723af5749bd0" + integrity sha512-4vEbkSs83OahpmBybNJXlJd7d6/RxzkkSdT3I0mnGt79Xd2Kk+e1JqbvAvsQfCeKj3aKb0QIWkyK3/n0j506vQ== + dependencies: + get-iterator "^1.0.2" + +stream-via@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/stream-via/-/stream-via-1.0.4.tgz#8dccbb0ac909328eb8bc8e2a4bd3934afdaf606c" + integrity sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-width@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== + +strip-ansi@^3.0.0, strip-ansi@^3.0.1, strip-ansi@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0, strip-ansi@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha1-DF8VX+8RUTczd96du1iNoFUA428= + dependencies: + is-hex-prefixed "1.0.0" + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +superagent@^1.7.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-1.8.5.tgz#1c0ddc3af30e80eb84ebc05cb2122da8fe940b55" + integrity sha1-HA3cOvMOgOuE68BcshItqP6UC1U= + dependencies: + component-emitter "~1.2.0" + cookiejar "2.0.6" + debug "2" + extend "3.0.0" + form-data "1.0.0-rc3" + formidable "~1.0.14" + methods "~1.1.1" + mime "1.3.4" + qs "2.3.3" + readable-stream "1.0.27-1" + reduce-component "1.0.1" + +supertest@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supertest/-/supertest-1.2.0.tgz#850a795f9068d2faf19e01799ff09962e0ce43be" + integrity sha1-hQp5X5Bo0vrxngF5n/CZYuDOQ74= + dependencies: + methods "1.x" + superagent "^1.7.2" + +supports-color@5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== + dependencies: + has-flag "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +swarm-js@^0.1.40: + version "0.1.40" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.40.tgz#b1bc7b6dcc76061f6c772203e004c11997e06b99" + integrity sha512-yqiOCEoA4/IShXkY3WKwP5PvZhmoOOD8clsKA7EEcRILMkTEYHCQ21HDCAcVpmIxZq4LyZvWeRJ6quIyHk1caA== + dependencies: + bluebird "^3.5.0" + buffer "^5.0.5" + eth-lib "^0.1.26" + fs-extra "^4.0.2" + got "^7.1.0" + mime-types "^2.1.16" + mkdirp-promise "^5.0.1" + mock-fs "^4.1.0" + setimmediate "^1.0.5" + tar "^4.0.2" + xhr-request "^1.0.1" + +table-layout@^0.4.2: + version "0.4.5" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-0.4.5.tgz#d906de6a25fa09c0c90d1d08ecd833ecedcb7378" + integrity sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw== + dependencies: + array-back "^2.0.0" + deep-extend "~0.6.0" + lodash.padend "^4.6.1" + typical "^2.6.1" + wordwrapjs "^3.0.0" + +taffydb@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" + integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg= + +tar-fs@^1.15.3: + version "1.16.3" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" + integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== + dependencies: + chownr "^1.0.1" + mkdirp "^0.5.1" + pump "^1.0.0" + tar-stream "^1.1.2" + +tar-stream@^1.1.2, tar-stream@^1.5.4: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +tar@^2.0.0, tar@~2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40" + integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA== + dependencies: + block-stream "*" + fstream "^1.0.12" + inherits "2" + +tar@^4.0.2: + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" + +temp-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-path/-/temp-path-1.0.0.tgz#24b1543973ab442896d9ad367dd9cbdbfafe918b" + integrity sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs= + +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +test-value@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-1.1.0.tgz#a09136f72ec043d27c893707c2b159bfad7de93f" + integrity sha1-oJE29y7AQ9J8iTcHwrFZv6196T8= + dependencies: + array-back "^1.0.2" + typical "^2.4.2" + +test-value@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-2.1.0.tgz#11da6ff670f3471a73b625ca4f3fdcf7bb748291" + integrity sha1-Edpv9nDzRxpztiXKTz/c97t0gpE= + dependencies: + array-back "^1.0.3" + typical "^2.6.0" + +test-value@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/test-value/-/test-value-3.0.0.tgz#9168c062fab11a86b8d444dd968bb4b73851ce92" + integrity sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ== + dependencies: + array-back "^2.0.0" + typical "^2.6.1" + +text-table@^0.2.0, text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +"through@>=2.2.7 <3": + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + +timeout-abort-controller@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/timeout-abort-controller/-/timeout-abort-controller-1.1.1.tgz#2c3c3c66f13c783237987673c276cbd7a9762f29" + integrity sha512-BsF9i3NAJag6T0ZEjki9j654zoafI2X6ayuNd6Tp8+Ul6Tr5s4jo973qFeiWrRSweqvskC+AHDKUmIW4b7pdhQ== + dependencies: + abort-controller "^3.0.0" + retimer "^2.0.0" + +tmp@0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + integrity sha1-jzirlDjhcxXl29izZX6L+yd65Kc= + dependencies: + os-tmpdir "~1.0.1" + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +token-stream@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" + integrity sha1-zu78cXp2xDFvEm0LnbqlXX598Bo= + +tough-cookie@~2.3.0: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + integrity sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA== + dependencies: + punycode "^1.4.1" + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + +truffle@5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.1.7.tgz#d1e4645e2da889920e4bc63fd1139192ec6ccc2d" + integrity sha512-caVeXdNLO/3ve5Iua0cGIb0YKcXMdKdWOuqHBkFVMMWz66jABNBgtspQRtIvmXxTcU9APTUrbPOz7VM+Tht3yw== + dependencies: + app-module-path "^2.2.0" + mocha "5.2.0" + original-require "1.0.1" + +ts-map@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff" + integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w== + +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tslib@^2.0.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= + +tunnel@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" + integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^3.2.2, typescript@^3.7.5: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typical@^2.4.2, typical@^2.6.0, typical@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" + integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0= + +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/typical/-/typical-6.0.1.tgz#89bd1a6aa5e5e96fa907fb6b7579223bff558a06" + integrity sha512-+g3NEp7fJLe9DPa1TArHm9QAA7YciZmWnfAqEaFrBihQ7epOv9i99rjtgb6Iz0wh3WuQDjsCTDfgRoGnmHN81A== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +uglify-js@^2.6.1: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-js@^3.1.4: + version "3.14.3" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" + integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g== + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= + +uid-number@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= + +uint8arrays@^2.0.5, uint8arrays@^2.1.3, uint8arrays@^2.1.5: + version "2.1.10" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-2.1.10.tgz#34d023c843a327c676e48576295ca373c56e286a" + integrity sha512-Q9/hhJa2836nQfEJSZTmr+pg9+cDJS9XEAp7N2Vg5MzL3bK/mkMVfjscRGYruP9jNda6MAdf4QD/y78gSzkp6A== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.0.0.tgz#260869efb8422418b6f04e3fac73a3908175c63b" + integrity sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA== + dependencies: + multiformats "^9.4.2" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + +umask@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +underscore@^1.9.1, underscore@~1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +unified@^9.2.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +union@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/union/-/union-0.5.0.tgz#b2c11be84f60538537b846edb9ba266ba0090075" + integrity sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA== + dependencies: + qs "^6.4.0" + +unique-filename@^1.1.0, unique-filename@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + +unist-util-find-all-after@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz#fdfecd14c5b7aea5e9ef38d5e0d5f774eeb561f6" + integrity sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ== + dependencies: + unist-util-is "^4.0.0" + +unist-util-find-all-before@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/unist-util-find-all-before/-/unist-util-find-all-before-2.0.5.tgz#8b9958ae0590fc7c53cb16053f01d39a0452b1a4" + integrity sha512-lYakZyw3trON5qbsOsmtRARZTyKcQN8pkoMKLy558Nt8WhlqGAnRSD9qLrISkMKbS+0nhj8LiebgoheUtQXOZw== + dependencies: + unist-util-is "^4.0.0" + +unist-util-find-all-between@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unist-util-find-all-between/-/unist-util-find-all-between-2.1.0.tgz#18ddb51f7abc4e22c645b4321e82ab6a6decc640" + integrity sha512-OCCUtDD8UHKeODw3TPXyFDxPCbpgBzbGTTaDpR68nvxkwiVcawBqMVrokfBMvUi7ij2F5q7S4s4Jq5dvkcBt+w== + dependencies: + unist-util-find "^1.0.1" + unist-util-is "^4.0.2" + +unist-util-find@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unist-util-find/-/unist-util-find-1.0.2.tgz#4d5b01a69fca2a382ad4f55f9865e402129ecf56" + integrity sha512-ft06UDYzqi9o9RmGP0sZWI/zvLLQiBW2/MD+rW6mDqbOWDcmknGX9orQPspfuGRYWr8eSJAmfsBcvOpfGRJseA== + dependencies: + lodash.iteratee "^4.5.0" + unist-util-visit "^1.1.0" + +unist-util-is@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" + integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== + +unist-util-is@^4.0.0, unist-util-is@^4.0.2: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + dependencies: + "@types/unist" "^2.0.2" + +unist-util-visit-parents@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" + integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== + dependencies: + unist-util-is "^3.0.0" + +unist-util-visit-parents@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + +unist-util-visit@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" + integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== + dependencies: + unist-util-visit-parents "^2.0.0" + +unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +update-notifier@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.2.0.tgz#1b5837cf90c0736d88627732b661c138f86de72f" + integrity sha1-G1g3z5DAc22IYncytmHBOPht5y8= + dependencies: + boxen "^1.0.0" + chalk "^1.0.0" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-join@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.5.tgz#5af22f18c052a000a48d7b82c5e9c2e2feeda728" + integrity sha1-WvIvGMBSoACkjXuCxenC4v7tpyg= + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + integrity sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk= + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +user-home@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= + dependencies: + os-homedir "^1.0.0" + +utf-8-validate@^5.0.2: + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + +utf8@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" + integrity sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY= + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util-extend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" + integrity sha1-p8IW0mdUUWljeztu3GypEZ4v+T8= + +util@^0.12.0: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + +uuid@^3.0.0, uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + integrity sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" + integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +v8flags@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.2.0.tgz#b243e3b4dfd731fa774e7492128109a0fe66d656" + integrity sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg== + dependencies: + homedir-polyfill "^1.0.1" + +validate-npm-package-license@^3.0.1, validate-npm-package-license@~3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +validate-npm-package-name@^3.0.0, validate-npm-package-name@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= + dependencies: + builtins "^1.0.3" + +validate-npm-package-name@~2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz#f65695b22f7324442019a3c7fa39a6e7fd299085" + integrity sha1-9laVsi9zJEQgGaPH+jmm5/0pkIU= + dependencies: + builtins "0.0.7" + +varint@^5.0.0, varint@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" + integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== + +varint@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0" + integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg== + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" + +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4= + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +void-elements@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= + +vue-docgen-api@^3.22.0: + version "3.26.0" + resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-3.26.0.tgz#2afc6a39e72862fbbc60ceb8510c681749f05460" + integrity sha512-ujdg4i5ZI/wE46RZQMFzKnDGyhEuPCu+fMA86CAd9EIek/6+OqraSVBm5ZkLrbEd5f8xxdnqMU4yiSGHHeao/Q== + dependencies: + "@babel/parser" "^7.2.3" + "@babel/types" "^7.0.0" + ast-types "^0.12.2" + hash-sum "^1.0.2" + lru-cache "^4.1.5" + pug "^2.0.3" + recast "^0.17.3" + ts-map "^1.0.3" + typescript "^3.2.2" + vue-template-compiler "^2.0.0" + +vue-template-compiler@^2.0.0: + version "2.6.14" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" + integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue2-ace-editor@^0.0.13: + version "0.0.13" + resolved "https://registry.yarnpkg.com/vue2-ace-editor/-/vue2-ace-editor-0.0.13.tgz#5528998ce2c13e8ed3a294f714298199fd107dc2" + integrity sha512-uQICyvJzYNix16xeYjNAINuNUQhPbqMR7UQsJeI+ycpEd2otsiNNU73jcZqHkpjuz0uaHDHnrpzQuI/RApsKXA== + dependencies: + brace "^0.11.0" + +walk-back@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-2.0.1.tgz#554e2a9d874fac47a8cb006bf44c2f0c4998a0a4" + integrity sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ= + +walk-back@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/walk-back/-/walk-back-4.0.0.tgz#9e4ad2bd72038f3beed2d83180f9fd40b233bfab" + integrity sha512-kudCA8PXVQfrqv2mFTG72vDBRi8BKWxGgFLwPpzHcpZnSwZk93WMwUDVcLHWNsnm+Y0AC4Vb6MUNRgaHfyV2DQ== + +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +web3-bzz@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.1.tgz#8430eb3cbb69baaee4981d190b840748c37a9ec2" + integrity sha512-JbnFNbRlwwHJZPtVuCxo7rC4U4OTg+mPsyhjgPQJJhS0a6Y54OgVWYk9UA/95HqbmTJwTtX329gJoSsseEfrng== + dependencies: + "@types/node" "^12.12.6" + got "9.6.0" + swarm-js "^0.1.40" + +web3-core-helpers@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b" + integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng== + dependencies: + web3-eth-iban "1.6.1" + web3-utils "1.6.1" + +web3-core-method@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.1.tgz#4ae91c639bf1da85ebfd8b99595da6a2235d7b98" + integrity sha512-szH5KyIWIaULQDBdDvevQUCHV9lsExJ/oV0ePqK+w015D2SdMPMuhii0WB+HCePaksWO+rr/GAypvV9g2T3N+w== + dependencies: + "@ethersproject/transactions" "^5.0.0-beta.135" + web3-core-helpers "1.6.1" + web3-core-promievent "1.6.1" + web3-core-subscriptions "1.6.1" + web3-utils "1.6.1" + +web3-core-promievent@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.1.tgz#f650dea9361e2edf02691015b213fcc8ea499992" + integrity sha512-byJ5s2MQxrWdXd27pWFmujfzsTZK4ik8rDgIV1RFDFc+rHZ2nZhq+VWk7t/Nkrj7EaVXncEgTdPEHc18nx+ocQ== + dependencies: + eventemitter3 "4.0.4" + +web3-core-requestmanager@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.1.tgz#d9c08b0716c9cda546a0c02767b7e08deb04448a" + integrity sha512-4y7etYEUtkfflyYVBfN1oJtCbVFNhNX1omlEYzezhTnPj3/dT7n+dhUXcqvIhx9iKA13unGfpFge80XNFfcB8A== + dependencies: + util "^0.12.0" + web3-core-helpers "1.6.1" + web3-providers-http "1.6.1" + web3-providers-ipc "1.6.1" + web3-providers-ws "1.6.1" + +web3-core-subscriptions@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.1.tgz#4dfc1f74137354d4ac9eaa628aa916c5e2cc8741" + integrity sha512-WZwxsYttIojyGQ5RqxuQcKg0IJdDCFpUe4EncS3QKZwxPqWzGmgyLwE0rm7tP+Ux1waJn5CUaaoSCBxWGSun1g== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.6.1" + +web3-core@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.1.tgz#b41f08fdc9ea1082d15384a3d6fa93a47c3fc1b4" + integrity sha512-m+b7UfYvU5cQUAh6NRfxRzH/5B3to1AdEQi1HIQt570cDWlObOOmoO9tY6iJnI5w4acxIO19LqjDMqEJGBYyRQ== + dependencies: + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" + bignumber.js "^9.0.0" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-requestmanager "1.6.1" + web3-utils "1.6.1" + +web3-eth-abi@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.1.tgz#15b937e3188570754d50bbac51a4bb0578600d1d" + integrity sha512-svhYrAlXP9XQtV7poWKydwDJq2CaNLMtmKydNXoOBLcQec6yGMP+v20pgrxF2H6wyTK+Qy0E3/5ciPOqC/VuoQ== + dependencies: + "@ethersproject/abi" "5.0.7" + web3-utils "1.6.1" + +web3-eth-accounts@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.1.tgz#aeb0dfb52c4391773550569732975b471212583f" + integrity sha512-rGn3jwnuOKwaQRu4SiShz0YAQ87aVDBKs4HO43+XTCI1q1Y1jn3NOsG3BW9ZHaOckev4+zEyxze/Bsh2oEk24w== + dependencies: + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.2" + crypto-browserify "3.12.0" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" + scrypt-js "^3.0.1" + uuid "3.3.2" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-utils "1.6.1" + +web3-eth-contract@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.1.tgz#4b0a2c0b37015d70146e54c7cb3f035a58fbeec0" + integrity sha512-GXqTe3mF6kpbOAakiNc7wtJ120/gpuKMTZjuGFKeeY8aobRLfbfgKzM9IpyqVZV2v5RLuGXDuurVN2KPgtu3hQ== + dependencies: + "@types/bn.js" "^4.11.5" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-promievent "1.6.1" + web3-core-subscriptions "1.6.1" + web3-eth-abi "1.6.1" + web3-utils "1.6.1" + +web3-eth-ens@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.1.tgz#801bd5fb5237377ec2ed8517a9fe4634f2269c7a" + integrity sha512-ngprtbnoRgxg8s1wXt9nXpD3h1P+p7XnKXrp/8GdFI9uDmrbSQPRfzBw86jdZgOmy78hAnWmrHI6pBInmgi2qQ== + dependencies: + content-hash "^2.5.2" + eth-ens-namehash "2.0.8" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-promievent "1.6.1" + web3-eth-abi "1.6.1" + web3-eth-contract "1.6.1" + web3-utils "1.6.1" + +web3-eth-iban@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6" + integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q== + dependencies: + bn.js "^4.11.9" + web3-utils "1.6.1" + +web3-eth-personal@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.1.tgz#9b524fb9f92b51163f46920ee2663d34a4897c8d" + integrity sha512-ItsC89Ln02+irzJjK6ALcLrMZfbVUCqVbmb/ieDKJ+eLW3pNkBNwoUzaydh92d5NzxNZgNxuQWVdlFyYX2hkEw== + dependencies: + "@types/node" "^12.12.6" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-net "1.6.1" + web3-utils "1.6.1" + +web3-eth@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.1.tgz#a25aba1ac213d872ecf3f81c7b4ab8072ecae224" + integrity sha512-kOV1ZgCKypSo5BQyltRArS7ZC3bRpIKAxSgzl7pUFinUb/MxfbM9KGeNxUXoCfTSErcCQJaDjcS6bSre5EMKuQ== + dependencies: + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-subscriptions "1.6.1" + web3-eth-abi "1.6.1" + web3-eth-accounts "1.6.1" + web3-eth-contract "1.6.1" + web3-eth-ens "1.6.1" + web3-eth-iban "1.6.1" + web3-eth-personal "1.6.1" + web3-net "1.6.1" + web3-utils "1.6.1" + +web3-net@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.1.tgz#7a630a804ec9f81908ae52ccbb4ebbb9530b3906" + integrity sha512-gpnqKEIwfUHh5ik7wsQFlCje1DfcmGv+Sk7LCh1hCqn++HEDQxJ/mZCrMo11ZZpZHCH7c87imdxTg96GJnRxDw== + dependencies: + web3-core "1.6.1" + web3-core-method "1.6.1" + web3-utils "1.6.1" + +web3-providers-http@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.1.tgz#b59b14eefef23b98c327806f5f566303a73bd435" + integrity sha512-xBoKOJxu10+kO3ikamXmBfrWZ/xpQOGy0ocdp7Y81B17En5TXELwlmMXt1UlIgWiyYDhjq4OwlH/VODYqHXy3A== + dependencies: + web3-core-helpers "1.6.1" + xhr2-cookies "1.1.0" + +web3-providers-ipc@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.1.tgz#7ba460589d46896bb3d124288deed1b6a72d517e" + integrity sha512-anyoIZlpMzwEQI4lwylTzDrHsVp20v0QUtSTp2B5jInBinmQtyCE7vnbX20jEQ4j5uPwfJabKNtoJsk6a3O4WQ== + dependencies: + oboe "2.1.5" + web3-core-helpers "1.6.1" + +web3-providers-ws@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.1.tgz#f7ee71f158971102b865e99ea7911f483e0507e9" + integrity sha512-FWMEFYb4rYFYRgSFBf/O1Ex4p/YKSlN+JydCtdlJwRimd89qm95CTfs4xGjCskwvXMjV2sarH+f1NPwJXicYpg== + dependencies: + eventemitter3 "4.0.4" + web3-core-helpers "1.6.1" + websocket "^1.0.32" + +web3-shh@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.1.tgz#eebaab2e5e6be80fe2585c6c094fa10a03349ca7" + integrity sha512-oP00HbAtybLCGlLOZUYXOdeB9xq88k2l0TtStvKBtmFqRt+zVk5TxEeuOnVPRxNhcA2Un8RUw6FtvgZlWStu9A== + dependencies: + web3-core "1.6.1" + web3-core-method "1.6.1" + web3-core-subscriptions "1.6.1" + web3-net "1.6.1" + +web3-utils@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca" + integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w== + dependencies: + bn.js "^4.11.9" + ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + +web3@^0.18.4: + version "0.18.4" + resolved "https://registry.yarnpkg.com/web3/-/web3-0.18.4.tgz#81ec1784145491f2eaa8955b31c06049e07c5e7d" + integrity sha1-gewXhBRUkfLqqJVbMcBgSeB8Xn0= + dependencies: + bignumber.js "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" + crypto-js "^3.1.4" + utf8 "^2.1.1" + xhr2 "*" + xmlhttprequest "*" + +web3@^1.3.6: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.1.tgz#c9e68fe7b3073adddf35393441f950ec69b92735" + integrity sha512-c299lLiyb2/WOcxh7TinwvbATaMmrgNIeAzbLbmOKHI0LcwyfsB1eu2ReOIrfrCYDYRW2KAjYr7J7gHawqDNPQ== + dependencies: + web3-bzz "1.6.1" + web3-core "1.6.1" + web3-eth "1.6.1" + web3-eth-personal "1.6.1" + web3-net "1.6.1" + web3-shh "1.6.1" + web3-utils "1.6.1" + +websocket@^1.0.32: + version "1.0.34" + resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" + integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== + dependencies: + bufferutil "^4.0.1" + debug "^2.2.0" + es5-ext "^0.10.50" + typedarray-to-buffer "^3.1.5" + utf-8-validate "^5.0.2" + yaeti "^0.0.6" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which-typed-array@^1.1.2: + version "1.1.7" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" + foreach "^2.0.5" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.7" + +which@1, which@^1.2.12, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@1.2.x, which@~1.2.11, which@~1.2.14: + version "1.2.14" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + integrity sha1-mofEN48D6CfOyvGs31bHNsAcFOU= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= + +with@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe" + integrity sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4= + dependencies: + acorn "^3.1.0" + acorn-globals "^3.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= + +wordwrap@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= + +wordwrapjs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-3.0.0.tgz#c94c372894cadc6feb1a66bff64e1d9af92c5d1e" + integrity sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw== + dependencies: + reduce-flatten "^1.0.1" + typical "^2.6.1" + +worker-farm@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.3.1.tgz#4333112bb49b17aa050b87895ca6b2cacf40e5ff" + integrity sha1-QzMRK7SbF6oFC4eJXKayys9A5f8= + dependencies: + errno ">=0.1.1 <0.2.0-0" + xtend ">=4.0.0 <4.1.0-0" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1, wrappy@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.1.4.tgz#b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b" + integrity sha1-sfUtwujcDjywTRh6JfdYo4qQyjs= + dependencies: + graceful-fs "^4.1.2" + imurmurhash "^0.1.4" + slide "^1.1.5" + +write-file-atomic@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.1.0.tgz#1769f4b551eedce419f0505deae2e26763542d37" + integrity sha512-0TZ20a+xcIl4u0+Mj5xDH2yOWdmQiXlKf9Hm+TgDXjTMsEYb+gDrmb8e8UNAzMCitX8NBqG4Z/FUQIyzv/R1JQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + slide "^1.1.5" + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + +xhr-request-promise@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" + integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== + dependencies: + xhr-request "^1.1.0" + +xhr-request@^1.0.1, xhr-request@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" + integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== + dependencies: + buffer-to-arraybuffer "^0.0.5" + object-assign "^4.1.1" + query-string "^5.0.1" + simple-get "^2.7.0" + timed-out "^4.0.1" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr2-cookies@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" + integrity sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg= + dependencies: + cookiejar "^2.1.1" + +xhr2@*: + version "0.2.1" + resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.2.1.tgz#4e73adc4f9cfec9cbd2157f73efdce3a5f108a93" + integrity sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw== + +xhr@^2.0.4, xhr@^2.3.3: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xmlcreate@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/xmlcreate/-/xmlcreate-2.0.4.tgz#0c5ab0f99cdd02a81065fa9cd8f8ae87624889be" + integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== + +xmlhttprequest@*: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yaeti@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" + integrity sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc= + +yallist@^2.0.0, yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.0, yallist@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^13.1.0: + version "13.1.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2, yargs-parser@^20.2.7: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@13.2.4: + version "13.2.4" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" + integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + os-locale "^3.1.0" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.0" + +yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==